On Thu 2020-11-19 09:12:35, Steven Rostedt wrote: > On Thu, 19 Nov 2020 12:52:00 +0100 > Petr Mladek <pmladek@xxxxxxxx> wrote: > > > > #ifdef CONFIG_LIVEPATCH > > > -static inline void klp_arch_set_pc(struct pt_regs *regs, unsigned long ip) > > > +static inline void klp_arch_set_pc(struct ftrace_regs *fregs, unsigned long ip) > > > { > > > + struct pt_regs *regs = ftrace_get_regs(fregs); > > > > Should we check for NULL pointer here? > > As mentioned in my last email. regs could have been NULL for the same > reasons before this patch, and we didn't check it then. Why should we check > it now? > > The ftrace_get_regs() only makes sure that a ftrace_ops that set > FL_SAVE_REGS gets it, and those that did not, don't. > > But that's not entirely true either. If there's two callbacks to the same > function, and one has FL_SAVE_REGS set, they both can have access to the > regs (before and after this patch). It's just that the one that did not > have FL_SAVE_REGS set, isn't guaranteed to have it. Makes sense. Thanks for explanation. Feel free to use: Acked-by: Petr Mladek <pmladek@xxxxxxxx> I actually did review of all patches and they looked fine to me. I just did not check all corner cases, assembly, and did not test it, so I give it just my ack. I believe your testing ;-) Best Regards, Petr