]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
4.9-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 5 Jul 2019 18:24:33 +0000 (20:24 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 5 Jul 2019 18:24:33 +0000 (20:24 +0200)
added patches:
clk-sunxi-fix-uninitialized-access.patch

queue-4.9/clk-sunxi-fix-uninitialized-access.patch [new file with mode: 0644]
queue-4.9/series

diff --git a/queue-4.9/clk-sunxi-fix-uninitialized-access.patch b/queue-4.9/clk-sunxi-fix-uninitialized-access.patch
new file mode 100644 (file)
index 0000000..db2c29b
--- /dev/null
@@ -0,0 +1,42 @@
+From 4e903450bcb9a6bc90733b981d7cb8b3c4996a0e Mon Sep 17 00:00:00 2001
+From: Arnd Bergmann <arnd@arndb.de>
+Date: Wed, 23 Aug 2017 16:39:27 +0200
+Subject: clk: sunxi: fix uninitialized access
+
+From: Arnd Bergmann <arnd@arndb.de>
+
+commit 4e903450bcb9a6bc90733b981d7cb8b3c4996a0e upstream.
+
+gcc-8 reports an uninitialized variable access in a code path
+that we would see with incorrect DTB input:
+
+drivers/clk/sunxi/clk-sun8i-bus-gates.c: In function 'sun8i_h3_bus_gates_init':
+drivers/clk/sunxi/clk-sun8i-bus-gates.c:85:27: error: 'clk_parent' may be used uninitialized in this function [-Werror=maybe-uninitialized]
+
+This works around by skipping invalid input and printing a warning
+instead if it ever happens. The problem was apparently part of the
+initiali driver submission, but older compilers don't notice it.
+
+Fixes: ab6e23a4e388 ("clk: sunxi: Add H3 clocks support")
+Signed-off-by: Arnd Bergmann <arnd@arndb.de>
+Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com>
+Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/clk/sunxi/clk-sun8i-bus-gates.c |    4 ++++
+ 1 file changed, 4 insertions(+)
+
+--- a/drivers/clk/sunxi/clk-sun8i-bus-gates.c
++++ b/drivers/clk/sunxi/clk-sun8i-bus-gates.c
+@@ -78,6 +78,10 @@ static void __init sun8i_h3_bus_gates_in
+                       clk_parent = APB1;
+               else if (index >= 96 && index <= 127)
+                       clk_parent = APB2;
++              else {
++                      WARN_ON(true);
++                      continue;
++              }
+               clk_reg = reg + 4 * (index / 32);
+               clk_bit = index % 32;
index f0eafb2c80394dcc30eb5e39fb5e9c6b81a2eca7..9d6da1c891537c7d74d6b56167fed734a519d3ef 100644 (file)
@@ -79,6 +79,7 @@ mfd-omap-usb-tll-fix-register-offsets.patch
 arc-fix-allnoconfig-build-warning.patch
 bug.h-work-around-gcc-pr82365-in-bug.patch
 arc-handle-gcc-generated-__builtin_trap-for-older-compiler.patch
+clk-sunxi-fix-uninitialized-access.patch
 drm-i915-dmc-protect-against-reading-random-memory.patch
 mips-workaround-gcc-__builtin_unreachable-reordering.patch
 ptrace-fix-ptracer_cred-handling-for-ptrace_traceme.patch