parisc/unwind: fix unwinder when CONFIG_64BIT is enabled
authorSven Schnelle <svens@stackframe.org>
Sat, 9 Oct 2021 21:15:17 +0000 (23:15 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 18 Nov 2021 18:16:21 +0000 (19:16 +0100)
commit028459fab9a637c18202077e667c33a0a096c192
treec65af09801819d02467a005d011f27b9d184269f
parentab7ce95a04d6718a09e8e7f1cb2ab57911ad4304
parisc/unwind: fix unwinder when CONFIG_64BIT is enabled

[ Upstream commit 8e0ba125c2bf1030af3267058019ba86da96863f ]

With 64 bit kernels unwind_special() is not working because
it compares the pc to the address of the function descriptor.
Add a helper function that compares pc with the dereferenced
address. This fixes all of the backtraces on my c8000. Without
this changes, a lot of backtraces are missing in kdb or the
show-all-tasks command from /proc/sysrq-trigger.

Signed-off-by: Sven Schnelle <svens@stackframe.org>
Signed-off-by: Helge Deller <deller@gmx.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
arch/parisc/kernel/unwind.c