Re: [PATCH v1 0/5] Implement livepatch on PPC32
From: Christophe Leroy <hidden>
Date: 2021-12-14 15:13:00
Also in:
linux-s390, live-patching, lkml
Le 14/12/2021 à 15:25, Heiko Carstens a écrit :
On Mon, Dec 13, 2021 at 05:50:52PM +0000, Christophe Leroy wrote:quoted
Le 13/12/2021 à 18:33, Steven Rostedt a écrit :quoted
On Mon, 13 Dec 2021 17:30:48 +0000 Christophe Leroy [off-list ref] wrote:quoted
Thanks, I will try that. I can't find ftrace_graph_func() in s390. Does it mean that s390 doesn't have a working function tracer anymore ? I see your commit 0c0593b45c9b4 ("x86/ftrace: Make function graph use ftrace directly") is dated 8 Oct 2021 while 5740a7c71ab6 ("s390/ftrace: add HAVE_DYNAMIC_FTRACE_WITH_ARGS support") is 4 Oct 2021.Hmm, maybe not. I can't test it. This needs to be fixed if that's the case. Thanks for bringing it up!It still works, we run the full ftrace/kprobes selftests from the kernel every day on multiple machines with several kernels (besides other Linus' tree, but also linux-next). That said, I wanted to change s390's code follow what x86 is currently doing anyway. One thing to note: commit 5740a7c71ab6 ("s390/ftrace: add HAVE_DYNAMIC_FTRACE_WITH_ARGS support") looks only that simple because ftrace_caller _and_ ftrace_regs_caller used to save all register contents into the pt_regs structure, which never was a requirement, but implicitly fulfills the HAVE_DYNAMIC_FTRACE_WITH_ARGS requirements. Not sure if powerpc passes enough register contents via pt_regs for HAVE_DYNAMIC_FTRACE_WITH_ARGS though. Might be something to check?
In fact there is no need to rework the function graph logic. It still works as is with HAVE_DYNAMIC_FTRACE_WITH_ARGS. The problem was that the sefltests were failing with CONFIG_DYNAMIC_FTRACE_WITH_DIRECT_CALLS not being selected on powerpc. As s390 selects CONFIG_DYNAMIC_FTRACE_WITH_DIRECT_CALLS, there is no problem. Thanks Christophe