]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
5.10-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 15 May 2026 05:54:22 +0000 (07:54 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 15 May 2026 05:54:22 +0000 (07:54 +0200)
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

queue-5.10/media-rc-streamzap-error-handling-in-probe.patch [new file with mode: 0644]
queue-5.10/media-rc-xbox_remote-heed-dma-restrictions.patch [new file with mode: 0644]
queue-5.10/media-uvcvideo-enable-vb2_dmabuf-for-metadata-stream.patch [new file with mode: 0644]
queue-5.10/regulator-act8945a-fix-of-node-reference-imbalance.patch [new file with mode: 0644]
queue-5.10/regulator-max77650-fix-of-node-reference-imbalance.patch [new file with mode: 0644]
queue-5.10/series
queue-5.10/staging-media-atomisp-disallow-all-private-ioctls.patch [new file with mode: 0644]

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 (file)
index 0000000..d902ef2
--- /dev/null
@@ -0,0 +1,54 @@
+From 42844992664f03ef9f930e64f7370fa481e9c267 Mon Sep 17 00:00:00 2001
+From: Oliver Neukum <oneukum@suse.com>
+Date: Wed, 11 Feb 2026 19:06:21 +0100
+Subject: media: rc: streamzap: Error handling in probe
+
+From: Oliver Neukum <oneukum@suse.com>
+
+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 <oneukum@suse.com>
+Signed-off-by: Sean Young <sean@mess.org>
+Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ 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 (file)
index 0000000..bdaf17d
--- /dev/null
@@ -0,0 +1,61 @@
+From e280d1e5e3f2595bbb43fe6e1bce00c59a43c0ff Mon Sep 17 00:00:00 2001
+From: Oliver Neukum <oneukum@suse.com>
+Date: Wed, 11 Feb 2026 19:09:44 +0100
+Subject: media: rc: xbox_remote: heed DMA restrictions
+
+From: Oliver Neukum <oneukum@suse.com>
+
+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 <oneukum@suse.com>
+Signed-off-by: Sean Young <sean@mess.org>
+Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ 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 (file)
index 0000000..31bcec0
--- /dev/null
@@ -0,0 +1,51 @@
+From fbac03467e53d8d72e5099c03df26d9adae11416 Mon Sep 17 00:00:00 2001
+From: Ricardo Ribalda <ribalda@chromium.org>
+Date: Mon, 9 Mar 2026 15:01:54 +0000
+Subject: media: uvcvideo: Enable VB2_DMABUF for metadata stream
+
+From: Ricardo Ribalda <ribalda@chromium.org>
+
+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 <ribalda@chromium.org>
+Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
+Reviewed-by: Hans de Goede <johannes.goede@oss.qualcomm.com>
+Link: https://patch.msgid.link/20260309-uvc-metadata-dmabuf-v1-1-fc8b87bd29c5@chromium.org
+Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
+Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ 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 (file)
index 0000000..8b48bff
--- /dev/null
@@ -0,0 +1,40 @@
+From 0d15ce31375ccef4162f960b34547a821b7619d2 Mon Sep 17 00:00:00 2001
+From: Johan Hovold <johan@kernel.org>
+Date: Wed, 8 Apr 2026 09:30:54 +0200
+Subject: regulator: act8945a: fix OF node reference imbalance
+
+From: Johan Hovold <johan@kernel.org>
+
+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 <wenyou.yang@atmel.com>
+Signed-off-by: Johan Hovold <johan@kernel.org>
+Link: https://patch.msgid.link/20260408073055.5183-7-johan@kernel.org
+Signed-off-by: Mark Brown <broonie@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ 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, &regulators[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 (file)
index 0000000..7859855
--- /dev/null
@@ -0,0 +1,38 @@
+From 2edaf5f7ada0ab5c9ec1f0836bd19779a8d85262 Mon Sep 17 00:00:00 2001
+From: Johan Hovold <johan@kernel.org>
+Date: Wed, 8 Apr 2026 09:30:51 +0200
+Subject: regulator: max77650: fix OF node reference imbalance
+
+From: Johan Hovold <johan@kernel.org>
+
+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 <bartosz.golaszewski@oss.qualcomm.com>
+Signed-off-by: Johan Hovold <johan@kernel.org>
+Link: https://patch.msgid.link/20260408073055.5183-4-johan@kernel.org
+Signed-off-by: Mark Brown <broonie@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ 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);
index 97e267ac620b9969cafcd79cb119dbd4ea6e7bbd..392a89a22ee5b090d480f0452e11141ba9ff5e8c 100644 (file)
@@ -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 (file)
index 0000000..30f1d04
--- /dev/null
@@ -0,0 +1,39 @@
+From 2b7eb2c5dc72f0fc954ac4aa155f9e285e937f7c Mon Sep 17 00:00:00 2001
+From: Sakari Ailus <sakari.ailus@linux.intel.com>
+Date: Thu, 26 Feb 2026 15:10:54 +0200
+Subject: staging: media: atomisp: Disallow all private IOCTLs
+
+From: Sakari Ailus <sakari.ailus@linux.intel.com>
+
+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 <soufianeda@tutanota.com>
+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 <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/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;