]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
media: v4l2-async: Safely clean up an uninitialised notifier
authorSakari Ailus <sakari.ailus@linux.intel.com>
Mon, 4 Mar 2019 09:29:49 +0000 (04:29 -0500)
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>
Thu, 25 Jul 2019 15:00:06 +0000 (11:00 -0400)
Make the V4L2 async framework a bit more robust by allowing to clean up an
uninitialised notifier. Otherwise the result would be a (close to) NULL
pointer dereference.

Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Tested-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
drivers/media/v4l2-core/v4l2-async.c

index dc4f470ea6a7d30caaa01c4cc9a7cb1b2c0544bb..8bde33c21ce45f98ada68059362f97a98755ffab 100644 (file)
@@ -534,7 +534,7 @@ static void __v4l2_async_notifier_cleanup(struct v4l2_async_notifier *notifier)
 {
        struct v4l2_async_subdev *asd, *tmp;
 
-       if (!notifier)
+       if (!notifier || !notifier->asd_list.next)
                return;
 
        list_for_each_entry_safe(asd, tmp, &notifier->asd_list, asd_list) {