[PATCH 0/4] powerpc/livepatch: reliable stack unwinder fixes

From: Joe Lawrence
Date: Tue Jan 22 2019 - 10:57:35 EST


This patchset fixes a false negative report (ie, unreliable) from the
ppc64 reliable stack unwinder, discussed here [1] when it may
inadvertently trip over a stale exception marker left on the stack.

The first two patches fix this bug. Nicolai's change clears the marker
from the stack when an exception is finished. The next patch modifies
the unwinder to only look for such on stack elements when the ABI
guarantees that they will actually be initialized.

The final two patches consist of code cleanups that Nicolai and I
spotted during the development of the fixes.

Testing included re-running the original test scenario (loading a
livepatch module on ppc64le) on a 5.0.0-rc2 kernel as well as a RHEL-7
backport. I ran internal tests on the RHEL-7 backport and no new test
failures were introduced. I believe that Nicolai has done the same
with respect to the first patch.

[1] https://lore.kernel.org/lkml/7f468285-b149-37e2-e782-c9e538b997a9@xxxxxxxxxx/

Joe Lawrence (3):
powerpc/livepatch: relax reliable stack tracer checks for first-frame
powerpc/livepatch: small cleanups in save_stack_trace_tsk_reliable()
powerpc/livepatch: return -ERRNO values in
save_stack_trace_tsk_reliable()

Nicolai Stange (1):
powerpc/64s: Clear on-stack exception marker upon exception return

arch/powerpc/Kconfig | 2 +-
arch/powerpc/kernel/entry_64.S | 7 +++
arch/powerpc/kernel/stacktrace.c | 74 +++++++++++++++++---------------
3 files changed, 47 insertions(+), 36 deletions(-)

--
2.20.1