diff --git a/kernel/kprobes.c b/kernel/kprobes.c index f9c3a7da4821b9d9eab912144b75521ad2eb7be2..5ce3365ba3254bd429f429f6b9eed982266ef488 100644 --- a/kernel/kprobes.c +++ b/kernel/kprobes.c @@ -1902,6 +1902,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;