|
@@ -572,7 +572,9 @@ static void put_uprobe(struct uprobe *uprobe)
|
|
* gets called, we don't get a chance to remove uprobe from
|
|
* gets called, we don't get a chance to remove uprobe from
|
|
* delayed_uprobe_list from remove_breakpoint(). Do it here.
|
|
* delayed_uprobe_list from remove_breakpoint(). Do it here.
|
|
*/
|
|
*/
|
|
|
|
+ mutex_lock(&delayed_uprobe_lock);
|
|
delayed_uprobe_remove(uprobe, NULL);
|
|
delayed_uprobe_remove(uprobe, NULL);
|
|
|
|
+ mutex_unlock(&delayed_uprobe_lock);
|
|
kfree(uprobe);
|
|
kfree(uprobe);
|
|
}
|
|
}
|
|
}
|
|
}
|