diff --git a/kernel/trace/fprobe.c b/kernel/trace/fprobe.c index 71614b2a67ff3cc6b02e84f21582a4f52b774b64..e8143e3680744aa54e65b3061a9479661b3da1ce 100644 --- a/kernel/trace/fprobe.c +++ b/kernel/trace/fprobe.c @@ -303,7 +303,8 @@ int unregister_fprobe(struct fprobe *fp) { int ret; - if (!fp || fp->ops.func != fprobe_handler) + if (!fp || (fp->ops.saved_func != fprobe_handler && + fp->ops.saved_func != fprobe_kprobe_handler)) return -EINVAL; /*