int
unregister_kernel_probe (kernel_probe_t * probe)
{
- unregister_kernel_jprobe (probe);
- unregister_kernel_retprobe (probe);
+ unregister_kernel_retprobe(probe);
+ unregister_kernel_jprobe(probe);
return 0;
}
atomic_t kprobe_count;
-
void kretprobe_assert (struct kretprobe_instance *ri, unsigned long orig_ret_address, unsigned long trampoline_address)
{
if (!orig_ret_address || (orig_ret_address == trampoline_address)) {
list_del_rcu (&p->list);
kfree (old_p);
}
+
+ if (!in_atomic()) {
+ synchronize_sched();
+ }
+
arch_remove_kprobe (p, task);
}
else