From: Greg Kroah-Hartman Date: Mon, 20 Jan 2025 15:23:38 +0000 (+0100) Subject: drop broken irqchip patch X-Git-Tag: v6.6.73~9 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c0d2c253fb74b671461bf4b358fd801dda09cf59;p=thirdparty%2Fkernel%2Fstable-queue.git drop broken irqchip patch --- diff --git a/queue-5.10/irqchip-plug-a-of-node-reference-leak-in-platform_irqchip_probe.patch b/queue-5.10/irqchip-plug-a-of-node-reference-leak-in-platform_irqchip_probe.patch deleted file mode 100644 index f5dd81e998..0000000000 --- a/queue-5.10/irqchip-plug-a-of-node-reference-leak-in-platform_irqchip_probe.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 9322d1915f9d976ee48c09d800fbd5169bc2ddcc Mon Sep 17 00:00:00 2001 -From: Joe Hattori -Date: Sun, 15 Dec 2024 12:39:45 +0900 -Subject: irqchip: Plug a OF node reference leak in platform_irqchip_probe() - -From: Joe Hattori - -commit 9322d1915f9d976ee48c09d800fbd5169bc2ddcc upstream. - -platform_irqchip_probe() leaks a OF node when irq_init_cb() fails. Fix it -by declaring par_np with the __free(device_node) cleanup construct. - -This bug was found by an experimental static analysis tool that I am -developing. - -Fixes: f8410e626569 ("irqchip: Add IRQCHIP_PLATFORM_DRIVER_BEGIN/END and IRQCHIP_MATCH helper macros") -Signed-off-by: Joe Hattori -Signed-off-by: Thomas Gleixner -Cc: stable@vger.kernel.org -Link: https://lore.kernel.org/all/20241215033945.3414223-1-joe@pf.is.s.u-tokyo.ac.jp -Signed-off-by: Greg Kroah-Hartman ---- - drivers/irqchip/irqchip.c | 4 +--- - 1 file changed, 1 insertion(+), 3 deletions(-) - ---- a/drivers/irqchip/irqchip.c -+++ b/drivers/irqchip/irqchip.c -@@ -35,11 +35,10 @@ void __init irqchip_init(void) - int platform_irqchip_probe(struct platform_device *pdev) - { - struct device_node *np = pdev->dev.of_node; -- struct device_node *par_np = of_irq_find_parent(np); -+ struct device_node *par_np __free(device_node) = of_irq_find_parent(np); - of_irq_init_cb_t irq_init_cb = of_device_get_match_data(&pdev->dev); - - if (!irq_init_cb) { -- of_node_put(par_np); - return -EINVAL; - } - -@@ -55,7 +54,6 @@ int platform_irqchip_probe(struct platfo - * interrupt controller can check for specific domains as necessary. - */ - if (par_np && !irq_find_matching_host(par_np, DOMAIN_BUS_ANY)) { -- of_node_put(par_np); - return -EPROBE_DEFER; - } - diff --git a/queue-5.15/irqchip-plug-a-of-node-reference-leak-in-platform_irqchip_probe.patch b/queue-5.15/irqchip-plug-a-of-node-reference-leak-in-platform_irqchip_probe.patch deleted file mode 100644 index f5dd81e998..0000000000 --- a/queue-5.15/irqchip-plug-a-of-node-reference-leak-in-platform_irqchip_probe.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 9322d1915f9d976ee48c09d800fbd5169bc2ddcc Mon Sep 17 00:00:00 2001 -From: Joe Hattori -Date: Sun, 15 Dec 2024 12:39:45 +0900 -Subject: irqchip: Plug a OF node reference leak in platform_irqchip_probe() - -From: Joe Hattori - -commit 9322d1915f9d976ee48c09d800fbd5169bc2ddcc upstream. - -platform_irqchip_probe() leaks a OF node when irq_init_cb() fails. Fix it -by declaring par_np with the __free(device_node) cleanup construct. - -This bug was found by an experimental static analysis tool that I am -developing. - -Fixes: f8410e626569 ("irqchip: Add IRQCHIP_PLATFORM_DRIVER_BEGIN/END and IRQCHIP_MATCH helper macros") -Signed-off-by: Joe Hattori -Signed-off-by: Thomas Gleixner -Cc: stable@vger.kernel.org -Link: https://lore.kernel.org/all/20241215033945.3414223-1-joe@pf.is.s.u-tokyo.ac.jp -Signed-off-by: Greg Kroah-Hartman ---- - drivers/irqchip/irqchip.c | 4 +--- - 1 file changed, 1 insertion(+), 3 deletions(-) - ---- a/drivers/irqchip/irqchip.c -+++ b/drivers/irqchip/irqchip.c -@@ -35,11 +35,10 @@ void __init irqchip_init(void) - int platform_irqchip_probe(struct platform_device *pdev) - { - struct device_node *np = pdev->dev.of_node; -- struct device_node *par_np = of_irq_find_parent(np); -+ struct device_node *par_np __free(device_node) = of_irq_find_parent(np); - of_irq_init_cb_t irq_init_cb = of_device_get_match_data(&pdev->dev); - - if (!irq_init_cb) { -- of_node_put(par_np); - return -EINVAL; - } - -@@ -55,7 +54,6 @@ int platform_irqchip_probe(struct platfo - * interrupt controller can check for specific domains as necessary. - */ - if (par_np && !irq_find_matching_host(par_np, DOMAIN_BUS_ANY)) { -- of_node_put(par_np); - return -EPROBE_DEFER; - } -