From: Greg Kroah-Hartman Date: Tue, 17 Jan 2023 09:44:29 +0000 (+0100) Subject: drop some more 5.4 and 4.19 patches that break the build X-Git-Tag: v4.14.303~8 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=2648ae93037f4cd57ab263d881e812e4a963cb74;p=thirdparty%2Fkernel%2Fstable-queue.git drop some more 5.4 and 4.19 patches that break the build --- diff --git a/queue-4.19/drivers-provide-devm_platform_get_and_ioremap_resour.patch b/queue-4.19/drivers-provide-devm_platform_get_and_ioremap_resour.patch deleted file mode 100644 index 97d8830f589..00000000000 --- a/queue-4.19/drivers-provide-devm_platform_get_and_ioremap_resour.patch +++ /dev/null @@ -1,80 +0,0 @@ -From fd7faf5cca8a179c583b5138eb6565e59d24bfb9 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Tue, 24 Mar 2020 00:06:08 +0800 -Subject: drivers: provide devm_platform_get_and_ioremap_resource() - -From: Dejin Zheng - -[ Upstream commit 890cc39a879906b63912482dfc41944579df2dc6 ] - -Since commit "drivers: provide devm_platform_ioremap_resource()", -it was wrap platform_get_resource() and devm_ioremap_resource() as -single helper devm_platform_ioremap_resource(). but now, many drivers -still used platform_get_resource() and devm_ioremap_resource() -together in the kernel tree. The reason can not be replaced is they -still need use the resource variables obtained by platform_get_resource(). -so provide this helper. - -Suggested-by: Geert Uytterhoeven -Suggested-by: Sergei Shtylyov -Reviewed-by: Geert Uytterhoeven -Signed-off-by: Dejin Zheng -Link: https://lore.kernel.org/r/20200323160612.17277-2-zhengdejin5@gmail.com -Signed-off-by: Greg Kroah-Hartman -Stable-dep-of: 2d47b79d2bd3 ("i2c: mux: reg: check return value after calling platform_get_resource()") -Signed-off-by: Sasha Levin ---- - drivers/base/platform.c | 22 ++++++++++++++++++++++ - include/linux/platform_device.h | 3 +++ - 2 files changed, 25 insertions(+) - -diff --git a/drivers/base/platform.c b/drivers/base/platform.c -index ea83c279b8a3..c4e398f3de50 100644 ---- a/drivers/base/platform.c -+++ b/drivers/base/platform.c -@@ -80,6 +80,28 @@ struct resource *platform_get_resource(struct platform_device *dev, - } - EXPORT_SYMBOL_GPL(platform_get_resource); - -+/** -+ * devm_platform_get_and_ioremap_resource - call devm_ioremap_resource() for a -+ * platform device and get resource -+ * -+ * @pdev: platform device to use both for memory resource lookup as well as -+ * resource management -+ * @index: resource index -+ * @res: optional output parameter to store a pointer to the obtained resource. -+ */ -+void __iomem * -+devm_platform_get_and_ioremap_resource(struct platform_device *pdev, -+ unsigned int index, struct resource **res) -+{ -+ struct resource *r; -+ -+ r = platform_get_resource(pdev, IORESOURCE_MEM, index); -+ if (res) -+ *res = r; -+ return devm_ioremap_resource(&pdev->dev, r); -+} -+EXPORT_SYMBOL_GPL(devm_platform_get_and_ioremap_resource); -+ - /** - * devm_platform_ioremap_resource - call devm_ioremap_resource() for a platform - * device -diff --git a/include/linux/platform_device.h b/include/linux/platform_device.h -index 9e5c98fcea8c..1de7ea6efdc9 100644 ---- a/include/linux/platform_device.h -+++ b/include/linux/platform_device.h -@@ -52,6 +52,9 @@ extern void arch_setup_pdev_archdata(struct platform_device *); - extern struct resource *platform_get_resource(struct platform_device *, - unsigned int, unsigned int); - extern void __iomem * -+devm_platform_get_and_ioremap_resource(struct platform_device *pdev, -+ unsigned int index, struct resource **res); -+extern void __iomem * - devm_platform_ioremap_resource(struct platform_device *pdev, - unsigned int index); - extern int platform_get_irq(struct platform_device *, unsigned int); --- -2.35.1 - diff --git a/queue-4.19/i2c-mux-reg-check-return-value-after-calling-platfor.patch b/queue-4.19/i2c-mux-reg-check-return-value-after-calling-platfor.patch deleted file mode 100644 index ccb493dd88d..00000000000 --- a/queue-4.19/i2c-mux-reg-check-return-value-after-calling-platfor.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 7b1c424a567bad0e21426656127727e0b0b1ba72 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Sat, 29 Oct 2022 17:38:25 +0800 -Subject: i2c: mux: reg: check return value after calling - platform_get_resource() - -From: Yang Yingliang - -[ Upstream commit 2d47b79d2bd39cc6369eccf94a06568d84c906ae ] - -It will cause null-ptr-deref in resource_size(), if platform_get_resource() -returns NULL, move calling resource_size() after devm_ioremap_resource() that -will check 'res' to avoid null-ptr-deref. -And use devm_platform_get_and_ioremap_resource() to simplify code. - -Fixes: b3fdd32799d8 ("i2c: mux: Add register-based mux i2c-mux-reg") -Signed-off-by: Yang Yingliang -Signed-off-by: Wolfram Sang -Signed-off-by: Sasha Levin ---- - drivers/i2c/muxes/i2c-mux-reg.c | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -diff --git a/drivers/i2c/muxes/i2c-mux-reg.c b/drivers/i2c/muxes/i2c-mux-reg.c -index 5653295b01cd..6d5cb40bfc96 100644 ---- a/drivers/i2c/muxes/i2c-mux-reg.c -+++ b/drivers/i2c/muxes/i2c-mux-reg.c -@@ -191,13 +191,12 @@ static int i2c_mux_reg_probe(struct platform_device *pdev) - if (!mux->data.reg) { - dev_info(&pdev->dev, - "Register not set, using platform resource\n"); -- res = platform_get_resource(pdev, IORESOURCE_MEM, 0); -- mux->data.reg_size = resource_size(res); -- mux->data.reg = devm_ioremap_resource(&pdev->dev, res); -+ mux->data.reg = devm_platform_get_and_ioremap_resource(pdev, 0, &res); - if (IS_ERR(mux->data.reg)) { - ret = PTR_ERR(mux->data.reg); - goto err_put_parent; - } -+ mux->data.reg_size = resource_size(res); - } - - if (mux->data.reg_size != 4 && mux->data.reg_size != 2 && --- -2.35.1 - diff --git a/queue-4.19/series b/queue-4.19/series index 30538b87956..8c50672fff3 100644 --- a/queue-4.19/series +++ b/queue-4.19/series @@ -244,8 +244,6 @@ staging-rtl8192u-fix-use-after-free-in-ieee80211_rx.patch staging-rtl8192e-fix-potential-use-after-free-in-rtl.patch vme-fix-error-not-catched-in-fake_init.patch drivers-provide-devm_platform_ioremap_resource.patch -drivers-provide-devm_platform_get_and_ioremap_resour.patch -i2c-mux-reg-check-return-value-after-calling-platfor.patch i2c-ismt-fix-an-out-of-bounds-bug-in-ismt_access.patch usb-storage-add-check-for-kcalloc.patch tracing-hist-fix-issue-of-losting-command-info-in-er.patch diff --git a/queue-5.4/drivers-provide-devm_platform_get_and_ioremap_resour.patch b/queue-5.4/drivers-provide-devm_platform_get_and_ioremap_resour.patch deleted file mode 100644 index 85008c00b1f..00000000000 --- a/queue-5.4/drivers-provide-devm_platform_get_and_ioremap_resour.patch +++ /dev/null @@ -1,80 +0,0 @@ -From 6763bf313a8ad82e11b8784177b510a10df1d844 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Tue, 24 Mar 2020 00:06:08 +0800 -Subject: drivers: provide devm_platform_get_and_ioremap_resource() - -From: Dejin Zheng - -[ Upstream commit 890cc39a879906b63912482dfc41944579df2dc6 ] - -Since commit "drivers: provide devm_platform_ioremap_resource()", -it was wrap platform_get_resource() and devm_ioremap_resource() as -single helper devm_platform_ioremap_resource(). but now, many drivers -still used platform_get_resource() and devm_ioremap_resource() -together in the kernel tree. The reason can not be replaced is they -still need use the resource variables obtained by platform_get_resource(). -so provide this helper. - -Suggested-by: Geert Uytterhoeven -Suggested-by: Sergei Shtylyov -Reviewed-by: Geert Uytterhoeven -Signed-off-by: Dejin Zheng -Link: https://lore.kernel.org/r/20200323160612.17277-2-zhengdejin5@gmail.com -Signed-off-by: Greg Kroah-Hartman -Stable-dep-of: 2d47b79d2bd3 ("i2c: mux: reg: check return value after calling platform_get_resource()") -Signed-off-by: Sasha Levin ---- - drivers/base/platform.c | 22 ++++++++++++++++++++++ - include/linux/platform_device.h | 3 +++ - 2 files changed, 25 insertions(+) - -diff --git a/drivers/base/platform.c b/drivers/base/platform.c -index 75623b914b8c..05826c12fd29 100644 ---- a/drivers/base/platform.c -+++ b/drivers/base/platform.c -@@ -61,6 +61,28 @@ struct resource *platform_get_resource(struct platform_device *dev, - } - EXPORT_SYMBOL_GPL(platform_get_resource); - -+/** -+ * devm_platform_get_and_ioremap_resource - call devm_ioremap_resource() for a -+ * platform device and get resource -+ * -+ * @pdev: platform device to use both for memory resource lookup as well as -+ * resource management -+ * @index: resource index -+ * @res: optional output parameter to store a pointer to the obtained resource. -+ */ -+void __iomem * -+devm_platform_get_and_ioremap_resource(struct platform_device *pdev, -+ unsigned int index, struct resource **res) -+{ -+ struct resource *r; -+ -+ r = platform_get_resource(pdev, IORESOURCE_MEM, index); -+ if (res) -+ *res = r; -+ return devm_ioremap_resource(&pdev->dev, r); -+} -+EXPORT_SYMBOL_GPL(devm_platform_get_and_ioremap_resource); -+ - /** - * devm_platform_ioremap_resource - call devm_ioremap_resource() for a platform - * device -diff --git a/include/linux/platform_device.h b/include/linux/platform_device.h -index 569f446502be..cc4684254d3f 100644 ---- a/include/linux/platform_device.h -+++ b/include/linux/platform_device.h -@@ -55,6 +55,9 @@ extern struct device * - platform_find_device_by_driver(struct device *start, - const struct device_driver *drv); - extern void __iomem * -+devm_platform_get_and_ioremap_resource(struct platform_device *pdev, -+ unsigned int index, struct resource **res); -+extern void __iomem * - devm_platform_ioremap_resource(struct platform_device *pdev, - unsigned int index); - extern int platform_get_irq(struct platform_device *, unsigned int); --- -2.35.1 - diff --git a/queue-5.4/i2c-mux-reg-check-return-value-after-calling-platfor.patch b/queue-5.4/i2c-mux-reg-check-return-value-after-calling-platfor.patch deleted file mode 100644 index c6c863fe99a..00000000000 --- a/queue-5.4/i2c-mux-reg-check-return-value-after-calling-platfor.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 6430aef7b949ffc4d4ea5577782b90ad33c63dad Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Sat, 29 Oct 2022 17:38:25 +0800 -Subject: i2c: mux: reg: check return value after calling - platform_get_resource() - -From: Yang Yingliang - -[ Upstream commit 2d47b79d2bd39cc6369eccf94a06568d84c906ae ] - -It will cause null-ptr-deref in resource_size(), if platform_get_resource() -returns NULL, move calling resource_size() after devm_ioremap_resource() that -will check 'res' to avoid null-ptr-deref. -And use devm_platform_get_and_ioremap_resource() to simplify code. - -Fixes: b3fdd32799d8 ("i2c: mux: Add register-based mux i2c-mux-reg") -Signed-off-by: Yang Yingliang -Signed-off-by: Wolfram Sang -Signed-off-by: Sasha Levin ---- - drivers/i2c/muxes/i2c-mux-reg.c | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -diff --git a/drivers/i2c/muxes/i2c-mux-reg.c b/drivers/i2c/muxes/i2c-mux-reg.c -index b59a62f8d7a6..ac7971c776fa 100644 ---- a/drivers/i2c/muxes/i2c-mux-reg.c -+++ b/drivers/i2c/muxes/i2c-mux-reg.c -@@ -187,13 +187,12 @@ static int i2c_mux_reg_probe(struct platform_device *pdev) - if (!mux->data.reg) { - dev_info(&pdev->dev, - "Register not set, using platform resource\n"); -- res = platform_get_resource(pdev, IORESOURCE_MEM, 0); -- mux->data.reg_size = resource_size(res); -- mux->data.reg = devm_ioremap_resource(&pdev->dev, res); -+ mux->data.reg = devm_platform_get_and_ioremap_resource(pdev, 0, &res); - if (IS_ERR(mux->data.reg)) { - ret = PTR_ERR(mux->data.reg); - goto err_put_parent; - } -+ mux->data.reg_size = resource_size(res); - } - - if (mux->data.reg_size != 4 && mux->data.reg_size != 2 && --- -2.35.1 - diff --git a/queue-5.4/series b/queue-5.4/series index ba829e835ec..9cbe85a0d1e 100644 --- a/queue-5.4/series +++ b/queue-5.4/series @@ -306,8 +306,6 @@ i2c-pxa-pci-fix-missing-pci_disable_device-on-error-.patch staging-rtl8192u-fix-use-after-free-in-ieee80211_rx.patch staging-rtl8192e-fix-potential-use-after-free-in-rtl.patch vme-fix-error-not-catched-in-fake_init.patch -drivers-provide-devm_platform_get_and_ioremap_resour.patch -i2c-mux-reg-check-return-value-after-calling-platfor.patch i2c-ismt-fix-an-out-of-bounds-bug-in-ismt_access.patch usb-storage-add-check-for-kcalloc.patch tracing-hist-fix-issue-of-losting-command-info-in-er.patch