Linus Torvalds
440b652328
Merge tag 'bpf-next-6.12' of git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next
...
Pull bpf updates from Alexei Starovoitov:
- Introduce '__attribute__((bpf_fastcall))' for helpers and kfuncs with
corresponding support in LLVM.
It is similar to existing 'no_caller_saved_registers' attribute in
GCC/LLVM with a provision for backward compatibility. It allows
compilers generate more efficient BPF code assuming the verifier or
JITs will inline or partially inline a helper/kfunc with such
attribute. bpf_cast_to_kern_ctx, bpf_rdonly_cast,
bpf_get_smp_processor_id are the first set of such helpers.
- Harden and extend ELF build ID parsing logic.
When called from sleepable context the relevants parts of ELF file
will be read to find and fetch .note.gnu.build-id information. Also
harden the logic to avoid TOCTOU, overflow, out-of-bounds problems.
- Improvements and fixes for sched-ext:
- Allow passing BPF iterators as kfunc arguments
- Make the pointer returned from iter_next method trusted
- Fix x86 JIT convergence issue due to growing/shrinking conditional
jumps in variable length encoding
- BPF_LSM related:
- Introduce few VFS kfuncs and consolidate them in
fs/bpf_fs_kfuncs.c
- Enforce correct range of return values from certain LSM hooks
- Disallow attaching to other LSM hooks
- Prerequisite work for upcoming Qdisc in BPF:
- Allow kptrs in program provided structs
- Support for gen_epilogue in verifier_ops
- Important fixes:
- Fix uprobe multi pid filter check
- Fix bpf_strtol and bpf_strtoul helpers
- Track equal scalars history on per-instruction level
- Fix tailcall hierarchy on x86 and arm64
- Fix signed division overflow to prevent INT_MIN/-1 trap on x86
- Fix get kernel stack in BPF progs attached to tracepoint:syscall
- Selftests:
- Add uprobe bench/stress tool
- Generate file dependencies to drastically improve re-build time
- Match JIT-ed and BPF asm with __xlated/__jited keywords
- Convert older tests to test_progs framework
- Add support for RISC-V
- Few fixes when BPF programs are compiled with GCC-BPF backend
(support for GCC-BPF in BPF CI is ongoing in parallel)
- Add traffic monitor
- Enable cross compile and musl libc
* tag 'bpf-next-6.12' of git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next: (260 commits)
btf: require pahole 1.21+ for DEBUG_INFO_BTF with default DWARF version
btf: move pahole check in scripts/link-vmlinux.sh to lib/Kconfig.debug
btf: remove redundant CONFIG_BPF test in scripts/link-vmlinux.sh
bpf: Call the missed kfree() when there is no special field in btf
bpf: Call the missed btf_record_free() when map creation fails
selftests/bpf: Add a test case to write mtu result into .rodata
selftests/bpf: Add a test case to write strtol result into .rodata
selftests/bpf: Rename ARG_PTR_TO_LONG test description
selftests/bpf: Fix ARG_PTR_TO_LONG {half-,}uninitialized test
bpf: Zero former ARG_PTR_TO_{LONG,INT} args in case of error
bpf: Improve check_raw_mode_ok test for MEM_UNINIT-tagged types
bpf: Fix helper writes to read-only maps
bpf: Remove truncation test in bpf_strtol and bpf_strtoul helpers
bpf: Fix bpf_strtol and bpf_strtoul helpers for 32bit
selftests/bpf: Add tests for sdiv/smod overflow cases
bpf: Fix a sdiv overflow issue
libbpf: Add bpf_object__token_fd accessor
docs/bpf: Add missing BPF program types to docs
docs/bpf: Add constant values for linkages
bpf: Use fake pt_regs when doing bpf syscall tracepoint tracing
...
2024-09-21 09:27:50 -07:00
..
2024-09-04 15:01:17 +01:00
2024-06-05 15:52:34 +02:00
2024-08-13 14:51:29 -07:00
2024-07-15 08:02:26 -07:00
2024-07-03 15:16:54 +02:00
2024-09-01 20:43:24 -07:00
2024-07-10 09:41:57 +02:00
2024-08-16 09:59:32 +01:00
2024-09-11 08:55:35 +00:00
2024-07-03 15:16:54 +02:00
2024-07-02 11:40:37 +02:00
2024-06-23 09:53:32 +03:00
2024-07-27 10:53:06 -07:00
2024-06-30 11:29:24 +01:00
2024-09-11 10:44:10 -06:00
2024-08-27 15:48:36 +02:00
2024-09-18 10:39:35 +02:00
2024-07-04 12:29:07 +02:00
2024-09-12 20:50:29 -07:00
2024-09-21 08:20:50 -07:00
2024-09-09 11:52:06 +02:00
2024-07-05 09:35:51 +01:00
2024-08-16 13:09:12 +01:00
2024-09-19 09:16:04 +02:00
2024-07-05 18:30:00 -07:00
2024-06-12 09:20:13 +02:00
2024-08-30 15:43:52 +01:00
2024-09-21 07:29:05 -07:00
2024-08-21 08:37:30 -05:00
2024-08-19 12:25:53 +01:00
2024-09-10 12:41:42 +01:00
2024-07-03 15:16:54 +02:00
2024-07-18 17:17:30 -07:00
2024-07-10 13:56:22 +02:00
2024-09-06 14:49:20 +02:00
2024-09-19 09:16:04 +02:00
2024-09-09 16:39:18 -07:00
2024-08-22 12:23:47 -04:00
2024-08-20 15:40:44 +01:00
2024-08-30 16:30:41 +01:00
2024-07-25 10:42:22 -07:00
2024-07-04 16:45:25 +01:00
2024-07-13 21:31:57 -07:00
2024-07-03 10:21:16 -06:00
2024-08-29 04:32:32 -06:00
2024-08-05 19:23:11 -04:00
2024-06-18 10:40:53 -07:00
2024-08-20 14:02:33 -04:00
2024-07-03 10:21:15 -06:00
2024-07-19 09:32:49 -06:00
2024-09-16 13:33:06 +02:00
2024-07-29 13:09:22 -07:00
2024-09-05 13:29:06 -07:00
2024-09-03 12:06:24 -07:00
2024-09-13 13:17:55 -07:00
2024-07-14 20:38:34 -07:00
2024-08-21 10:37:52 -07:00
2024-09-16 08:54:30 +02:00
2024-09-11 09:58:30 -07:00
2024-07-08 01:51:05 -06:00
2024-07-10 10:19:59 -07:00
2024-07-21 17:56:22 -07:00
2024-06-17 17:45:34 +02:00
2024-05-15 10:05:24 -04:00
2024-09-21 07:29:05 -07:00
2024-09-01 20:25:53 -07:00
2024-07-16 16:42:37 -07:00
2024-06-24 22:25:02 -07:00
2024-06-03 11:18:50 +02:00
2024-06-03 11:18:50 +02:00
2024-07-10 09:53:39 -04:00
2024-09-03 21:15:36 -07:00
2024-06-24 18:29:20 +02:00
2024-08-22 17:04:43 -07:00
2024-05-22 14:12:11 -07:00
2024-07-18 10:33:14 -07:00
2024-08-22 17:04:43 -07:00
2024-06-17 20:42:57 +02:00
2024-09-04 15:56:32 +02:00
2024-08-15 21:30:43 +05:30
2024-09-18 07:52:24 +02:00
2024-08-05 21:29:20 -07:00
2024-06-24 22:25:02 -07:00
2024-06-24 22:25:02 -07:00
2024-07-21 17:56:22 -07:00
2024-08-02 15:56:38 +02:00
2024-09-18 15:03:58 +02:00
2024-06-17 17:45:31 +02:00
2024-06-24 22:25:01 -07:00
2024-08-08 10:39:41 -07:00
2024-08-30 10:00:16 -10:00
2024-07-10 13:19:50 -07:00
2024-07-02 12:52:25 -07:00
2024-09-09 16:39:00 -07:00
2024-07-15 11:39:44 -07:00
2024-06-30 12:27:16 +01:00
2024-06-12 11:29:36 -04:00
2024-07-19 10:48:44 -07:00
2024-09-04 07:08:51 +03:00
2024-07-03 15:16:54 +02:00
2024-06-25 17:15:06 -07:00
2024-07-10 15:38:14 +02:00
2024-06-11 12:57:49 -05:00
2024-08-22 06:18:00 +02:00
2024-08-30 11:41:05 -07:00
2024-07-12 15:52:20 -07:00
2024-07-23 09:52:23 +02:00
2024-09-04 07:08:51 +03:00
2024-08-29 07:22:49 +03:00
2024-06-21 15:40:55 +05:30
2024-08-26 19:21:14 -07:00
2024-07-12 10:06:01 +02:00
2024-07-03 15:16:54 +02:00
2024-07-29 07:33:10 +05:30
2024-09-03 21:15:38 -07:00
2024-08-26 09:37:23 -07:00
2024-08-26 09:33:58 -07:00
2024-08-12 14:16:24 +01:00
2024-05-28 15:57:23 +02:00
2024-07-10 23:15:36 +00:00
2024-08-28 16:53:57 +02:00
2024-09-01 20:43:33 -07:00
2024-09-19 10:18:15 +02:00
2024-09-16 11:15:26 +02:00
2024-08-30 08:22:33 +02:00
2024-09-21 09:27:50 -07:00
2024-05-21 15:29:01 -07:00
2024-07-27 10:28:28 +09:00
2024-06-07 23:14:45 +05:30
2024-09-12 12:20:41 +02:00
2024-06-19 13:32:04 -07:00
2024-05-19 14:36:17 -07:00
2024-07-02 06:20:49 +02:00
2024-09-21 07:29:05 -07:00
2024-07-03 10:36:14 +02:00
2024-07-03 15:16:54 +02:00
2024-06-05 09:52:38 +02:00
2024-06-18 16:25:50 +02:00
2024-07-24 20:59:29 +02:00
2024-07-03 15:16:54 +02:00
2024-09-09 16:39:03 -07:00
2024-09-09 16:39:05 -07:00
2024-09-02 11:47:06 +02:00
2024-07-03 15:16:54 +02:00
2024-08-27 16:18:51 +02:00
2024-09-13 15:14:56 +02:00
2024-08-29 10:39:37 +02:00
2024-07-03 19:30:06 -07:00
2024-07-06 11:53:19 -07:00
2024-09-21 07:29:05 -07:00
2024-09-03 21:15:36 -07:00
2024-06-16 13:41:53 +08:00
2024-09-13 07:27:36 -07:00
2024-05-29 12:52:26 -07:00
2024-07-03 15:16:54 +02:00
2024-08-14 19:34:19 +02:00
2024-08-02 18:27:05 +02:00
2024-06-12 13:04:25 +02:00
2024-08-26 09:37:22 -07:00
2024-07-12 16:39:52 -07:00
2024-07-08 16:22:49 -07:00
2024-06-21 14:52:12 +02:00
2024-05-31 16:28:19 +03:00
2024-08-12 16:21:31 +02:00
2024-07-08 11:40:57 -05:00
2024-08-23 20:50:19 +02:00
2024-08-25 08:27:01 -06:00
2024-09-04 11:38:34 +02:00
2024-05-19 09:21:03 -07:00
2024-09-10 11:14:15 +02:00
2024-09-05 14:29:42 +03:00
2024-08-23 11:16:39 +02:00
2024-05-28 11:14:14 -05:00
2024-08-07 18:32:38 +02:00
2024-08-26 10:19:55 -07:00
2024-09-12 12:20:42 +02:00
2024-07-31 13:49:48 +01:00
2024-07-04 09:25:59 +02:00
2024-08-08 17:15:02 +02:00
2024-05-15 17:02:08 -05:00
2024-08-09 22:37:54 +02:00
2024-08-26 23:49:15 -04:00
2024-06-24 22:24:56 -07:00
2024-09-08 20:47:40 +02:00
2024-08-27 14:12:51 +02:00
2024-06-17 12:30:07 -07:00
2024-06-24 22:25:02 -07:00
2024-09-03 21:15:46 -07:00
2024-05-19 14:02:03 -07:00
2024-09-01 20:26:03 -07:00
2024-05-22 11:53:02 -07:00
2024-09-09 16:39:04 -07:00
2024-07-03 19:30:22 -07:00
2024-07-03 19:30:23 -07:00
2024-07-17 12:35:24 +02:00
2024-05-16 07:23:30 +09:00
2024-06-05 19:19:26 -07:00
2024-09-04 10:44:42 -04:00
2024-07-04 17:07:01 +01:00
2024-09-07 10:16:56 +09:00
2024-08-02 16:32:29 -07:00
2024-06-13 23:05:27 +02:00
2024-07-10 12:14:54 -07:00
2024-06-24 16:41:22 -07:00
2024-06-24 16:41:22 -07:00
2024-07-14 19:00:16 -04:00
2024-07-18 17:27:43 -07:00
2024-09-01 20:43:29 -07:00
2024-08-22 12:23:47 -04:00
2024-08-20 14:02:58 -04:00
2024-08-22 12:24:10 -04:00
2024-09-09 16:39:06 -07:00
2024-07-03 15:16:54 +02:00
2024-06-10 19:52:44 -07:00
2024-07-01 19:28:58 +01:00
2024-07-03 15:16:54 +02:00
2024-07-03 15:16:54 +02:00
2024-07-21 17:15:46 -07:00
2024-09-17 01:07:01 -07:00
2024-07-12 15:52:09 -07:00
2024-09-03 21:15:28 -07:00
2024-07-12 15:52:20 -07:00
2024-07-03 15:16:54 +02:00
2024-07-25 10:42:22 -07:00
2024-07-03 19:30:12 -07:00
2024-09-03 21:15:59 -07:00
2024-07-15 08:02:26 -07:00
2024-08-11 17:04:29 +01:00
2024-06-24 22:24:59 -07:00
2024-07-31 09:57:18 -07:00
2024-07-12 06:45:23 -10:00
2024-09-01 20:25:51 -07:00
2024-09-03 21:15:44 -07:00
2024-09-21 07:29:05 -07:00
2024-09-01 20:25:59 -07:00
2024-08-09 12:44:50 +02:00
2024-05-22 11:31:10 +02:00
2024-07-23 11:43:40 -07:00
2024-07-03 15:16:54 +02:00
2024-08-17 13:55:50 +08:00
2024-05-15 17:02:08 -05:00
2024-07-22 14:02:19 -07:00
2024-06-05 17:03:57 +02:00
2024-07-03 15:16:54 +02:00
2024-07-15 08:02:26 -07:00
2024-07-28 16:47:51 -06:00
2024-09-03 11:36:43 +02:00
2024-06-24 16:41:23 -07:00
2024-09-11 20:44:31 -07:00
2024-09-12 12:20:41 +02:00
2024-06-10 13:15:40 +01:00
2024-08-13 10:58:58 +02:00
2024-07-08 13:47:25 -04:00
2024-07-08 13:47:27 -04:00
2024-05-20 11:09:20 -04:00
2024-07-08 13:47:51 -04:00
2024-07-08 13:47:26 -04:00
2024-06-24 22:25:02 -07:00
2024-06-28 10:37:29 +02:00
2024-09-03 21:15:32 -07:00
2024-09-03 21:15:28 -07:00
2024-07-21 17:56:22 -07:00
2024-08-22 13:25:07 -07:00
2024-08-26 08:11:19 -07:00
2024-08-26 09:51:32 -07:00
2024-09-11 20:53:45 -07:00
2024-06-10 11:14:52 +01:00
2024-07-25 06:53:47 -05:00
2024-08-30 10:57:24 -07:00
2024-05-19 22:29:43 -05:00
2024-09-01 20:25:53 -07:00
2024-07-03 22:40:38 -07:00
2024-09-09 16:39:04 -07:00
2024-07-26 15:32:27 -07:00
2024-09-20 17:53:17 -07:00
2024-09-01 20:25:59 -07:00
2024-08-13 14:16:22 +02:00
2024-07-03 16:44:22 +02:00
2024-08-30 08:22:38 +02:00
2024-07-29 08:53:49 +02:00
2024-08-30 14:29:30 +02:00
2024-07-04 14:40:53 +00:00
2024-07-25 10:42:22 -07:00
2024-09-03 17:11:05 -05:00
2024-07-25 10:42:22 -07:00
2024-06-17 15:15:46 +02:00
2024-06-17 15:15:46 +02:00
2024-07-03 19:30:02 -07:00
2024-08-19 13:45:03 +02:00
2024-09-01 20:26:04 -07:00
2024-09-18 15:03:58 +02:00
2024-09-09 16:39:18 -07:00
2024-09-17 01:06:59 -07:00
2024-08-23 13:04:34 +01:00
2024-08-23 13:04:34 +01:00
2024-09-11 11:06:11 +01:00
2024-05-27 10:34:35 +02:00
2024-08-20 11:19:49 +02:00
2024-06-26 11:17:20 +05:30
2024-07-03 15:16:54 +02:00
2024-07-21 17:56:22 -07:00
2024-07-29 21:57:35 +02:00
2024-09-03 23:20:28 +02:00
2024-06-05 16:52:36 +02:00
2024-08-21 14:56:25 +02:00
2024-08-01 14:23:39 +02:00
2024-08-04 13:36:28 -07:00
2024-06-07 19:46:39 +08:00
2024-08-26 13:33:50 -07:00
2024-09-08 18:40:33 +01:00
2024-09-05 11:14:14 +02:00
2024-07-13 21:36:36 -07:00
2024-09-01 20:43:38 -07:00
2024-09-05 16:56:15 +02:00
2024-09-09 00:03:55 +05:30
2024-07-31 21:18:57 +05:30
2024-09-09 00:09:47 +05:30
2024-09-18 08:53:53 +02:00
2024-09-18 08:53:53 +02:00
2024-08-05 14:34:23 -07:00
2024-08-13 12:45:01 +01:00
2024-08-28 11:13:08 +02:00
2024-08-27 10:28:55 +02:00
2024-08-07 20:26:44 -04:00
2024-07-03 15:16:54 +02:00
2024-09-09 16:39:03 -07:00
2024-08-26 13:16:20 +02:00
2024-07-19 09:39:32 -06:00
2024-07-10 07:59:03 +02:00
2024-09-19 15:55:58 +02:00
2024-08-28 21:54:13 +01:00
2024-07-03 15:16:54 +02:00
2024-06-18 14:04:03 +02:00
2024-08-20 14:03:18 -04:00
2024-06-24 22:25:02 -07:00
2024-08-21 14:56:23 +02:00
2024-06-24 16:09:37 +02:00
2024-07-03 15:16:54 +02:00
2024-09-17 01:07:00 -07:00
2024-08-23 13:04:34 +01:00
2024-09-09 16:39:12 -07:00
2024-09-11 20:44:31 -07:00
2024-09-11 20:44:31 -07:00
2024-07-12 15:52:20 -07:00
2024-09-21 07:29:05 -07:00
2024-07-03 15:16:54 +02:00
2024-09-18 07:52:24 +02:00
2024-09-11 20:44:32 -07:00
2024-06-05 16:52:36 +02:00
2024-07-20 12:41:03 -07:00
2024-08-12 23:50:58 +05:30
2024-06-20 15:19:17 -06:00
2024-09-10 16:42:11 -07:00
2024-06-24 22:25:02 -07:00
2024-09-05 09:50:16 -07:00
2024-09-19 10:18:15 +02:00
2024-08-08 19:59:06 -07:00
2024-09-03 21:15:47 -07:00
2024-07-12 15:52:15 -07:00
2024-07-10 07:59:03 +02:00
2024-06-10 15:03:30 -05:00
2024-09-05 11:39:17 +02:00
2024-07-24 20:59:29 +02:00
2024-08-26 19:14:48 -04:00
2024-06-04 15:56:45 +02:00
2024-07-04 02:02:33 -06:00
2024-07-09 13:26:34 +02:00
2024-07-03 15:16:54 +02:00
2024-08-26 13:16:20 +02:00
2024-07-03 15:16:54 +02:00
2024-08-23 15:42:58 +02:00
2024-06-21 18:10:15 +02:00
2024-09-08 20:47:40 +02:00
2024-06-03 11:18:51 +02:00
2024-06-24 22:25:02 -07:00
2024-07-05 02:12:27 +03:00
2024-08-09 09:43:46 -07:00
2024-06-04 10:37:44 -04:00
2024-06-24 22:25:02 -07:00
2024-06-17 20:42:57 +02:00
2024-07-01 15:46:36 +02:00
2024-07-08 23:44:01 +02:00
2024-08-06 13:42:40 +02:00
2024-05-15 12:34:46 -07:00
2024-09-12 12:20:39 +02:00
2024-07-30 13:04:36 -10:00
2024-08-20 14:05:33 -04:00
2024-09-17 01:07:01 -07:00
2024-07-10 13:58:24 +02:00
2024-09-12 12:16:09 +02:00
2024-09-01 20:25:53 -07:00
2024-06-21 12:47:01 -06:00
2024-05-31 15:15:51 -06:00
2024-07-17 05:43:21 -04:00
2024-09-11 20:43:07 -07:00
2024-08-02 09:20:28 +01:00
2024-08-15 19:14:19 -07:00
2024-09-09 16:39:04 -07:00
2024-09-01 20:25:43 -07:00
2024-09-03 21:15:36 -07:00
2024-05-27 13:51:29 +02:00
2024-06-24 20:36:08 +03:00
2024-06-24 18:16:44 +01:00
2024-08-21 06:37:39 -10:00
2024-09-21 07:29:05 -07:00
2024-05-19 09:21:03 -07:00
2024-09-01 20:43:27 -07:00
2024-07-10 10:25:54 +02:00
2024-09-09 16:39:06 -07:00
2024-09-01 20:26:02 -07:00