]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.18-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 3 Jul 2017 07:20:40 +0000 (09:20 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 3 Jul 2017 07:20:40 +0000 (09:20 +0200)
added patches:
arm64-cpuinfo-missing-null-terminator-in-compat_hwcap_str.patch

queue-3.18/arm64-cpuinfo-missing-null-terminator-in-compat_hwcap_str.patch [new file with mode: 0644]
queue-3.18/series

diff --git a/queue-3.18/arm64-cpuinfo-missing-null-terminator-in-compat_hwcap_str.patch b/queue-3.18/arm64-cpuinfo-missing-null-terminator-in-compat_hwcap_str.patch
new file mode 100644 (file)
index 0000000..ddee263
--- /dev/null
@@ -0,0 +1,44 @@
+From f228b494e56d949be8d8ea09d4f973d1979201bf Mon Sep 17 00:00:00 2001
+From: Julien Grall <julien.grall@arm.com>
+Date: Tue, 10 May 2016 15:40:31 +0100
+Subject: arm64: cpuinfo: Missing NULL terminator in compat_hwcap_str
+
+From: Julien Grall <julien.grall@arm.com>
+
+commit f228b494e56d949be8d8ea09d4f973d1979201bf upstream.
+
+The loop that browses the array compat_hwcap_str will stop when a NULL
+is encountered, however NULL is missing at the end of array. This will
+lead to overrun until a NULL is found somewhere in the following memory.
+In reality, this works out because the compat_hwcap2_str array tends to
+follow immediately in memory, and that *is* terminated correctly.
+Furthermore, the unsigned int compat_elf_hwcap is checked before
+printing each capability, so we end up doing the right thing because
+the size of the two arrays is less than 32. Still, this is an obvious
+mistake and should be fixed.
+
+Note for backporting: commit 12d11817eaafa414 ("arm64: Move
+/proc/cpuinfo handling code") moved this code in v4.4. Prior to that
+commit, the same change should be made in arch/arm64/kernel/setup.c.
+
+Fixes: 44b82b7700d0 "arm64: Fix up /proc/cpuinfo"
+Signed-off-by: Julien Grall <julien.grall@arm.com>
+Signed-off-by: Will Deacon <will.deacon@arm.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/arm64/kernel/setup.c |    3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+--- a/arch/arm64/kernel/setup.c
++++ b/arch/arm64/kernel/setup.c
+@@ -473,7 +473,8 @@ static const char *compat_hwcap_str[] =
+       "idivt",
+       "vfpd32",
+       "lpae",
+-      "evtstrm"
++      "evtstrm",
++      NULL
+ };
+ static const char *compat_hwcap2_str[] = {
index c7f331996839491b6efe786f69641696263930ca..aabdfe35c3b2d4b949d0adc7741b41f896fff228 100644 (file)
@@ -12,3 +12,4 @@ ipv6-fix-calling-in6_ifa_hold-incorrectly-for-dad-work.patch
 decnet-always-not-take-dst-__refcnt-when-inserting-dst-into-hash-table.patch
 net-8021q-fix-one-possible-panic-caused-by-bug_on-in-free_netdev.patch
 nfsv4-fix-a-reference-leak-caused-warning-messages.patch
+arm64-cpuinfo-missing-null-terminator-in-compat_hwcap_str.patch