]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
5.4-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 27 Jun 2022 10:45:16 +0000 (12:45 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 27 Jun 2022 10:45:16 +0000 (12:45 +0200)
added patches:
arm-cns3xxx-fix-refcount-leak-in-cns3xxx_init.patch
arm-dts-imx6qdl-correct-pu-regulator-ramp-delay.patch
arm-exynos-fix-refcount-leak-in-exynos_map_pmu.patch
arm-fix-refcount-leak-in-axxia_boot_secondary.patch
kbuild-link-vmlinux-only-once-for-config_trim_unused_ksyms-2nd-attempt.patch
modpost-fix-section-mismatch-check-for-exported-init-exit-sections.patch
random-update-comment-from-copy_to_user-copy_to_iter.patch
soc-bcm-brcmstb-pm-pm-arm-fix-refcount-leak-in-brcmstb_pm_probe.patch

queue-5.4/arm-cns3xxx-fix-refcount-leak-in-cns3xxx_init.patch [new file with mode: 0644]
queue-5.4/arm-dts-imx6qdl-correct-pu-regulator-ramp-delay.patch [new file with mode: 0644]
queue-5.4/arm-exynos-fix-refcount-leak-in-exynos_map_pmu.patch [new file with mode: 0644]
queue-5.4/arm-fix-refcount-leak-in-axxia_boot_secondary.patch [new file with mode: 0644]
queue-5.4/kbuild-link-vmlinux-only-once-for-config_trim_unused_ksyms-2nd-attempt.patch [new file with mode: 0644]
queue-5.4/modpost-fix-section-mismatch-check-for-exported-init-exit-sections.patch [new file with mode: 0644]
queue-5.4/random-update-comment-from-copy_to_user-copy_to_iter.patch [new file with mode: 0644]
queue-5.4/series
queue-5.4/soc-bcm-brcmstb-pm-pm-arm-fix-refcount-leak-in-brcmstb_pm_probe.patch [new file with mode: 0644]

diff --git a/queue-5.4/arm-cns3xxx-fix-refcount-leak-in-cns3xxx_init.patch b/queue-5.4/arm-cns3xxx-fix-refcount-leak-in-cns3xxx_init.patch
new file mode 100644 (file)
index 0000000..42d10ac
--- /dev/null
@@ -0,0 +1,40 @@
+From 1ba904b6b16e08de5aed7c1349838d9cd0d178c5 Mon Sep 17 00:00:00 2001
+From: Miaoqian Lin <linmq006@gmail.com>
+Date: Sun, 5 Jun 2022 11:58:41 +0400
+Subject: ARM: cns3xxx: Fix refcount leak in cns3xxx_init
+
+From: Miaoqian Lin <linmq006@gmail.com>
+
+commit 1ba904b6b16e08de5aed7c1349838d9cd0d178c5 upstream.
+
+of_find_compatible_node() returns a node pointer with refcount
+incremented, we should use of_node_put() on it when done.
+Add missing of_node_put() to avoid refcount leak.
+
+Fixes: 415f59142d9d ("ARM: cns3xxx: initial DT support")
+Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
+Acked-by: Krzysztof Halasa <khalasa@piap.pl>
+Signed-off-by: Arnd Bergmann <arnd@arndb.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ arch/arm/mach-cns3xxx/core.c |    2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/arch/arm/mach-cns3xxx/core.c
++++ b/arch/arm/mach-cns3xxx/core.c
+@@ -376,6 +376,7 @@ static void __init cns3xxx_init(void)
+               /* De-Asscer SATA Reset */
+               cns3xxx_pwr_soft_rst(CNS3XXX_PWR_SOFTWARE_RST(SATA));
+       }
++      of_node_put(dn);
+       dn = of_find_compatible_node(NULL, NULL, "cavium,cns3420-sdhci");
+       if (of_device_is_available(dn)) {
+@@ -389,6 +390,7 @@ static void __init cns3xxx_init(void)
+               cns3xxx_pwr_clk_en(CNS3XXX_PWR_CLK_EN(SDIO));
+               cns3xxx_pwr_soft_rst(CNS3XXX_PWR_SOFTWARE_RST(SDIO));
+       }
++      of_node_put(dn);
+       pm_power_off = cns3xxx_power_off;
diff --git a/queue-5.4/arm-dts-imx6qdl-correct-pu-regulator-ramp-delay.patch b/queue-5.4/arm-dts-imx6qdl-correct-pu-regulator-ramp-delay.patch
new file mode 100644 (file)
index 0000000..383ef99
--- /dev/null
@@ -0,0 +1,47 @@
+From 93a8ba2a619816d631bd69e9ce2172b4d7a481b8 Mon Sep 17 00:00:00 2001
+From: Lucas Stach <l.stach@pengutronix.de>
+Date: Wed, 11 May 2022 18:08:23 +0200
+Subject: ARM: dts: imx6qdl: correct PU regulator ramp delay
+
+From: Lucas Stach <l.stach@pengutronix.de>
+
+commit 93a8ba2a619816d631bd69e9ce2172b4d7a481b8 upstream.
+
+Contrary to what was believed at the time, the ramp delay of 150us is not
+plenty for the PU LDO with the default step time of 512 pulses of the 24MHz
+clock. Measurements have shown that after enabling the LDO the voltage on
+VDDPU_CAP jumps to ~750mV in the first step and after that the regulator
+executes the normal ramp up as defined by the step size control.
+
+This means it takes the regulator between 360us and 370us to ramp up to
+the nominal 1.15V voltage for this power domain. With the old setting of
+the ramp delay the power up of the PU GPC domain would happen in the middle
+of the regulator ramp with the voltage being at around 900mV. Apparently
+this was enough for most units to properly power up the peripherals in the
+domain and execute the reset. Some units however, fail to power up properly,
+especially when the chip is at a low temperature. In that case any access
+to the GPU registers would yield an incorrect result with no way to recover
+from this situation.
+
+Change the ramp delay to 380us to cover the measured ramp up time with a
+bit of additional slack.
+
+Fixes: 40130d327f72 ("ARM: dts: imx6qdl: Allow disabling the PU regulator, add a enable ramp delay")
+Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
+Signed-off-by: Shawn Guo <shawnguo@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ arch/arm/boot/dts/imx6qdl.dtsi |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/arch/arm/boot/dts/imx6qdl.dtsi
++++ b/arch/arm/boot/dts/imx6qdl.dtsi
+@@ -766,7 +766,7 @@
+                                       regulator-name = "vddpu";
+                                       regulator-min-microvolt = <725000>;
+                                       regulator-max-microvolt = <1450000>;
+-                                      regulator-enable-ramp-delay = <150>;
++                                      regulator-enable-ramp-delay = <380>;
+                                       anatop-reg-offset = <0x140>;
+                                       anatop-vol-bit-shift = <9>;
+                                       anatop-vol-bit-width = <5>;
diff --git a/queue-5.4/arm-exynos-fix-refcount-leak-in-exynos_map_pmu.patch b/queue-5.4/arm-exynos-fix-refcount-leak-in-exynos_map_pmu.patch
new file mode 100644 (file)
index 0000000..23889b1
--- /dev/null
@@ -0,0 +1,33 @@
+From c4c79525042a4a7df96b73477feaf232fe44ae81 Mon Sep 17 00:00:00 2001
+From: Miaoqian Lin <linmq006@gmail.com>
+Date: Mon, 23 May 2022 18:55:13 +0400
+Subject: ARM: exynos: Fix refcount leak in exynos_map_pmu
+
+From: Miaoqian Lin <linmq006@gmail.com>
+
+commit c4c79525042a4a7df96b73477feaf232fe44ae81 upstream.
+
+of_find_matching_node() returns a node pointer with refcount
+incremented, we should use of_node_put() on it when not need anymore.
+Add missing of_node_put() to avoid refcount leak.
+of_node_put() checks null pointer.
+
+Fixes: fce9e5bb2526 ("ARM: EXYNOS: Add support for mapping PMU base address via DT")
+Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
+Link: https://lore.kernel.org/r/20220523145513.12341-1-linmq006@gmail.com
+Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ arch/arm/mach-exynos/exynos.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/arch/arm/mach-exynos/exynos.c
++++ b/arch/arm/mach-exynos/exynos.c
+@@ -136,6 +136,7 @@ static void exynos_map_pmu(void)
+       np = of_find_matching_node(NULL, exynos_dt_pmu_match);
+       if (np)
+               pmu_base_addr = of_iomap(np, 0);
++      of_node_put(np);
+ }
+ static void __init exynos_init_irq(void)
diff --git a/queue-5.4/arm-fix-refcount-leak-in-axxia_boot_secondary.patch b/queue-5.4/arm-fix-refcount-leak-in-axxia_boot_secondary.patch
new file mode 100644 (file)
index 0000000..02c195e
--- /dev/null
@@ -0,0 +1,32 @@
+From 7c7ff68daa93d8c4cdea482da4f2429c0398fcde Mon Sep 17 00:00:00 2001
+From: Miaoqian Lin <linmq006@gmail.com>
+Date: Wed, 1 Jun 2022 13:05:48 +0400
+Subject: ARM: Fix refcount leak in axxia_boot_secondary
+
+From: Miaoqian Lin <linmq006@gmail.com>
+
+commit 7c7ff68daa93d8c4cdea482da4f2429c0398fcde upstream.
+
+of_find_compatible_node() returns a node pointer with refcount
+incremented, we should use of_node_put() on it when done.
+Add missing of_node_put() to avoid refcount leak.
+
+Fixes: 1d22924e1c4e ("ARM: Add platform support for LSI AXM55xx SoC")
+Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
+Link: https://lore.kernel.org/r/20220601090548.47616-1-linmq006@gmail.com'
+Signed-off-by: Arnd Bergmann <arnd@arndb.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ arch/arm/mach-axxia/platsmp.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/arch/arm/mach-axxia/platsmp.c
++++ b/arch/arm/mach-axxia/platsmp.c
+@@ -39,6 +39,7 @@ static int axxia_boot_secondary(unsigned
+               return -ENOENT;
+       syscon = of_iomap(syscon_np, 0);
++      of_node_put(syscon_np);
+       if (!syscon)
+               return -ENOMEM;
diff --git a/queue-5.4/kbuild-link-vmlinux-only-once-for-config_trim_unused_ksyms-2nd-attempt.patch b/queue-5.4/kbuild-link-vmlinux-only-once-for-config_trim_unused_ksyms-2nd-attempt.patch
new file mode 100644 (file)
index 0000000..6d903b6
--- /dev/null
@@ -0,0 +1,49 @@
+From 53632ba87d9f302a8d97a11ec2f4f4eec7bb75ea Mon Sep 17 00:00:00 2001
+From: Masahiro Yamada <masahiroy@kernel.org>
+Date: Fri, 24 Jun 2022 04:11:47 +0900
+Subject: kbuild: link vmlinux only once for CONFIG_TRIM_UNUSED_KSYMS (2nd attempt)
+
+From: Masahiro Yamada <masahiroy@kernel.org>
+
+commit 53632ba87d9f302a8d97a11ec2f4f4eec7bb75ea upstream.
+
+If CONFIG_TRIM_UNUSED_KSYMS is enabled and the kernel is built from
+a pristine state, the vmlinux is linked twice.
+
+Commit 3fdc7d3fe4c0 ("kbuild: link vmlinux only once for
+CONFIG_TRIM_UNUSED_KSYMS") explains why this happens, but it did not fix
+the issue at all.
+
+Now I realized I had applied a wrong patch.
+
+In v1 patch [1], the autoksyms_recursive target correctly recurses to
+"$(MAKE) -f $(srctree)/Makefile autoksyms_recursive".
+
+In v2 patch [2], I accidentally dropped the diff line, and it recurses to
+"$(MAKE) -f $(srctree)/Makefile vmlinux".
+
+Restore the code I intended in v1.
+
+[1]: https://lore.kernel.org/linux-kbuild/1521045861-22418-8-git-send-email-yamada.masahiro@socionext.com/
+[2]: https://lore.kernel.org/linux-kbuild/1521166725-24157-8-git-send-email-yamada.masahiro@socionext.com/
+
+Fixes: 3fdc7d3fe4c0 ("kbuild: link vmlinux only once for CONFIG_TRIM_UNUSED_KSYMS")
+Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
+Tested-by: Sami Tolvanen <samitolvanen@google.com>
+Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ Makefile |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/Makefile
++++ b/Makefile
+@@ -1073,7 +1073,7 @@ PHONY += autoksyms_recursive
+ ifdef CONFIG_TRIM_UNUSED_KSYMS
+ autoksyms_recursive: descend modules.order
+       $(Q)$(CONFIG_SHELL) $(srctree)/scripts/adjust_autoksyms.sh \
+-        "$(MAKE) -f $(srctree)/Makefile vmlinux"
++        "$(MAKE) -f $(srctree)/Makefile autoksyms_recursive"
+ endif
+ # For the kernel to actually contain only the needed exported symbols,
diff --git a/queue-5.4/modpost-fix-section-mismatch-check-for-exported-init-exit-sections.patch b/queue-5.4/modpost-fix-section-mismatch-check-for-exported-init-exit-sections.patch
new file mode 100644 (file)
index 0000000..0c2bbe7
--- /dev/null
@@ -0,0 +1,37 @@
+From 28438794aba47a27e922857d27b31b74e8559143 Mon Sep 17 00:00:00 2001
+From: Masahiro Yamada <masahiroy@kernel.org>
+Date: Sat, 11 Jun 2022 03:32:30 +0900
+Subject: modpost: fix section mismatch check for exported init/exit sections
+
+From: Masahiro Yamada <masahiroy@kernel.org>
+
+commit 28438794aba47a27e922857d27b31b74e8559143 upstream.
+
+Since commit f02e8a6596b7 ("module: Sort exported symbols"),
+EXPORT_SYMBOL* is placed in the individual section ___ksymtab(_gpl)+<sym>
+(3 leading underscores instead of 2).
+
+Since then, modpost cannot detect the bad combination of EXPORT_SYMBOL
+and __init/__exit.
+
+Fix the .fromsec field.
+
+Fixes: f02e8a6596b7 ("module: Sort exported symbols")
+Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
+Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ scripts/mod/modpost.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/scripts/mod/modpost.c
++++ b/scripts/mod/modpost.c
+@@ -1131,7 +1131,7 @@ static const struct sectioncheck section
+ },
+ /* Do not export init/exit functions or data */
+ {
+-      .fromsec = { "__ksymtab*", NULL },
++      .fromsec = { "___ksymtab*", NULL },
+       .bad_tosec = { INIT_SECTIONS, EXIT_SECTIONS, NULL },
+       .mismatch = EXPORT_TO_INIT_EXIT,
+       .symbol_white_list = { DEFAULT_SYMBOL_WHITE_LIST, NULL },
diff --git a/queue-5.4/random-update-comment-from-copy_to_user-copy_to_iter.patch b/queue-5.4/random-update-comment-from-copy_to_user-copy_to_iter.patch
new file mode 100644 (file)
index 0000000..b09cdb4
--- /dev/null
@@ -0,0 +1,30 @@
+From 63b8ea5e4f1a87dea4d3114293fc8e96a8f193d7 Mon Sep 17 00:00:00 2001
+From: "Jason A. Donenfeld" <Jason@zx2c4.com>
+Date: Mon, 20 Jun 2022 11:03:48 +0200
+Subject: random: update comment from copy_to_user() -> copy_to_iter()
+
+From: Jason A. Donenfeld <Jason@zx2c4.com>
+
+commit 63b8ea5e4f1a87dea4d3114293fc8e96a8f193d7 upstream.
+
+This comment wasn't updated when we moved from read() to read_iter(), so
+this patch makes the trivial fix.
+
+Fixes: 1b388e7765f2 ("random: convert to using fops->read_iter()")
+Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/char/random.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/char/random.c
++++ b/drivers/char/random.c
+@@ -450,7 +450,7 @@ static ssize_t get_random_bytes_user(str
+       /*
+        * Immediately overwrite the ChaCha key at index 4 with random
+-       * bytes, in case userspace causes copy_to_user() below to sleep
++       * bytes, in case userspace causes copy_to_iter() below to sleep
+        * forever, so that we still retain forward secrecy in that case.
+        */
+       crng_make_state(chacha_state, (u8 *)&chacha_state[4], CHACHA_KEY_SIZE);
index 709db87b85d5de86af1ab9554c4a99d53ff7fec5..cdea7f30d9309b937559456848ade91680a6c304 100644 (file)
@@ -49,3 +49,11 @@ parisc-enable-arch_has_strict_module_rwx.patch
 powerpc-enable-execve-syscall-exit-tracepoint.patch
 powerpc-rtas-allow-ibm-platform-dump-rtas-call-with-null-buffer-address.patch
 powerpc-powernv-wire-up-rng-during-setup_arch.patch
+arm-dts-imx6qdl-correct-pu-regulator-ramp-delay.patch
+arm-exynos-fix-refcount-leak-in-exynos_map_pmu.patch
+soc-bcm-brcmstb-pm-pm-arm-fix-refcount-leak-in-brcmstb_pm_probe.patch
+arm-fix-refcount-leak-in-axxia_boot_secondary.patch
+arm-cns3xxx-fix-refcount-leak-in-cns3xxx_init.patch
+modpost-fix-section-mismatch-check-for-exported-init-exit-sections.patch
+random-update-comment-from-copy_to_user-copy_to_iter.patch
+kbuild-link-vmlinux-only-once-for-config_trim_unused_ksyms-2nd-attempt.patch
diff --git a/queue-5.4/soc-bcm-brcmstb-pm-pm-arm-fix-refcount-leak-in-brcmstb_pm_probe.patch b/queue-5.4/soc-bcm-brcmstb-pm-pm-arm-fix-refcount-leak-in-brcmstb_pm_probe.patch
new file mode 100644 (file)
index 0000000..426af02
--- /dev/null
@@ -0,0 +1,37 @@
+From 37d838de369b07b596c19ff3662bf0293fdb09ee Mon Sep 17 00:00:00 2001
+From: Miaoqian Lin <linmq006@gmail.com>
+Date: Thu, 26 May 2022 11:53:22 +0400
+Subject: soc: bcm: brcmstb: pm: pm-arm: Fix refcount leak in brcmstb_pm_probe
+
+From: Miaoqian Lin <linmq006@gmail.com>
+
+commit 37d838de369b07b596c19ff3662bf0293fdb09ee upstream.
+
+of_find_matching_node() returns a node pointer with refcount
+incremented, we should use of_node_put() on it when not need anymore.
+Add missing of_node_put() to avoid refcount leak.
+
+In brcmstb_init_sram, it pass dn to of_address_to_resource(),
+of_address_to_resource() will call of_find_device_by_node() to take
+reference, so we should release the reference returned by
+of_find_matching_node().
+
+Fixes: 0b741b8234c8 ("soc: bcm: brcmstb: Add support for S2/S3/S5 suspend states (ARM)")
+Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
+Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
+Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/soc/bcm/brcmstb/pm/pm-arm.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/soc/bcm/brcmstb/pm/pm-arm.c
++++ b/drivers/soc/bcm/brcmstb/pm/pm-arm.c
+@@ -780,6 +780,7 @@ static int brcmstb_pm_probe(struct platf
+       }
+       ret = brcmstb_init_sram(dn);
++      of_node_put(dn);
+       if (ret) {
+               pr_err("error setting up SRAM for PM\n");
+               return ret;