Nathan Huckleberry 121b25aded ARM: 8992/1: Fix unwind_frame for clang-built kernels
commit b4d5ec9b39f8b31d98f65bc5577b5d15d93795d7 upstream.

Since clang does not push pc and sp in function prologues, the current
implementation of unwind_frame does not work. By using the previous
frame's lr/fp instead of saved pc/sp we get valid unwinds on clang-built
kernels.

The bounds check on next frame pointer must be changed as well since
there are 8 less bytes between frames.

This fixes /proc/<pid>/stack.

Link: https://github.com/ClangBuiltLinux/linux/issues/912

Reported-by: Miles Chen <miles.chen@mediatek.com>
Tested-by: Miles Chen <miles.chen@mediatek.com>
Cc: stable@vger.kernel.org
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
Signed-off-by: Nathan Huckleberry <nhuck@google.com>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-08-21 11:02:06 +02:00
..
2016-10-19 10:18:47 +01:00
2015-05-20 23:09:51 +02:00
2014-11-21 15:24:50 +00:00
2014-11-21 15:24:50 +00:00
2014-11-21 15:24:50 +00:00
2014-11-21 15:25:02 +00:00
2019-06-22 08:17:12 +02:00
2014-11-21 15:24:50 +00:00
2016-11-16 23:51:19 +00:00