From: Greg Kroah-Hartman Date: Fri, 15 May 2026 05:54:22 +0000 (+0200) Subject: 5.10-stable patches X-Git-Tag: v5.10.256~33 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=57ed6288983b26107f813770da31f82059d5b31b;p=thirdparty%2Fkernel%2Fstable-queue.git 5.10-stable patches added patches: media-rc-streamzap-error-handling-in-probe.patch media-rc-xbox_remote-heed-dma-restrictions.patch media-uvcvideo-enable-vb2_dmabuf-for-metadata-stream.patch regulator-act8945a-fix-of-node-reference-imbalance.patch regulator-max77650-fix-of-node-reference-imbalance.patch staging-media-atomisp-disallow-all-private-ioctls.patch --- diff --git a/queue-5.10/media-rc-streamzap-error-handling-in-probe.patch b/queue-5.10/media-rc-streamzap-error-handling-in-probe.patch new file mode 100644 index 0000000000..d902ef2fca --- /dev/null +++ b/queue-5.10/media-rc-streamzap-error-handling-in-probe.patch @@ -0,0 +1,54 @@ +From 42844992664f03ef9f930e64f7370fa481e9c267 Mon Sep 17 00:00:00 2001 +From: Oliver Neukum +Date: Wed, 11 Feb 2026 19:06:21 +0100 +Subject: media: rc: streamzap: Error handling in probe + +From: Oliver Neukum + +commit 42844992664f03ef9f930e64f7370fa481e9c267 upstream. + +If submitting the URB fails, the device will be unusable. +Probe() must fail. + +Fixes: 7a569f524dd36 ("V4L/DVB: IR/streamzap: functional in-kernel decoding") +Cc: stable@vger.kernel.org +Signed-off-by: Oliver Neukum +Signed-off-by: Sean Young +Signed-off-by: Hans Verkuil +Signed-off-by: Greg Kroah-Hartman +--- + drivers/media/rc/streamzap.c | 12 ++++++++---- + 1 file changed, 8 insertions(+), 4 deletions(-) + +--- a/drivers/media/rc/streamzap.c ++++ b/drivers/media/rc/streamzap.c +@@ -255,9 +255,8 @@ static void streamzap_callback(struct ur + case -ESHUTDOWN: + /* + * this urb is terminated, clean up. +- * sz might already be invalid at this point + */ +- dev_err(sz->dev, "urb terminated, status: %d\n", urb->status); ++ dev_dbg(sz->dev, "urb terminated, status: %d\n", urb->status); + return; + default: + break; +@@ -398,11 +397,16 @@ static int streamzap_probe(struct usb_in + + usb_set_intfdata(intf, sz); + +- if (usb_submit_urb(sz->urb_in, GFP_ATOMIC)) ++ retval = usb_submit_urb(sz->urb_in, GFP_ATOMIC); ++ if (retval < 0) { + dev_err(sz->dev, "urb submit failed\n"); ++ goto rc_submit_fail; ++ } + + return 0; +- ++rc_submit_fail: ++ rc_free_device(sz->rdev); ++ usb_set_intfdata(intf, NULL); + rc_dev_fail: + usb_free_urb(sz->urb_in); + free_buf_in: diff --git a/queue-5.10/media-rc-xbox_remote-heed-dma-restrictions.patch b/queue-5.10/media-rc-xbox_remote-heed-dma-restrictions.patch new file mode 100644 index 0000000000..bdaf17db68 --- /dev/null +++ b/queue-5.10/media-rc-xbox_remote-heed-dma-restrictions.patch @@ -0,0 +1,61 @@ +From e280d1e5e3f2595bbb43fe6e1bce00c59a43c0ff Mon Sep 17 00:00:00 2001 +From: Oliver Neukum +Date: Wed, 11 Feb 2026 19:09:44 +0100 +Subject: media: rc: xbox_remote: heed DMA restrictions + +From: Oliver Neukum + +commit e280d1e5e3f2595bbb43fe6e1bce00c59a43c0ff upstream. + +The buffer for IO must not be part of the device structure +because that violates the DMA coherency rules. + +Fixes: 02d32bdad3123 ("media: rc: add driver for Xbox DVD Movie Playback Kit") +Cc: stable@vger.kernel.org +Signed-off-by: Oliver Neukum +Signed-off-by: Sean Young +Signed-off-by: Hans Verkuil +Signed-off-by: Greg Kroah-Hartman +--- + drivers/media/rc/xbox_remote.c | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +--- a/drivers/media/rc/xbox_remote.c ++++ b/drivers/media/rc/xbox_remote.c +@@ -55,7 +55,7 @@ struct xbox_remote { + struct usb_interface *interface; + + struct urb *irq_urb; +- unsigned char inbuf[DATA_BUFSIZE] __aligned(sizeof(u16)); ++ u8 *inbuf; + + char rc_name[NAME_BUFSIZE]; + char rc_phys[NAME_BUFSIZE]; +@@ -220,6 +220,10 @@ static int xbox_remote_probe(struct usb_ + if (!xbox_remote || !rc_dev) + goto exit_free_dev_rdev; + ++ xbox_remote->inbuf = kzalloc(DATA_BUFSIZE, GFP_KERNEL); ++ if (!xbox_remote->inbuf) ++ goto exit_free_inbuf; ++ + /* Allocate URB buffer */ + xbox_remote->irq_urb = usb_alloc_urb(0, GFP_KERNEL); + if (!xbox_remote->irq_urb) +@@ -266,6 +270,8 @@ exit_kill_urbs: + usb_kill_urb(xbox_remote->irq_urb); + exit_free_buffers: + usb_free_urb(xbox_remote->irq_urb); ++exit_free_inbuf: ++ kfree(xbox_remote->inbuf); + exit_free_dev_rdev: + rc_free_device(rc_dev); + kfree(xbox_remote); +@@ -290,6 +296,7 @@ static void xbox_remote_disconnect(struc + usb_kill_urb(xbox_remote->irq_urb); + rc_unregister_device(xbox_remote->rdev); + usb_free_urb(xbox_remote->irq_urb); ++ kfree(xbox_remote->inbuf); + kfree(xbox_remote); + } + diff --git a/queue-5.10/media-uvcvideo-enable-vb2_dmabuf-for-metadata-stream.patch b/queue-5.10/media-uvcvideo-enable-vb2_dmabuf-for-metadata-stream.patch new file mode 100644 index 0000000000..31bcec08ab --- /dev/null +++ b/queue-5.10/media-uvcvideo-enable-vb2_dmabuf-for-metadata-stream.patch @@ -0,0 +1,51 @@ +From fbac03467e53d8d72e5099c03df26d9adae11416 Mon Sep 17 00:00:00 2001 +From: Ricardo Ribalda +Date: Mon, 9 Mar 2026 15:01:54 +0000 +Subject: media: uvcvideo: Enable VB2_DMABUF for metadata stream + +From: Ricardo Ribalda + +commit fbac03467e53d8d72e5099c03df26d9adae11416 upstream. + +The UVC driver has two video streams, one for the frames and another one +for the metadata. Both streams share most of the codebase, but only the +data stream declares support for DMABUF transfer mode. + +I have tried the DMABUF transfer mode with CONFIG_DMABUF_HEAPS_SYSTEM +and the frames looked correct. + +This patch announces the support for DMABUF for the metadata stream. +This is useful for apps/HALs that only want to support DMABUF. + +Cc: stable@vger.kernel.org +Fixes: 088ead2552458 ("media: uvcvideo: Add a metadata device node") +Signed-off-by: Ricardo Ribalda +Reviewed-by: Laurent Pinchart +Reviewed-by: Hans de Goede +Link: https://patch.msgid.link/20260309-uvc-metadata-dmabuf-v1-1-fc8b87bd29c5@chromium.org +Signed-off-by: Laurent Pinchart +Signed-off-by: Hans Verkuil +Signed-off-by: Greg Kroah-Hartman +--- + drivers/media/usb/uvc/uvc_queue.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +--- a/drivers/media/usb/uvc/uvc_queue.c ++++ b/drivers/media/usb/uvc/uvc_queue.c +@@ -222,7 +222,7 @@ int uvc_queue_init(struct uvc_video_queu + int ret; + + queue->queue.type = type; +- queue->queue.io_modes = VB2_MMAP | VB2_USERPTR; ++ queue->queue.io_modes = VB2_MMAP | VB2_USERPTR | VB2_DMABUF; + queue->queue.drv_priv = queue; + queue->queue.buf_struct_size = sizeof(struct uvc_buffer); + queue->queue.mem_ops = &vb2_vmalloc_memops; +@@ -235,7 +235,6 @@ int uvc_queue_init(struct uvc_video_queu + queue->queue.ops = &uvc_meta_queue_qops; + break; + default: +- queue->queue.io_modes |= VB2_DMABUF; + queue->queue.ops = &uvc_queue_qops; + break; + } diff --git a/queue-5.10/regulator-act8945a-fix-of-node-reference-imbalance.patch b/queue-5.10/regulator-act8945a-fix-of-node-reference-imbalance.patch new file mode 100644 index 0000000000..8b48bff340 --- /dev/null +++ b/queue-5.10/regulator-act8945a-fix-of-node-reference-imbalance.patch @@ -0,0 +1,40 @@ +From 0d15ce31375ccef4162f960b34547a821b7619d2 Mon Sep 17 00:00:00 2001 +From: Johan Hovold +Date: Wed, 8 Apr 2026 09:30:54 +0200 +Subject: regulator: act8945a: fix OF node reference imbalance + +From: Johan Hovold + +commit 0d15ce31375ccef4162f960b34547a821b7619d2 upstream. + +The driver reuses the OF node of the parent multi-function device but +fails to take another reference to balance the one dropped by the +platform bus code when unbinding the MFD and deregistering the child +devices. + +Fix this by using the intended helper for reusing OF nodes. + +Fixes: 38c09961048b ("regulator: act8945a: add regulator driver for ACT8945A") +Cc: stable@vger.kernel.org # 4.6 +Cc: Wenyou Yang +Signed-off-by: Johan Hovold +Link: https://patch.msgid.link/20260408073055.5183-7-johan@kernel.org +Signed-off-by: Mark Brown +Signed-off-by: Greg Kroah-Hartman +--- + drivers/regulator/act8945a-regulator.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +--- a/drivers/regulator/act8945a-regulator.c ++++ b/drivers/regulator/act8945a-regulator.c +@@ -302,8 +302,9 @@ static int act8945a_pmic_probe(struct pl + num_regulators = ARRAY_SIZE(act8945a_regulators); + } + ++ device_set_of_node_from_dev(&pdev->dev, pdev->dev.parent); ++ + config.dev = &pdev->dev; +- config.dev->of_node = pdev->dev.parent->of_node; + config.driver_data = act8945a; + for (i = 0; i < num_regulators; i++) { + rdev = devm_regulator_register(&pdev->dev, ®ulators[i], diff --git a/queue-5.10/regulator-max77650-fix-of-node-reference-imbalance.patch b/queue-5.10/regulator-max77650-fix-of-node-reference-imbalance.patch new file mode 100644 index 0000000000..78598551b0 --- /dev/null +++ b/queue-5.10/regulator-max77650-fix-of-node-reference-imbalance.patch @@ -0,0 +1,38 @@ +From 2edaf5f7ada0ab5c9ec1f0836bd19779a8d85262 Mon Sep 17 00:00:00 2001 +From: Johan Hovold +Date: Wed, 8 Apr 2026 09:30:51 +0200 +Subject: regulator: max77650: fix OF node reference imbalance + +From: Johan Hovold + +commit 2edaf5f7ada0ab5c9ec1f0836bd19779a8d85262 upstream. + +The driver reuses the OF node of the parent multi-function device but +fails to take another reference to balance the one dropped by the +platform bus code when unbinding the MFD and deregistering the child +devices. + +Fix this by using the intended helper for reusing OF nodes. + +Fixes: bcc61f1c44fd ("regulator: max77650: add regulator support") +Cc: stable@vger.kernel.org # 5.1 +Reviewed-by: Bartosz Golaszewski +Signed-off-by: Johan Hovold +Link: https://patch.msgid.link/20260408073055.5183-4-johan@kernel.org +Signed-off-by: Mark Brown +Signed-off-by: Greg Kroah-Hartman +--- + drivers/regulator/max77650-regulator.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/regulator/max77650-regulator.c ++++ b/drivers/regulator/max77650-regulator.c +@@ -339,7 +339,7 @@ static int max77650_regulator_probe(stru + parent = dev->parent; + + if (!dev->of_node) +- dev->of_node = parent->of_node; ++ device_set_of_node_from_dev(dev, parent); + + rdescs = devm_kcalloc(dev, MAX77650_REGULATOR_NUM_REGULATORS, + sizeof(*rdescs), GFP_KERNEL); diff --git a/queue-5.10/series b/queue-5.10/series index 97e267ac62..392a89a22e 100644 --- a/queue-5.10/series +++ b/queue-5.10/series @@ -271,3 +271,9 @@ rdma-rxe-reject-unknown-opcodes-before-icrc-processing.patch rdma-vmw_pvrdma-fix-double-free-on-pvrdma_alloc_ucontext-error-path.patch x86-cpu-amd-prevent-improper-isolation-of-shared-resources-in-zen2-s-op-cache.patch ptrace-slightly-saner-get_dumpable-logic.patch +media-uvcvideo-enable-vb2_dmabuf-for-metadata-stream.patch +staging-media-atomisp-disallow-all-private-ioctls.patch +regulator-max77650-fix-of-node-reference-imbalance.patch +media-rc-xbox_remote-heed-dma-restrictions.patch +media-rc-streamzap-error-handling-in-probe.patch +regulator-act8945a-fix-of-node-reference-imbalance.patch diff --git a/queue-5.10/staging-media-atomisp-disallow-all-private-ioctls.patch b/queue-5.10/staging-media-atomisp-disallow-all-private-ioctls.patch new file mode 100644 index 0000000000..30f1d04df7 --- /dev/null +++ b/queue-5.10/staging-media-atomisp-disallow-all-private-ioctls.patch @@ -0,0 +1,39 @@ +From 2b7eb2c5dc72f0fc954ac4aa155f9e285e937f7c Mon Sep 17 00:00:00 2001 +From: Sakari Ailus +Date: Thu, 26 Feb 2026 15:10:54 +0200 +Subject: staging: media: atomisp: Disallow all private IOCTLs + +From: Sakari Ailus + +commit 2b7eb2c5dc72f0fc954ac4aa155f9e285e937f7c upstream. + +Disallow all private IOCTLs. These aren't quite as safe as one could +assume of IOCTL handlers; disable them for now. Instead of removing the +code, return in the beginning of the function if cmd is non-zero in order +to keep static checkers happy. + +Reported-by: Soufiane Dani +Closes: https://lore.kernel.org/linux-staging/20260210-atomisp-fix-v1-1-024429cbff31@tutanota.com/ +Cc: stable@vger.kernel.org +Fixes: a49d25364dfb ("staging/atomisp: Add support for the Intel IPU v2") +Fixes: ad85094b293e ("Revert "media: staging: atomisp: Remove driver"") +Signed-off-by: Sakari Ailus +Signed-off-by: Mauro Carvalho Chehab +Signed-off-by: Greg Kroah-Hartman +--- + drivers/staging/media/atomisp/pci/atomisp_ioctl.c | 4 ++++ + 1 file changed, 4 insertions(+) + +--- a/drivers/staging/media/atomisp/pci/atomisp_ioctl.c ++++ b/drivers/staging/media/atomisp/pci/atomisp_ioctl.c +@@ -2865,6 +2865,10 @@ static long atomisp_vidioc_default(struc + bool acc_node; + int err; + ++ /* Disable all private IOCTLs for now! */ ++ if (cmd) ++ return -EINVAL; ++ + acc_node = !strcmp(vdev->name, "ATOMISP ISP ACC"); + if (acc_node) + asd = atomisp_to_acc_pipe(vdev)->asd;