| From 2b3626d581fa1c456c19c646c0e1bf14d24309ea Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Tue, 26 Oct 2021 09:51:28 +0800 |
| Subject: samples/kretprobes: Fix return value if register_kretprobe() failed |
| |
| From: Tiezhu Yang <yangtiezhu@loongson.cn> |
| |
| [ Upstream commit f76fbbbb5061fe14824ba5807c44bd7400a6b4e1 ] |
| |
| Use the actual return value instead of always -1 if register_kretprobe() |
| failed. |
| |
| E.g. without this patch: |
| |
| # insmod samples/kprobes/kretprobe_example.ko func=no_such_func |
| insmod: ERROR: could not insert module samples/kprobes/kretprobe_example.ko: Operation not permitted |
| |
| With this patch: |
| |
| # insmod samples/kprobes/kretprobe_example.ko func=no_such_func |
| insmod: ERROR: could not insert module samples/kprobes/kretprobe_example.ko: Unknown symbol in module |
| |
| Link: https://lkml.kernel.org/r/1635213091-24387-2-git-send-email-yangtiezhu@loongson.cn |
| |
| Fixes: 804defea1c02 ("Kprobes: move kprobe examples to samples/") |
| Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn> |
| Acked-by: Masami Hiramatsu <mhiramat@kernel.org> |
| Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| samples/kprobes/kretprobe_example.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| diff --git a/samples/kprobes/kretprobe_example.c b/samples/kprobes/kretprobe_example.c |
| index 186315ca88b3f..2701549ee7b3a 100644 |
| --- a/samples/kprobes/kretprobe_example.c |
| +++ b/samples/kprobes/kretprobe_example.c |
| @@ -84,7 +84,7 @@ static int __init kretprobe_init(void) |
| ret = register_kretprobe(&my_kretprobe); |
| if (ret < 0) { |
| pr_err("register_kretprobe failed, returned %d\n", ret); |
| - return -1; |
| + return ret; |
| } |
| pr_info("Planted return probe at %s: %p\n", |
| my_kretprobe.kp.symbol_name, my_kretprobe.kp.addr); |
| -- |
| 2.33.0 |
| |