Skip to contentSkip to conversation

Patch "arm64: cpuinfo: Missing NULL terminator in compat_hwcap_str" has been added to the 4.6-stable tree

PATCH [email protected] 1 participant 1 message May 29, 2016

Subsystems (2)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

arm64: cpuinfo: Missing NULL terminator in compat_hwcap_str

to the 4.6-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
arm64-cpuinfo-missing-null-terminator-in-compat_hwcap_str.patch
and it can be found in the queue-4.6 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From f228b494e56d949be8d8ea09d4f973d1979201bf Mon Sep 17 00:00:00 2001

From: Julien Grall <[email protected]>
Date: Tue, 10 May 2016 15:40:31 +0100
Subject: arm64: cpuinfo: Missing NULL terminator in compat_hwcap_str

From: Julien Grall <[email protected]>

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"
---
 arch/arm64/kernel/cpuinfo.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
arch/arm64/kernel/cpuinfo.c +2 -1
@@ -87,7 +87,8 @@ static const char *const compat_hwcap_st
 	"idivt",
 	"vfpd32",
 	"lpae",
-	"evtstrm"
+	"evtstrm",
+	NULL
 };
 
 static const char *const compat_hwcap2_str[] = {

Patches currently in stable-queue which might be from [email protected] are

queue-4.6/arm64-cpuinfo-missing-null-terminator-in-compat_hwcap_str.patch queue-4.6/arm64-implement-ptep_set_access_flags-for-hardware-af-dbm.patch