bpf: split eBPF out of NET
introduce two configs: - hidden CONFIG_BPF to select eBPF interpreter that classic socket filters depend on - visible CONFIG_BPF_SYSCALL (default off) that tracing and sockets can use that solves several problems: - tracing and others that wish to use eBPF don't need to depend on NET. They can use BPF_SYSCALL to allow loading from userspace or select BPF to use it directly from kernel in NET-less configs. - in 3.18 programs cannot be attached to events yet, so don't force it on - when the rest of eBPF infra is there in 3.19+, it's still useful to switch it off to minimize kernel size bloat-o-meter on x64 shows: add/remove: 0/60 grow/shrink: 0/2 up/down: 0/-15601 (-15601) tested with many different config combinations. Hopefully didn't miss anything. Signed-off-by: Alexei Starovoitov <ast@plumgrid.com> Acked-by: Daniel Borkmann <dborkman@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Šī revīzija ir iekļauta:

revīziju iesūtīja
David S. Miller

vecāks
8ae3c911b9
revīzija
f89b7755f5
14
init/Kconfig
14
init/Kconfig
@@ -1341,6 +1341,10 @@ config SYSCTL_ARCH_UNALIGN_ALLOW
|
||||
config HAVE_PCSPKR_PLATFORM
|
||||
bool
|
||||
|
||||
# interpreter that classic socket filters depend on
|
||||
config BPF
|
||||
bool
|
||||
|
||||
menuconfig EXPERT
|
||||
bool "Configure standard kernel features (expert users)"
|
||||
# Unhide debug options, to make the on-by-default options visible
|
||||
@@ -1521,6 +1525,16 @@ config EVENTFD
|
||||
|
||||
If unsure, say Y.
|
||||
|
||||
# syscall, maps, verifier
|
||||
config BPF_SYSCALL
|
||||
bool "Enable bpf() system call" if EXPERT
|
||||
select ANON_INODES
|
||||
select BPF
|
||||
default n
|
||||
help
|
||||
Enable the bpf() system call that allows to manipulate eBPF
|
||||
programs and maps via file descriptors.
|
||||
|
||||
config SHMEM
|
||||
bool "Use full shmem filesystem" if EXPERT
|
||||
default y
|
||||
|
Atsaukties uz šo jaunā problēmā
Block a user