media: i2c: max9286: fix access to unallocated memory
authorTomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Mon, 18 Jan 2021 08:14:46 +0000 (09:14 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 4 Mar 2021 10:38:33 +0000 (11:38 +0100)
commit e88ccf09e79cf33cac40316ba69c820d9eebc82b upstream.

The asd allocated with v4l2_async_notifier_add_fwnode_subdev() must be
of size max9286_asd, otherwise access to max9286_asd->source will go to
unallocated memory.

Fixes: 86d37bf31af6 ("media: i2c: max9286: Allocate v4l2_async_subdev dynamically")
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Cc: stable@vger.kernel.org # v5.10+
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
Tested-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/media/i2c/max9286.c

index c82c149..b1e2476 100644 (file)
@@ -580,7 +580,7 @@ static int max9286_v4l2_notifier_register(struct max9286_priv *priv)
 
                asd = v4l2_async_notifier_add_fwnode_subdev(&priv->notifier,
                                                            source->fwnode,
-                                                           sizeof(*asd));
+                                                           sizeof(struct max9286_asd));
                if (IS_ERR(asd)) {
                        dev_err(dev, "Failed to add subdev for source %u: %ld",
                                i, PTR_ERR(asd));