Files
linux/drivers
Mauro Carvalho Chehab a087ce704b [media] media-device: dynamically allocate struct media_devnode
struct media_devnode is currently embedded at struct media_device.

While this works fine during normal usage, it leads to a race
condition during devnode unregister. the problem is that drivers
assume that, after calling media_device_unregister(), the struct
that contains media_device can be freed. This is not true, as it
can't be freed until userspace closes all opened /dev/media devnodes.

In other words, if the media devnode is still open, and media_device
gets freed, any call to an ioctl will make the core to try to access
struct media_device, with will cause an use-after-free and even GPF.

Fix this by dynamically allocating the struct media_devnode and only
freeing it when it is safe.

Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-06-15 17:57:24 -03:00
..
2016-05-27 15:26:11 -07:00
2016-05-27 15:26:11 -07:00
2016-05-27 15:26:11 -07:00
2016-05-27 15:26:11 -07:00
2016-05-03 11:22:10 +09:00
2016-05-27 15:26:11 -07:00
2016-05-27 15:26:11 -07:00
2016-05-27 15:26:11 -07:00
2016-05-28 17:37:42 +02:00
2016-05-27 15:26:11 -07:00
2016-05-27 15:26:11 -07:00
2016-05-27 15:26:11 -07:00
2016-05-27 15:26:11 -07:00
2016-05-27 15:26:11 -07:00
2016-04-30 13:56:46 -07:00
2016-05-20 18:33:37 -07:00
2016-04-30 14:15:56 -07:00
2016-05-27 15:26:11 -07:00
2016-05-01 14:11:12 -07:00
2016-05-10 01:19:26 -07:00
2016-05-27 15:26:11 -07:00