forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf
Daniel Borkmann says: ==================== pull-request: bpf 2021-05-11 The following pull-request contains BPF updates for your *net* tree. We've added 13 non-merge commits during the last 8 day(s) which contain a total of 21 files changed, 817 insertions(+), 382 deletions(-). The main changes are: 1) Fix multiple ringbuf bugs in particular to prevent writable mmap of read-only pages, from Andrii Nakryiko & Thadeu Lima de Souza Cascardo. 2) Fix verifier alu32 known-const subregister bound tracking for bitwise operations and/or/xor, from Daniel Borkmann. 3) Reject trampoline attachment for functions with variable arguments, and also add a deny list of other forbidden functions, from Jiri Olsa. 4) Fix nested bpf_bprintf_prepare() calls used by various helpers by switching to per-CPU buffers, from Florent Revest. 5) Fix kernel compilation with BTF debug info on ppc64 due to pahole missing TCP-CC functions like cubictcp_init, from Martin KaFai Lau. 6) Add a kconfig entry to provide an option to disallow unprivileged BPF by default, from Daniel Borkmann. 7) Fix libbpf compilation for older libelf when GELF_ST_VISIBILITY() macro is not available, from Arnaldo Carvalho de Melo. 8) Migrate test_tc_redirect to test_progs framework as prep work for upcoming skb_change_head() fix & selftest, from Jussi Maki. 9) Fix a libbpf segfault in add_dummy_ksym_var() if BTF is not present, from Ian Rogers. 10) Fix tx_only micro-benchmark in xdpsock BPF sample with proper frame size, from Magnus Karlsson. ==================== Signed-off-by: David S. Miller <[email protected]>
- Loading branch information
Showing
21 changed files
with
817 additions
and
382 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,88 @@ | ||
# SPDX-License-Identifier: GPL-2.0-only | ||
|
||
# BPF interpreter that, for example, classic socket filters depend on. | ||
config BPF | ||
bool | ||
|
||
# Used by archs to tell that they support BPF JIT compiler plus which | ||
# flavour. Only one of the two can be selected for a specific arch since | ||
# eBPF JIT supersedes the cBPF JIT. | ||
|
||
# Classic BPF JIT (cBPF) | ||
config HAVE_CBPF_JIT | ||
bool | ||
|
||
# Extended BPF JIT (eBPF) | ||
config HAVE_EBPF_JIT | ||
bool | ||
|
||
# Used by archs to tell that they want the BPF JIT compiler enabled by | ||
# default for kernels that were compiled with BPF JIT support. | ||
config ARCH_WANT_DEFAULT_BPF_JIT | ||
bool | ||
|
||
menu "BPF subsystem" | ||
|
||
config BPF_SYSCALL | ||
bool "Enable bpf() system call" | ||
select BPF | ||
select IRQ_WORK | ||
select TASKS_TRACE_RCU | ||
select BINARY_PRINTF | ||
select NET_SOCK_MSG if INET | ||
default n | ||
help | ||
Enable the bpf() system call that allows to manipulate BPF programs | ||
and maps via file descriptors. | ||
|
||
config BPF_JIT | ||
bool "Enable BPF Just In Time compiler" | ||
depends on HAVE_CBPF_JIT || HAVE_EBPF_JIT | ||
depends on MODULES | ||
help | ||
BPF programs are normally handled by a BPF interpreter. This option | ||
allows the kernel to generate native code when a program is loaded | ||
into the kernel. This will significantly speed-up processing of BPF | ||
programs. | ||
|
||
Note, an admin should enable this feature changing: | ||
/proc/sys/net/core/bpf_jit_enable | ||
/proc/sys/net/core/bpf_jit_harden (optional) | ||
/proc/sys/net/core/bpf_jit_kallsyms (optional) | ||
|
||
config BPF_JIT_ALWAYS_ON | ||
bool "Permanently enable BPF JIT and remove BPF interpreter" | ||
depends on BPF_SYSCALL && HAVE_EBPF_JIT && BPF_JIT | ||
help | ||
Enables BPF JIT and removes BPF interpreter to avoid speculative | ||
execution of BPF instructions by the interpreter. | ||
|
||
config BPF_JIT_DEFAULT_ON | ||
def_bool ARCH_WANT_DEFAULT_BPF_JIT || BPF_JIT_ALWAYS_ON | ||
depends on HAVE_EBPF_JIT && BPF_JIT | ||
|
||
config BPF_UNPRIV_DEFAULT_OFF | ||
bool "Disable unprivileged BPF by default" | ||
depends on BPF_SYSCALL | ||
help | ||
Disables unprivileged BPF by default by setting the corresponding | ||
/proc/sys/kernel/unprivileged_bpf_disabled knob to 2. An admin can | ||
still reenable it by setting it to 0 later on, or permanently | ||
disable it by setting it to 1 (from which no other transition to | ||
0 is possible anymore). | ||
|
||
source "kernel/bpf/preload/Kconfig" | ||
|
||
config BPF_LSM | ||
bool "Enable BPF LSM Instrumentation" | ||
depends on BPF_EVENTS | ||
depends on BPF_SYSCALL | ||
depends on SECURITY | ||
depends on BPF_JIT | ||
help | ||
Enables instrumentation of the security hooks with BPF programs for | ||
implementing dynamic MAC and Audit Policies. | ||
|
||
If you are unsure how to answer this question, answer N. | ||
|
||
endmenu # "BPF subsystem" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.