* [PATCH 6.6.y 0/2] CVE-2025-71272, CVE-2026-43317: backport fix series
@ 2026-10-14 19:14 Artem Dinaburg
2026-10-14 19:14 ` [PATCH 6.6.y 1/2] most: core: fix resource leak in most_register_interface error paths Artem Dinaburg
2026-10-14 19:14 ` [PATCH 6.6.y 2/2] most: core: fix leak on early registration failure Artem Dinaburg
0 siblings, 2 replies; 3+ messages in thread
From: Artem Dinaburg @ 2026-10-14 19:14 UTC (permalink / raw)
To: stable
Cc: abdun.nihaal, christian.gromm, error27, gregkh, johan,
knavaneeth786, linux-kernel, parthiban.veerasooran
Hi,
Please consider this backport series for CVE-2025-71272, CVE-2026-43317 to
6.6.y.
Apply the patches in this order:
1. most: core: fix resource leak in most_register_interface error paths (fix)
2. most: core: fix leak on early registration failure (fix)
Patch 1 initializes the interface device before ID allocation and releases
the device, ID and private storage on registration failures.
Patch 2 moves callback and channel-count validation after device
initialization so those early failures also release the device. The code
changes in both patches are identical to upstream.
The complete fix is already present in 6.12.y, 6.18.y and 7.2.y.
Build-tested only as part of a cumulative 6.6.y series: x86_64 objects
(allmodconfig, CONFIG_WERROR=y); no runtime testing.
An LLM assisted with preparing these backports.
Thanks,
Artem Dinaburg
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH 6.6.y 1/2] most: core: fix resource leak in most_register_interface error paths
2026-10-14 19:14 [PATCH 6.6.y 0/2] CVE-2025-71272, CVE-2026-43317: backport fix series Artem Dinaburg
@ 2026-10-14 19:14 ` Artem Dinaburg
2026-10-14 19:14 ` [PATCH 6.6.y 2/2] most: core: fix leak on early registration failure Artem Dinaburg
1 sibling, 0 replies; 3+ messages in thread
From: Artem Dinaburg @ 2026-10-14 19:14 UTC (permalink / raw)
To: stable
Cc: abdun.nihaal, christian.gromm, error27, gregkh, knavaneeth786,
linux-kernel, parthiban.veerasooran
From: Navaneeth K <knavaneeth786@gmail.com>
[ Upstream commit 1f4c9d8a1021281750c6cda126d6f8a40cc24e71 ]
The function most_register_interface() did not correctly release resources
if it failed early (before registering the device). In these cases, it
returned an error code immediately, leaking the memory allocated for the
interface.
Fix this by initializing the device early via device_initialize() and
calling put_device() on all error paths.
The most_register_interface() is expected to call put_device() on
error which frees the resources allocated in the caller. The
put_device() either calls release_mdev() or dim2_release(),
depending on the caller.
Switch to using device_add() instead of device_register() to handle
the split initialization.
Acked-by: Abdun Nihaal <abdun.nihaal@gmail.com>
Signed-off-by: Navaneeth K <knavaneeth786@gmail.com>
Reviewed-by: Dan Carpenter <dan.carpenter@linaro.org>
Link: https://patch.msgid.link/20251127165337.19172-1-knavaneeth786@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Assisted-by: LLM
Signed-off-by: Artem Dinaburg <artem@trailofbits.com>
---
Hi,
Please consider this backport of the fix for CVE-2025-71272 to 6.6.y.
The code changes are identical to upstream.
The complete fix is already present in 6.12.y, 6.18.y and 7.2.y.
Build-tested only as part of a cumulative 6.6.y series: x86_64 objects
(allmodconfig, CONFIG_WERROR=y); no runtime testing.
Thanks,
Artem Dinaburg
drivers/most/core.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/drivers/most/core.c b/drivers/most/core.c
index 5d073b3d2796754d278e4de84de0eb3bf43dd8d0..0fbf06d34e0b968e6444877af981322a3793d406 100644
--- a/drivers/most/core.c
+++ b/drivers/most/core.c
@@ -1286,15 +1286,19 @@ int most_register_interface(struct most_interface *iface)
!iface->poison_channel || (iface->num_channels > MAX_CHANNELS))
return -EINVAL;
+ device_initialize(iface->dev);
+
id = ida_simple_get(&mdev_id, 0, 0, GFP_KERNEL);
if (id < 0) {
dev_err(iface->dev, "Failed to allocate device ID\n");
+ put_device(iface->dev);
return id;
}
iface->p = kzalloc(sizeof(*iface->p), GFP_KERNEL);
if (!iface->p) {
ida_simple_remove(&mdev_id, id);
+ put_device(iface->dev);
return -ENOMEM;
}
@@ -1304,7 +1308,7 @@ int most_register_interface(struct most_interface *iface)
iface->dev->bus = &mostbus;
iface->dev->groups = interface_attr_groups;
dev_set_drvdata(iface->dev, iface);
- if (device_register(iface->dev)) {
+ if (device_add(iface->dev)) {
dev_err(iface->dev, "Failed to register interface device\n");
kfree(iface->p);
put_device(iface->dev);
^ permalink raw reply [flat|nested] 3+ messages in thread* [PATCH 6.6.y 2/2] most: core: fix leak on early registration failure
2026-10-14 19:14 [PATCH 6.6.y 0/2] CVE-2025-71272, CVE-2026-43317: backport fix series Artem Dinaburg
2026-10-14 19:14 ` [PATCH 6.6.y 1/2] most: core: fix resource leak in most_register_interface error paths Artem Dinaburg
@ 2026-10-14 19:14 ` Artem Dinaburg
1 sibling, 0 replies; 3+ messages in thread
From: Artem Dinaburg @ 2026-10-14 19:14 UTC (permalink / raw)
To: stable
Cc: christian.gromm, gregkh, johan, linux-kernel, parthiban.veerasooran
From: Johan Hovold <johan@kernel.org>
[ Upstream commit 2c198c272f9c9213b0fdf6b4a879f445c574f416 ]
A recent commit fixed a resource leak on early registration failures but
for some reason left out the first error path which still leaks the
resources associated with the interface.
Fix up also the first error path so that the interface is always
released on errors.
Fixes: 1f4c9d8a1021 ("most: core: fix resource leak in most_register_interface error paths")
Fixes: 723de0f9171e ("staging: most: remove device from interface structure")
Cc: Christian Gromm <christian.gromm@microchip.com>
Cc: Navaneeth K <knavaneeth786@gmail.com>
Signed-off-by: Johan Hovold <johan@kernel.org>
Link: https://patch.msgid.link/20260116162950.21578-1-johan@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Assisted-by: LLM
Signed-off-by: Artem Dinaburg <artem@trailofbits.com>
---
Hi,
Please consider this backport of the fix for CVE-2026-43317 to 6.6.y.
The code changes are identical to upstream.
The complete fix is already present in 6.12.y, 6.18.y and 7.2.y.
Build-tested only as part of a cumulative 6.6.y series: x86_64 objects
(allmodconfig, CONFIG_WERROR=y); no runtime testing.
Thanks,
Artem Dinaburg
drivers/most/core.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/drivers/most/core.c b/drivers/most/core.c
index 0fbf06d34e0b968e6444877af981322a3793d406..3d1102faec8a2f37b1c4abcb99236db39b79094e 100644
--- a/drivers/most/core.c
+++ b/drivers/most/core.c
@@ -1282,12 +1282,17 @@ int most_register_interface(struct most_interface *iface)
int id;
struct most_channel *c;
- if (!iface || !iface->enqueue || !iface->configure ||
- !iface->poison_channel || (iface->num_channels > MAX_CHANNELS))
+ if (!iface)
return -EINVAL;
device_initialize(iface->dev);
+ if (!iface->enqueue || !iface->configure || !iface->poison_channel ||
+ (iface->num_channels > MAX_CHANNELS)) {
+ put_device(iface->dev);
+ return -EINVAL;
+ }
+
id = ida_simple_get(&mdev_id, 0, 0, GFP_KERNEL);
if (id < 0) {
dev_err(iface->dev, "Failed to allocate device ID\n");
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-10-14 19:15 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-10-14 19:14 [PATCH 6.6.y 0/2] CVE-2025-71272, CVE-2026-43317: backport fix series Artem Dinaburg
2026-10-14 19:14 ` [PATCH 6.6.y 1/2] most: core: fix resource leak in most_register_interface error paths Artem Dinaburg
2026-10-14 19:14 ` [PATCH 6.6.y 2/2] most: core: fix leak on early registration failure Artem Dinaburg
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®