History

Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next

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 ... ====================

Jakub Kicinski committed 6 years ago

Commit 07cbce22 parents 774626f c14d61f83 files · +3907 −1271Browse files

Showing the changes to scripts (1 of 83 files). Show all

Unified · Split

scripts/Makefile.modfinal+18−2
@@ -6,6 +6,7 @@ · 5 unmodified lines
66 PHONY := __modfinal
77 __modfinal:
88
9+include include/config/auto.conf
910 include $(srctree)/scripts/Kbuild.include
1011
1112 # for c_flags
@@ -36,8 +37,23 @@ quiet_cmd_ld_ko_o = LD [M] $@ · 24 unmodified lines
3637 -T scripts/module.lds -o $@ $(filter %.o, $^); \
3738 $(if $(ARCH_POSTLINK), $(MAKE) -f $(ARCH_POSTLINK) $@, true)
3839
39−$(modules): %.ko: %.o %.mod.o scripts/module.lds FORCE
40− +$(call if_changed,ld_ko_o)
40+quiet_cmd_btf_ko = BTF [M] $@
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
4157
4258 targets += $(modules) $(modules:.ko=.mod.o)
4359