On Wed, Aug 26, 2020 at 04:08:52PM +0200, peterz@xxxxxxxxxxxxx wrote: > On Wed, Aug 26, 2020 at 10:46:43PM +0900, Masami Hiramatsu wrote: > > static __used __kprobes void *trampoline_handler(struct pt_regs *regs) > > { > > + return (void *)kretprobe_trampoline_handler(regs, > > + (unsigned long)&kretprobe_trampoline, > > + regs->ARM_fp); > > } > > Does it make sense to have the generic code have a weak > trampoline_handler() implemented like the above? It looks like a number > of architectures have this trivial variant and it seems pointless to > duplicate this. Argh, I replied to the wrong variant, I mean the one that uses kernel_stack_pointer(regs). Then the architecture only needs to implement kernel_stack_pointer() if there is nothing else to do.