diff --git a/kernel/events/uprobes.c b/kernel/events/uprobes.c index 96d4bee83489b113a1f37452aeffb8e13461b230..98b9312ce6b2933d5baf87c804f811ea2dcf230e 100644 --- a/kernel/events/uprobes.c +++ b/kernel/events/uprobes.c @@ -572,7 +572,9 @@ static void put_uprobe(struct uprobe *uprobe) * gets called, we don't get a chance to remove uprobe from * delayed_uprobe_list from remove_breakpoint(). Do it here. */ + mutex_lock(&delayed_uprobe_lock); delayed_uprobe_remove(uprobe, NULL); + mutex_unlock(&delayed_uprobe_lock); kfree(uprobe); } }