<html><head></head><body><div><br></div><div><span><pre><br></pre><pre>
</pre></span></div><div><br></div><div>On Fri, 2023-03-31 at 09:00 -0500, John Cabaj wrote:</div><blockquote type="cite" style="margin:0 0 0 .8ex; border-left:2px #729fcf solid;padding-left:1ex"><div>BugLink: <a href="https://bugs.launchpad.net/bugs/2013603">https://bugs.launchpad.net/bugs/2013603</a> (Kernel livepatch ftrace graph fix)<br></div><div><br></div><div>[Impact]<br></div><div>* Additional patch required to support Livepatch for s390x<br></div><div>* Fixes Livepatch transition issues when using ftrace graph tracing<br></div><div><br></div><div>[Fix]<br></div><div>87cbae6dcc95 ("kprobes: treewide: Remove trampoline_address from kretprobe_trampoline_handler()")<br></div><div>a9623ec2e36c ("kprobes: treewide: Make it harder to refer kretprobe_trampoline directly")<br></div><div>78ef68e5815f ("kprobes: Add kretprobe_find_ret_addr() for searching return address")<br></div><div>d8dd7cae7285 ("390/unwind: recover kretprobe modified return address in stacktrace")<br></div><div>da7a651be4dd ("s390/unwind: fix fgraph return address recovery")<br></div><div><br></div><div>[Test Case]<br></div><div>* Compile tested<br></div><div>* Boot tested<br></div><div>* Tested a Livepatch (patch to /proc/meminfo module)<br></div><div>* Tested Livepatch from ftrace graphed function (via <a href="https://github.com/SUSE/qa_test_klp/">https://github.com/SUSE/qa_test_klp/</a>, klp_tc_10.sh)<br></div><div><br></div><div>[Where things could go wrong]<br></div><div>* Functionality already exists upstream, kernel was boot and Livepatch tested - should have no regressions<br></div><div><br></div><div>-v2:<br></div><div>* Created new BugLink<br></div><div><br></div><div><br></div><div>Masami Hiramatsu (3):<br></div><div>  kprobes: treewide: Remove trampoline_address from<br></div><div>    kretprobe_trampoline_handler()<br></div><div>  kprobes: treewide: Make it harder to refer kretprobe_trampoline<br></div><div>    directly<br></div><div>  kprobes: Add kretprobe_find_ret_addr() for searching return address<br></div><div><br></div><div>Sumanth Korikkar (1):<br></div><div>  s390/unwind: fix fgraph return address recovery<br></div><div><br></div><div>Vasily Gorbik (1):<br></div><div>  s390/unwind: recover kretprobe modified return address in stacktrace<br></div><div><br></div><div> arch/arc/include/asm/kprobes.h                |   2 +-<br></div><div> arch/arc/kernel/kprobes.c                     |  13 +-<br></div><div> arch/arm/probes/kprobes/core.c                |   9 +-<br></div><div> arch/arm64/include/asm/kprobes.h              |   2 +-<br></div><div> arch/arm64/kernel/probes/kprobes.c            |   5 +-<br></div><div> arch/arm64/kernel/probes/kprobes_trampoline.S |   4 +-<br></div><div> arch/csky/include/asm/kprobes.h               |   2 +-<br></div><div> arch/csky/kernel/probes/kprobes.c             |   4 +-<br></div><div> arch/csky/kernel/probes/kprobes_trampoline.S  |   4 +-<br></div><div> arch/ia64/kernel/kprobes.c                    |  11 +-<br></div><div> arch/mips/kernel/kprobes.c                    |  15 ++-<br></div><div> arch/parisc/kernel/kprobes.c                  |   6 +-<br></div><div> arch/powerpc/include/asm/kprobes.h            |   2 +-<br></div><div> arch/powerpc/kernel/kprobes.c                 |  18 +--<br></div><div> arch/powerpc/kernel/optprobes.c               |   2 +-<br></div><div> arch/powerpc/kernel/stacktrace.c              |   2 +-<br></div><div> arch/riscv/include/asm/kprobes.h              |   2 +-<br></div><div> arch/riscv/kernel/probes/kprobes.c            |   4 +-<br></div><div> arch/riscv/kernel/probes/kprobes_trampoline.S |   4 +-<br></div><div> arch/s390/include/asm/kprobes.h               |   2 +-<br></div><div> arch/s390/include/asm/unwind.h                |  13 ++<br></div><div> arch/s390/kernel/kprobes.c                    |  12 +-<br></div><div> arch/s390/kernel/stacktrace.c                 |   2 +-<br></div><div> arch/s390/kernel/unwind_bc.c                  |   8 +-<br></div><div> arch/sh/include/asm/kprobes.h                 |   2 +-<br></div><div> arch/sh/kernel/kprobes.c                      |  12 +-<br></div><div> arch/sparc/include/asm/kprobes.h              |   2 +-<br></div><div> arch/sparc/kernel/kprobes.c                   |  12 +-<br></div><div> arch/x86/include/asm/kprobes.h                |   1 -<br></div><div> arch/x86/kernel/kprobes/core.c                |  22 ++--<br></div><div> include/linux/kprobes.h                       |  40 ++++++-<br></div><div> kernel/kprobes.c                              | 112 +++++++++++++-----<br></div><div> kernel/trace/trace_output.c                   |   2 +-<br></div><div> 33 files changed, 222 insertions(+), 131 deletions(-)<br></div><div><br></div><div>-- <br></div><div>2.34.1<br></div><div><br></div></blockquote><div><br></div><pre style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-variant-caps: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; widows: auto; word-spacing: 0px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0.4); -webkit-text-stroke-width: 0px; text-decoration: none;">-- <br></pre><pre style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-variant-caps: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; widows: auto; word-spacing: 0px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0.4); -webkit-text-stroke-width: 0px; text-decoration: none;">Acked-by: Philip Cox <<a href="mailto:philip.cox@canonical.com">philip.cox@canonical.com</a>></pre></body></html>