diff options
author | Mauro Carvalho Chehab <mchehab@osg.samsung.com> | 2015-12-15 08:01:13 -0200 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@osg.samsung.com> | 2016-01-11 12:19:14 -0200 |
commit | cc4a82581cb604444b0f9f2e7d999624964695e2 (patch) | |
tree | bd0e2f7ef813fe7c73acef2b27d795ca0d9fa945 /drivers/media/media-device.c | |
parent | 5c883edb5b2c34e96e57037c95f9a72c4feccc50 (diff) |
[media] media-entity: cache media_device on object removal
As pointed by Dan, the commit f8fd4c61b5ae ("[media] media-entity:
protect object creation/removal using spin lock")' leads to the
following static checker warning:
drivers/media/media-entity.c:781 media_remove_intf_link()
error: dereferencing freed memory 'link'
drivers/media/media-entity.c
777 void media_remove_intf_link(struct media_link *link)
778 {
779 spin_lock(&link->graph_obj.mdev->lock);
780 __media_remove_intf_link(link);
781 spin_unlock(&link->graph_obj.mdev->lock);
In practice, I didn't see any troubles even with KASAN enabled. I guess
gcc optimizer internally cached the mdev reference, instead of getting
it twice. Yet, it is a very bad idea to rely on such optimization. So,
let's fix the code.
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Diffstat (limited to 'drivers/media/media-device.c')
0 files changed, 0 insertions, 0 deletions