On Thu, 27 Aug 2020 18:12:40 +0200 Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote: > @@ -1313,25 +1261,28 @@ void kprobe_busy_end(void) > void kprobe_flush_task(struct task_struct *tk) > { > struct kretprobe_instance *ri; > - struct hlist_head *head, empty_rp; > + struct hlist_head empty_rp; > + struct llist_node *node; > struct hlist_node *tmp; We don't need this tmp anymore. > @@ -1935,71 +1932,45 @@ unsigned long __kretprobe_trampoline_han > unsigned long trampoline_address, > void *frame_pointer) > { > + kprobe_opcode_t *correct_ret_addr = NULL; > struct kretprobe_instance *ri = NULL; > - struct hlist_head *head, empty_rp; > + unsigned long orig_ret_address = 0; > + struct llist_node *first, *node; > + struct hlist_head empty_rp; > struct hlist_node *tmp; Here too. I'm trying to port this patch on my v4 series. I'll add my RFC patch of kretprobe_holder too. Thank you, -- Masami Hiramatsu <mhiramat@xxxxxxxxxx>