]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
Fixes for 6.12
authorSasha Levin <sashal@kernel.org>
Fri, 3 Jan 2025 00:40:45 +0000 (19:40 -0500)
committerSasha Levin <sashal@kernel.org>
Fri, 3 Jan 2025 00:40:45 +0000 (19:40 -0500)
Signed-off-by: Sasha Levin <sashal@kernel.org>
queue-6.12/platform-x86-mlx-platform-call-pci_dev_put-to-balanc.patch [new file with mode: 0644]
queue-6.12/series [new file with mode: 0644]

diff --git a/queue-6.12/platform-x86-mlx-platform-call-pci_dev_put-to-balanc.patch b/queue-6.12/platform-x86-mlx-platform-call-pci_dev_put-to-balanc.patch
new file mode 100644 (file)
index 0000000..46d9618
--- /dev/null
@@ -0,0 +1,54 @@
+From 53d512a62c7858e3fe392aa9f20a8dc1884d6434 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Mon, 16 Dec 2024 11:25:38 +0900
+Subject: platform/x86: mlx-platform: call pci_dev_put() to balance the
+ refcount
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: Joe Hattori <joe@pf.is.s.u-tokyo.ac.jp>
+
+[ Upstream commit 185e1b1d91e419445d3fd99c1c0376a970438acf ]
+
+mlxplat_pci_fpga_device_init() calls pci_get_device() but does not
+release the refcount on error path. Call pci_dev_put() on the error path
+and in mlxplat_pci_fpga_device_exit() to fix this.
+
+This bug was found by an experimental static analysis tool that I am
+developing.
+
+Fixes: 02daa222fbdd ("platform: mellanox: Add initial support for PCIe based programming logic device")
+Signed-off-by: Joe Hattori <joe@pf.is.s.u-tokyo.ac.jp>
+Reviewed-by: Vadim Pasternak <vadimp@nvidia.com>
+Link: https://lore.kernel.org/r/20241216022538.381209-1-joe@pf.is.s.u-tokyo.ac.jp
+Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
+Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/platform/x86/mlx-platform.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/drivers/platform/x86/mlx-platform.c b/drivers/platform/x86/mlx-platform.c
+index 9d70146fd742..1a09f2dfb7bc 100644
+--- a/drivers/platform/x86/mlx-platform.c
++++ b/drivers/platform/x86/mlx-platform.c
+@@ -6237,6 +6237,7 @@ mlxplat_pci_fpga_device_init(unsigned int device, const char *res_name, struct p
+ fail_pci_request_regions:
+       pci_disable_device(pci_dev);
+ fail_pci_enable_device:
++      pci_dev_put(pci_dev);
+       return err;
+ }
+@@ -6247,6 +6248,7 @@ mlxplat_pci_fpga_device_exit(struct pci_dev *pci_bridge,
+       iounmap(pci_bridge_addr);
+       pci_release_regions(pci_bridge);
+       pci_disable_device(pci_bridge);
++      pci_dev_put(pci_bridge);
+ }
+ static int
+-- 
+2.39.5
+
diff --git a/queue-6.12/series b/queue-6.12/series
new file mode 100644 (file)
index 0000000..b2d4850
--- /dev/null
@@ -0,0 +1 @@
+platform-x86-mlx-platform-call-pci_dev_put-to-balanc.patch