Daniel Borkmann says: ==================== pull-request: bpf-next 2020-11-14 1) Add BTF generation for kernel modules and extend BTF infra in kernel e.g. support for split BTF loading and validation, from Andrii Nakryiko. 2) Support for pointers beyond pkt_end to recognize LLVM generated patterns on inlined branch conditions, from Alexei Starovoitov. 3) Implements bpf_local_storage for task_struct for BPF LSM, from KP Singh. 4) Enable FENTRY/FEXIT/RAW_TP tracing program to use the bpf_sk_storage infra, from Martin KaFai Lau. 5) Add XDP bulk APIs that introduce a defer/flush mechanism to optimize the XDP_REDIRECT path, from Lorenzo Bianconi. 6) Fix a potential (although rather theoretical) deadlock of hashtab in NMI context, from Song Liu. 7) Fixes for cross and out-of-tree build of bpftool and runqslower allowing build for different target archs on same source tree, from Jean-Philippe Brucker. 8) Fix error path in htab_map_alloc() triggered from syzbot, from Eric Dumazet. 9) Move functionality from test_tcpbpf_user into the test_progs framework so it can run in BPF CI, from Alexander Duyck. 10) Lift hashtab key_size limit to be larger than MAX_BPF_STACK, from Florian Lehner. Note that for the fix from Song we have seen a sparse report on context imbalance which requires changes in sparse itself for proper annotation detection where this is currently being discussed on linux-sparse among developers [0]. Once we have more clarification/guidance after their fix, Song will follow-up. [0] https://lore.kernel.org/linux-sparse/CAHk-=wh4bx8A8dHnX612MsDO13st6uzAz1mJ1PaHHVevJx_ZCw@mail.gmail.com/T/ https://lore.kernel.org/linux-sparse/20201109221345.uklbp3lzgq6g42zb@ltop.local/T/ * git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next: (66 commits) net: mlx5: Add xdp tx return bulking support net: mvpp2: Add xdp tx return bulking support net: mvneta: Add xdp tx return bulking support net: page_pool: Add bulk support for ptr_ring net: xdp: Introduce bulking for xdp tx return path bpf: Expose bpf_d_path helper to sleepable LSM hooks bpf: Augment the set of sleepable LSM hooks bpf: selftest: Use bpf_sk_storage in FENTRY/FEXIT/RAW_TP bpf: Allow using bpf_sk_storage in FENTRY/FEXIT/RAW_TP bpf: Rename some functions in bpf_sk_storage bpf: Folding omem_charge() into sk_storage_charge() selftests/bpf: Add asm tests for pkt vs pkt_end comparison. selftests/bpf: Add skb_pkt_end test bpf: Support for pointers beyond pkt_end. tools/bpf: Always run the *-clean recipes tools/bpf: Add bootstrap/ to .gitignore bpf: Fix NULL dereference in bpf_task_storage tools/bpftool: Fix build slowdown tools/runqslower: Build bpftool using HOSTCC tools/runqslower: Enable out-of-tree build ... ====================
Showing the changes to scripts (1 of 83 files). Show all
Unified · Split
| @@ -6,6 +6,7 @@ · 5 unmodified lines | |||
| 6 | PHONY := __modfinal | 6 | PHONY := __modfinal |
| 7 | __modfinal: | 7 | __modfinal: |
| 8 | 8 | ||
| 9 | include include/config/auto.conf | ||
| 9 | include $(srctree)/scripts/Kbuild.include | 10 | include $(srctree)/scripts/Kbuild.include |
| 10 | 11 | ||
| 11 | # for c_flags | 12 | # for c_flags |
| @@ -36,8 +37,23 @@ quiet_cmd_ld_ko_o = LD [M] $@ · 24 unmodified lines | |||
| 36 | -T scripts/module.lds -o $@ $(filter %.o, $^); \ | 37 | -T scripts/module.lds -o $@ $(filter %.o, $^); \ |
| 37 | $(if $(ARCH_POSTLINK), $(MAKE) -f $(ARCH_POSTLINK) $@, true) | 38 | $(if $(ARCH_POSTLINK), $(MAKE) -f $(ARCH_POSTLINK) $@, true) |
| 38 | 39 | ||
| 39 | $(modules): %.ko: %.o %.mod.o scripts/module.lds FORCE | 40 | quiet_cmd_btf_ko = BTF [M] $@ |
| 40 | +$(call if_changed,ld_ko_o) | 41 | cmd_btf_ko = LLVM_OBJCOPY=$(OBJCOPY) $(PAHOLE) -J --btf_base vmlinux $@ |
| 42 | |||
| 43 | # Same as newer-prereqs, but allows to exclude specified extra dependencies | ||
| 44 | newer_prereqs_except = $(filter-out $(PHONY) $(1),$?) | ||
| 45 | |||
| 46 | # Same as if_changed, but allows to exclude specified extra dependencies | ||
| 47 | if_changed_except = $(if $(call newer_prereqs_except,$(2))$(cmd-check), \ | ||
| 48 | $(cmd); \ | ||
| 49 | printf '%s\n' 'cmd_$@ := $(make-cmd)' > $(dot-target).cmd, @:) | ||
| 50 | |||
| 51 | # Re-generate module BTFs if either module's .ko or vmlinux changed | ||
| 52 | $(modules): %.ko: %.o %.mod.o scripts/module.lds vmlinux FORCE | ||
| 53 | +$(call if_changed_except,ld_ko_o,vmlinux) | ||
| 54 | ifdef CONFIG_DEBUG_INFO_BTF_MODULES | ||
| 55 | +$(if $(newer-prereqs),$(call cmd,btf_ko)) | ||
| 56 | endif | ||
| 41 | 57 | ||
| 42 | targets += $(modules) $(modules:.ko=.mod.o) | 58 | targets += $(modules) $(modules:.ko=.mod.o) |
| 43 | 59 | ||