* Masami Hiramatsu <mhiramat@xxxxxxxxxx> wrote: > --- a/include/linux/kprobes.h > +++ b/include/linux/kprobes.h > @@ -197,15 +197,23 @@ extern void arch_prepare_kretprobe(struct kretprobe_instance *ri, > struct pt_regs *regs); > extern int arch_trampoline_kprobe(struct kprobe *p); > > +void kretprobe_trampoline(void); > +/* > + * Since some architecture uses structured function pointer, > + * use dereference_function_descriptor() to get real function address. > + */ > +static nokprobe_inline void *kretprobe_trampoline_addr(void) > +{ > + return dereference_kernel_function_descriptor(kretprobe_trampoline); > +} Could we please also make 'kretprobe_trampoline' harder to use accidentally, such by naming it appropriately? __kretprobe_trampoline would be a good first step I guess. Thanks, Ingo