diff options
| author | Alexei Starovoitov <ast@kernel.org> | 2026-10-17 16:37:30 +0000 |
|---|---|---|
| committer | Alexei Starovoitov <ast@kernel.org> | 2026-10-17 22:01:15 +0000 |
| commit | 7fe348f18b37b3f4c8beb981ef3f84564047380a (patch) | |
| tree | 3be74a34b2e5a879239db8d1f1ba6109c825ce72 /tools/perf/scripts/python | |
| parent | cd0490e671d70326d70c7d36e82388939fd9b071 (diff) | |
bpf: Don't take an extension for a writable raw tracepoint program
bpf_probe_register() compares max_tp_access of the program that is
attached with the size of the buffer that the tracepoint lets programs
write to. An extension of that program, or of one of its global
functions, gets the same context and the same pointer to the buffer. What
it accesses is noted in its own max_tp_access, which nobody looks at. So
it reads and writes behind the buffer, of a tracepoint that may have none:
BUG: KASAN: stack-out-of-bounds in bpf_prog_5843f2b820eb4929_tr26_ext_far+0xf4/0x10c
Write of size 4 at addr ffffc90000d8f894 by task wext/103
Refuse such extensions.
Fixes: be8704ff07d2 ("bpf: Introduce dynamic program extensions")
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Link: https://patch.msgid.link/20261017163745.3341787-29-alexei.starovoitov@gmail.com
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions
