diff options
author | Konstantin Khlebnikov <k.khlebnikov@samsung.com> | 2013-12-05 13:30:16 +0000 |
---|---|---|
committer | Mark Brown <broonie@linaro.org> | 2014-05-16 16:40:04 +0100 |
commit | 75448bec59b915885b3e84bca0d38acf34b5db61 (patch) | |
tree | 9bc27ed3393a4eef74ce9fafc58f7460950b0487 | |
parent | a62c1e2a0a220b20d942e0cc0ca204347b7b7aa6 (diff) |
ARM64: fix framepointer check in unwind_frame
We need at least 24 bytes above frame pointer.
Signed-off-by: Konstantin Khlebnikov <k.khlebnikov@samsung.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
(cherry picked from commit 26920dd2da79a3207803da9453c0e6c82ac968ca)
Signed-off-by: Mark Brown <broonie@linaro.org>
-rw-r--r-- | arch/arm64/kernel/stacktrace.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/arm64/kernel/stacktrace.c b/arch/arm64/kernel/stacktrace.c index 048334bb2651..38f0558f0c0a 100644 --- a/arch/arm64/kernel/stacktrace.c +++ b/arch/arm64/kernel/stacktrace.c @@ -43,7 +43,7 @@ int unwind_frame(struct stackframe *frame) low = frame->sp; high = ALIGN(low, THREAD_SIZE); - if (fp < low || fp > high || fp & 0xf) + if (fp < low || fp > high - 0x18 || fp & 0xf) return -EINVAL; frame->sp = fp + 0x10; |