projects
/
linux-2.6-microblaze.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
dcf0467
)
bpf: Allow return values 0 and 1 for kprobe session
author
Jiri Olsa
<jolsa@kernel.org>
Fri, 8 Nov 2024 13:45:32 +0000
(14:45 +0100)
committer
Andrii Nakryiko
<andrii@kernel.org>
Mon, 11 Nov 2024 16:17:57 +0000
(08:17 -0800)
The kprobe session program can return only 0 or 1,
instruct verifier to check for that.
Fixes:
535a3692ba72
("bpf: Add support for kprobe session attach")
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Acked-by: Andrii Nakryiko <andrii@kernel.org>
Link:
https://lore.kernel.org/bpf/20241108134544.480660-2-jolsa@kernel.org
kernel/bpf/verifier.c
patch
|
blob
|
history
diff --git
a/kernel/bpf/verifier.c
b/kernel/bpf/verifier.c
index
7958d6f
..
7d8ed37
100644
(file)
--- a/
kernel/bpf/verifier.c
+++ b/
kernel/bpf/verifier.c
@@
-16024,6
+16024,15
@@
static int check_return_code(struct bpf_verifier_env *env, int regno, const char
return -ENOTSUPP;
}
break;
+ case BPF_PROG_TYPE_KPROBE:
+ switch (env->prog->expected_attach_type) {
+ case BPF_TRACE_KPROBE_SESSION:
+ range = retval_range(0, 1);
+ break;
+ default:
+ return 0;
+ }
+ break;
case BPF_PROG_TYPE_SK_LOOKUP:
range = retval_range(SK_DROP, SK_PASS);
break;