linux_dsm_epyc7002/arch/arm64
Mark Rutland 592700f094 arm64: stacktrace: Better handle corrupted stacks
The arm64 stacktrace code is careful to only dereference frame records
in valid stack ranges, ensuring that a corrupted frame record won't
result in a faulting access.

However, it's still possible for corrupt frame records to result in
infinite loops in the stacktrace code, which is also undesirable.

This patch ensures that we complete a stacktrace in finite time, by
keeping track of which stacks we have already completed unwinding, and
verifying that if the next frame record is on the same stack, it is at a
higher address.

As this has turned out to be particularly subtle, comments are added to
explain the procedure.

Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Reviewed-by: James Morse <james.morse@arm.com>
Tested-by: James Morse <james.morse@arm.com>
Acked-by: Dave Martin <Dave.Martin@arm.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Cc: Tengfei Fan <tengfeif@codeaurora.org>
Signed-off-by: Will Deacon <will@kernel.org>
2019-07-22 11:44:15 +01:00
..
boot ARM: Device-tree updates 2019-07-19 17:19:24 -07:00
configs ARM: SoC defconfig updates 2019-07-19 17:27:27 -07:00
crypto Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2019-07-08 20:57:08 -07:00
include arm64: stacktrace: Better handle corrupted stacks 2019-07-22 11:44:15 +01:00
kernel arm64: stacktrace: Better handle corrupted stacks 2019-07-22 11:44:15 +01:00
kvm ARM: 2019-07-12 15:35:14 -07:00
lib treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
mm mm/memory_hotplug: allow arch_remove_memory() without CONFIG_MEMORY_HOTREMOVE 2019-07-18 17:08:06 -07:00
net arm64 updates for 5.3: 2019-07-08 09:54:55 -07:00
xen treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
Kconfig RISC-V updates for v5.3 2019-07-18 12:26:59 -07:00
Kconfig.debug treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
Kconfig.platforms ARM: SoC platform updates 2019-07-19 17:05:08 -07:00
Makefile Kconfig updates for v5.3 2019-07-12 16:06:27 -07:00