ARM64: fix framepointer check in unwind_frame
authorKonstantin Khlebnikov <k.khlebnikov@samsung.com>
Thu, 5 Dec 2013 13:30:16 +0000 (13:30 +0000)
committerMark Brown <broonie@linaro.org>
Fri, 16 May 2014 15:40:04 +0000 (16:40 +0100)
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>
arch/arm64/kernel/stacktrace.c

index 048334bb2651a19ede00ac4a33323be67ea05e5a..38f0558f0c0a56a7a57fe9bb12d08eb01dea7cdc 100644 (file)
@@ -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;