Skip to content

Commit 4d220ed

Browse files
Alexei Starovoitovborkmann
Alexei Starovoitov
authored andcommitted
bpf: remove tracepoints from bpf core
tracepoints to bpf core were added as a way to provide introspection to bpf programs and maps, but after some time it became clear that this approach is inadequate, so prog_id, map_id and corresponding get_next_id, get_fd_by_id, get_info_by_fd, prog_query APIs were introduced and fully adopted by bpftool and other applications. The tracepoints in bpf core started to rot and causing syzbot warnings: WARNING: CPU: 0 PID: 3008 at kernel/trace/trace_event_perf.c:274 Kernel panic - not syncing: panic_on_warn set ... perf_trace_bpf_map_keyval+0x260/0xbd0 include/trace/events/bpf.h:228 trace_bpf_map_update_elem include/trace/events/bpf.h:274 [inline] map_update_elem kernel/bpf/syscall.c:597 [inline] SYSC_bpf kernel/bpf/syscall.c:1478 [inline] Hence this patch deletes tracepoints in bpf core. Reported-by: Eric Biggers <[email protected]> Reported-by: syzbot <bot+a9dbb3c3e64b62536a4bc5ee7bbd4ca627566188@syzkaller.appspotmail.com> Signed-off-by: Alexei Starovoitov <[email protected]> Acked-by: David S. Miller <[email protected]> Signed-off-by: Daniel Borkmann <[email protected]>
1 parent 34745ae commit 4d220ed

File tree

6 files changed

+2
-392
lines changed

6 files changed

+2
-392
lines changed

MAINTAINERS

-1
Original file line numberDiff line numberDiff line change
@@ -2727,7 +2727,6 @@ F: Documentation/networking/filter.txt
27272727
F: Documentation/bpf/
27282728
F: include/linux/bpf*
27292729
F: include/linux/filter.h
2730-
F: include/trace/events/bpf.h
27312730
F: include/trace/events/xdp.h
27322731
F: include/uapi/linux/bpf*
27332732
F: include/uapi/linux/filter.h

include/linux/bpf_trace.h

-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
#ifndef __LINUX_BPF_TRACE_H__
33
#define __LINUX_BPF_TRACE_H__
44

5-
#include <trace/events/bpf.h>
65
#include <trace/events/xdp.h>
76

87
#endif /* __LINUX_BPF_TRACE_H__ */

include/trace/events/bpf.h

-355
This file was deleted.

kernel/bpf/core.c

-6
Original file line numberDiff line numberDiff line change
@@ -1845,9 +1845,3 @@ int __weak skb_copy_bits(const struct sk_buff *skb, int offset, void *to,
18451845
#include <linux/bpf_trace.h>
18461846

18471847
EXPORT_TRACEPOINT_SYMBOL_GPL(xdp_exception);
1848-
1849-
/* These are only used within the BPF_SYSCALL code */
1850-
#ifdef CONFIG_BPF_SYSCALL
1851-
EXPORT_TRACEPOINT_SYMBOL_GPL(bpf_prog_get_type);
1852-
EXPORT_TRACEPOINT_SYMBOL_GPL(bpf_prog_put_rcu);
1853-
#endif

0 commit comments

Comments
 (0)