diff --git a/kernel/kprobes.c b/kernel/kprobes.c index 35d3ac6c4b42b4fa7830d8b102b0c7e7a84396e6..1ac445d57574ef9a3679be65e2186e15dc06da4d 100644 --- a/kernel/kprobes.c +++ b/kernel/kprobes.c @@ -1923,6 +1923,14 @@ int register_kretprobe(struct kretprobe *rp) } } + /* + * Return error if it's being re-registered, + * also give a warning message to the developer. + */ + ret = check_kprobe_rereg(&rp->kp); + if (WARN_ON(ret)) + return ret; + rp->kp.pre_handler = pre_handler_kretprobe; rp->kp.post_handler = NULL; rp->kp.fault_handler = NULL;