[SRU][jammy][PATCH v2 0/5] ftrace graph return address recovery support for s390x Livepatch
Stefan Bader
stefan.bader at canonical.com
Mon Apr 3 08:59:10 UTC 2023
On 31.03.23 16:00, John Cabaj wrote:
> BugLink: https://bugs.launchpad.net/bugs/2013603 (Kernel livepatch ftrace graph fix)
>
This is through review but some additional notes:
> [Impact]
> * Additional patch required to support Livepatch for s390x
This is not really helping to understand why we end up with 5 patcheS
instead of a singular patch. Likely pre-reqs but it would be nice to
explain. One might also mention whether any of those is larger or if all
are just tiny compared to the real fix.
> * Fixes Livepatch transition issues when using ftrace graph tracing
>
> [Fix]
> 87cbae6dcc95 ("kprobes: treewide: Remove trampoline_address from kretprobe_trampoline_handler()")
> a9623ec2e36c ("kprobes: treewide: Make it harder to refer kretprobe_trampoline directly")
> 78ef68e5815f ("kprobes: Add kretprobe_find_ret_addr() for searching return address")
> d8dd7cae7285 ("390/unwind: recover kretprobe modified return address in stacktrace")
> da7a651be4dd ("s390/unwind: fix fgraph return address recovery")
>
> [Test Case]
> * Compile tested
> * Boot tested
> * Tested a Livepatch (patch to /proc/meminfo module)
> * Tested Livepatch from ftrace graphed function (via https://github.com/SUSE/qa_test_klp/, klp_tc_10.sh)
>
> [Where things could go wrong]
> * Functionality already exists upstream, kernel was boot and Livepatch tested - should have no regressions
Given the diffstat below this seems to be a little vague. Some of the
arch changes are not relevant as we don't live-patch there. That would
be good to mention. For the kprobes change, I would prefer some rough
outline which aspect gets changed. That would help to get a better grasp
on the done tests to be sufficient. Like which area would likely get
affected by issues.
-Stefan
>
> -v2:
> * Created new BugLink
>
>
> Masami Hiramatsu (3):
> kprobes: treewide: Remove trampoline_address from
> kretprobe_trampoline_handler()
> kprobes: treewide: Make it harder to refer kretprobe_trampoline
> directly
> kprobes: Add kretprobe_find_ret_addr() for searching return address
>
> Sumanth Korikkar (1):
> s390/unwind: fix fgraph return address recovery
>
> Vasily Gorbik (1):
> s390/unwind: recover kretprobe modified return address in stacktrace
>
> arch/arc/include/asm/kprobes.h | 2 +-
> arch/arc/kernel/kprobes.c | 13 +-
> arch/arm/probes/kprobes/core.c | 9 +-
> arch/arm64/include/asm/kprobes.h | 2 +-
> arch/arm64/kernel/probes/kprobes.c | 5 +-
> arch/arm64/kernel/probes/kprobes_trampoline.S | 4 +-
> arch/csky/include/asm/kprobes.h | 2 +-
> arch/csky/kernel/probes/kprobes.c | 4 +-
> arch/csky/kernel/probes/kprobes_trampoline.S | 4 +-
> arch/ia64/kernel/kprobes.c | 11 +-
> arch/mips/kernel/kprobes.c | 15 ++-
> arch/parisc/kernel/kprobes.c | 6 +-
> arch/powerpc/include/asm/kprobes.h | 2 +-
> arch/powerpc/kernel/kprobes.c | 18 +--
> arch/powerpc/kernel/optprobes.c | 2 +-
> arch/powerpc/kernel/stacktrace.c | 2 +-
> arch/riscv/include/asm/kprobes.h | 2 +-
> arch/riscv/kernel/probes/kprobes.c | 4 +-
> arch/riscv/kernel/probes/kprobes_trampoline.S | 4 +-
> arch/s390/include/asm/kprobes.h | 2 +-
> arch/s390/include/asm/unwind.h | 13 ++
> arch/s390/kernel/kprobes.c | 12 +-
> arch/s390/kernel/stacktrace.c | 2 +-
> arch/s390/kernel/unwind_bc.c | 8 +-
> arch/sh/include/asm/kprobes.h | 2 +-
> arch/sh/kernel/kprobes.c | 12 +-
> arch/sparc/include/asm/kprobes.h | 2 +-
> arch/sparc/kernel/kprobes.c | 12 +-
> arch/x86/include/asm/kprobes.h | 1 -
> arch/x86/kernel/kprobes/core.c | 22 ++--
> include/linux/kprobes.h | 40 ++++++-
> kernel/kprobes.c | 112 +++++++++++++-----
> kernel/trace/trace_output.c | 2 +-
> 33 files changed, 222 insertions(+), 131 deletions(-)
>
--
- Stefan
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_0xE8675DEECBEECEA3.asc
Type: application/pgp-keys
Size: 44613 bytes
Desc: OpenPGP public key
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20230403/43a861fc/attachment-0001.key>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20230403/43a861fc/attachment-0001.sig>
More information about the kernel-team
mailing list