From: Dafna Hirschfeld Date: Wed, 19 Feb 2020 15:25:54 +0000 (+0100) Subject: media: v4l2-core: fix a use-after-free bug of sd->devnode X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=6990570f7e0a6078e11b9c5dc13f4b6e3f49a398;p=linux.git media: v4l2-core: fix a use-after-free bug of sd->devnode sd->devnode is released after calling v4l2_subdev_release. Therefore it should be set to NULL so that the subdev won't hold a pointer to a released object. This fixes a reference after free bug in function v4l2_device_unregister_subdev Fixes: 0e43734d4c46e ("media: v4l2-subdev: add release() internal op") Cc: stable@vger.kernel.org Signed-off-by: Dafna Hirschfeld Reviewed-by: Ezequiel Garcia Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab --- diff --git a/drivers/media/v4l2-core/v4l2-device.c b/drivers/media/v4l2-core/v4l2-device.c index 63d6b147b21e1..41da73ce2e98f 100644 --- a/drivers/media/v4l2-core/v4l2-device.c +++ b/drivers/media/v4l2-core/v4l2-device.c @@ -179,6 +179,7 @@ static void v4l2_subdev_release(struct v4l2_subdev *sd) if (sd->internal_ops && sd->internal_ops->release) sd->internal_ops->release(sd); + sd->devnode = NULL; module_put(owner); }