From 9123f05a60ba04ccba6c9f7ee96c0b7abc16ef7d Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Fri, 5 Jul 2019 20:24:33 +0200 Subject: [PATCH] 4.9-stable patches added patches: clk-sunxi-fix-uninitialized-access.patch --- .../clk-sunxi-fix-uninitialized-access.patch | 42 +++++++++++++++++++ queue-4.9/series | 1 + 2 files changed, 43 insertions(+) create mode 100644 queue-4.9/clk-sunxi-fix-uninitialized-access.patch 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 index 00000000000..db2c29b5301 --- /dev/null +++ b/queue-4.9/clk-sunxi-fix-uninitialized-access.patch @@ -0,0 +1,42 @@ +From 4e903450bcb9a6bc90733b981d7cb8b3c4996a0e Mon Sep 17 00:00:00 2001 +From: Arnd Bergmann +Date: Wed, 23 Aug 2017 16:39:27 +0200 +Subject: clk: sunxi: fix uninitialized access + +From: Arnd Bergmann + +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 +Acked-by: Maxime Ripard +Signed-off-by: Stephen Boyd +Signed-off-by: Greg Kroah-Hartman + +--- + 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; diff --git a/queue-4.9/series b/queue-4.9/series index f0eafb2c803..9d6da1c8915 100644 --- a/queue-4.9/series +++ b/queue-4.9/series @@ -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 -- 2.47.3