Patch "media: nxp: imx8-isi: Check whether crossbar pad is non-NULL before access" has been added to the 6.8-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    media: nxp: imx8-isi: Check whether crossbar pad is non-NULL before access

to the 6.8-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     media-nxp-imx8-isi-check-whether-crossbar-pad-is-non.patch
and it can be found in the queue-6.8 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 9dfc2364d47afc811ffc83eab051f4e7b2ac1889
Author: Marek Vasut <marex@xxxxxxx>
Date:   Fri Dec 1 16:06:04 2023 +0100

    media: nxp: imx8-isi: Check whether crossbar pad is non-NULL before access
    
    [ Upstream commit eb2f932100288dbb881eadfed02e1459c6b9504c ]
    
    When translating source to sink streams in the crossbar subdev, the
    driver tries to locate the remote subdev connected to the sink pad. The
    remote pad may be NULL, if userspace tries to enable a stream that ends
    at an unconnected crossbar sink. When that occurs, the driver
    dereferences the NULL pad, leading to a crash.
    
    Prevent the crash by checking if the pad is NULL before using it, and
    return an error if it is.
    
    Cc: stable@xxxxxxxxxxxxxxx # 6.1
    Fixes: cf21f328fcaf ("media: nxp: Add i.MX8 ISI driver")
    Signed-off-by: Marek Vasut <marex@xxxxxxx>
    Reviewed-by: Kieran Bingham <kieran.bingham@xxxxxxxxxxxxxxxx>
    Reviewed-by: Fabio Estevam <festevam@xxxxxxxxx>
    Reviewed-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
    Link: https://lore.kernel.org/r/20231201150614.63300-1-marex@xxxxxxx
    Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
    Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx>
    Signed-off-by: Hans Verkuil <hverkuil-cisco@xxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c b/drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c
index 575f173373887..1bb1334ec6f2b 100644
--- a/drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c
+++ b/drivers/media/platform/nxp/imx8-isi/imx8-isi-crossbar.c
@@ -160,8 +160,14 @@ mxc_isi_crossbar_xlate_streams(struct mxc_isi_crossbar *xbar,
 	}
 
 	pad = media_pad_remote_pad_first(&xbar->pads[sink_pad]);
-	sd = media_entity_to_v4l2_subdev(pad->entity);
+	if (!pad) {
+		dev_dbg(xbar->isi->dev,
+			"no pad connected to crossbar input %u\n",
+			sink_pad);
+		return ERR_PTR(-EPIPE);
+	}
 
+	sd = media_entity_to_v4l2_subdev(pad->entity);
 	if (!sd) {
 		dev_dbg(xbar->isi->dev,
 			"no entity connected to crossbar input %u\n",




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux