diff options
| author | Nikhil Devshatwar <[email protected]> | 2016-11-18 21:20:35 -0200 |
|---|---|---|
| committer | Mauro Carvalho Chehab <[email protected]> | 2016-11-22 08:07:28 -0200 |
| commit | c786595beb89d74ff709b2ee382f34a1e0040d88 (patch) | |
| tree | c6fb4a1e79b33c750f9e3f78b4b714df06f7eb66 /tools/perf/scripts/python/stackcollapse.py | |
| parent | dfe1349dc805aa3113e6fba9db55761d24ce63fe (diff) | |
[media] media: ti-vpe: vpdma: Fix race condition for firmware loading
vpdma_create API is supposed to allocated the struct vpdma_data and
return it to the driver. Also, it would call the callback function
when the VPDMA firmware is loaded.
Typically, VPE driver have following function call:
dev->vpdma = vpdma_create(pdev, firmware_load_callback);
And the callback implementation would continue the probe further.
Also, the dev->vpdma is accessed from the callback implementation.
This may lead to race condition between assignment of dev->vpdma
and the callback function being triggered.
This would lead to kernel crash because of NULL pointer access.
Fix this by passing a driver wrapped &vpdma_data instead of allocating
inside vpdma_create.
Change the vpdma_create prototype accordingly and fix return paths.
Also, update the VPE driver to use the updated API and
initialize the dev->vpdma before hand so that the race condition
is avoided.
Signed-off-by: Nikhil Devshatwar <[email protected]>
Signed-off-by: Benoit Parrot <[email protected]>
Signed-off-by: Hans Verkuil <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python/stackcollapse.py')
0 files changed, 0 insertions, 0 deletions