]> git.baikalelectronics.ru Git - kernel.git/commitdiff
Merge https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next
authorJakub Kicinski <kuba@kernel.org>
Mon, 15 Nov 2021 16:49:20 +0000 (08:49 -0800)
committerJakub Kicinski <kuba@kernel.org>
Mon, 15 Nov 2021 16:49:23 +0000 (08:49 -0800)
Daniel Borkmann says:

====================
pull-request: bpf-next 2021-11-15

We've added 72 non-merge commits during the last 13 day(s) which contain
a total of 171 files changed, 2728 insertions(+), 1143 deletions(-).

The main changes are:

1) Add btf_type_tag attributes to bring kernel annotations like __user/__rcu to
   BTF such that BPF verifier will be able to detect misuse, from Yonghong Song.

2) Big batch of libbpf improvements including various fixes, future proofing APIs,
   and adding a unified, OPTS-based bpf_prog_load() low-level API, from Andrii Nakryiko.

3) Add ingress_ifindex to BPF_SK_LOOKUP program type for selectively applying the
   programmable socket lookup logic to packets from a given netdev, from Mark Pashmfouroush.

4) Remove the 128M upper JIT limit for BPF programs on arm64 and add selftest to
   ensure exception handling still works, from Russell King and Alan Maguire.

5) Add a new bpf_find_vma() helper for tracing to map an address to the backing
   file such as shared library, from Song Liu.

6) Batch of various misc fixes to bpftool, fixing a memory leak in BPF program dump,
   updating documentation and bash-completion among others, from Quentin Monnet.

7) Deprecate libbpf bpf_program__get_prog_info_linear() API and migrate its users as
   the API is heavily tailored around perf and is non-generic, from Dave Marchevsky.

8) Enable libbpf's strict mode by default in bpftool and add a --legacy option as an
   opt-out for more relaxed BPF program requirements, from Stanislav Fomichev.

9) Fix bpftool to use libbpf_get_error() to check for errors, from Hengqi Chen.

* https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next: (72 commits)
  bpftool: Use libbpf_get_error() to check error
  bpftool: Fix mixed indentation in documentation
  bpftool: Update the lists of names for maps and prog-attach types
  bpftool: Fix indent in option lists in the documentation
  bpftool: Remove inclusion of utilities.mak from Makefiles
  bpftool: Fix memory leak in prog_dump()
  selftests/bpf: Fix a tautological-constant-out-of-range-compare compiler warning
  selftests/bpf: Fix an unused-but-set-variable compiler warning
  bpf: Introduce btf_tracing_ids
  bpf: Extend BTF_ID_LIST_GLOBAL with parameter for number of IDs
  bpftool: Enable libbpf's strict mode by default
  docs/bpf: Update documentation for BTF_KIND_TYPE_TAG support
  selftests/bpf: Clarify llvm dependency with btf_tag selftest
  selftests/bpf: Add a C test for btf_type_tag
  selftests/bpf: Rename progs/tag.c to progs/btf_decl_tag.c
  selftests/bpf: Test BTF_KIND_DECL_TAG for deduplication
  selftests/bpf: Add BTF_KIND_TYPE_TAG unit tests
  selftests/bpf: Test libbpf API function btf__add_type_tag()
  bpftool: Support BTF_KIND_TYPE_TAG
  libbpf: Support BTF_KIND_TYPE_TAG
  ...
====================

Link: https://lore.kernel.org/r/20211115162008.25916-1-daniel@iogearbox.net
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
1  2 
include/linux/bpf.h
kernel/bpf/verifier.c
net/core/filter.c
net/ipv4/udp.c
net/ipv6/udp.c
tools/bpf/bpftool/Makefile
tools/lib/bpf/bpf.c

Simple merge
Simple merge
Simple merge
diff --cc net/ipv4/udp.c
Simple merge
diff --cc net/ipv6/udp.c
Simple merge
index 7cfba11c30146dea782944389d144cf93b009340,1b36c11a2a26457b5045337ec7291b9bf5c984ec..42eb8eee3d89fa9add2cd335d9ffa21bbb72b13d
@@@ -186,8 -175,9 +185,9 @@@ $(OUTPUT)%.bpf.o: skeleton/%.bpf.c $(OU
        $(QUIET_CLANG)$(CLANG) \
                -I$(if $(OUTPUT),$(OUTPUT),.) \
                -I$(srctree)/tools/include/uapi/ \
 -              -I$(LIBBPF_INCLUDE) \
 +              -I$(LIBBPF_BOOTSTRAP_INCLUDE) \
-               -g -O2 -Wall -target bpf -c $< -o $@ && $(LLVM_STRIP) -g $@
+               -g -O2 -Wall -target bpf -c $< -o $@
+       $(Q)$(LLVM_STRIP) -g $@
  
  $(OUTPUT)%.skel.h: $(OUTPUT)%.bpf.o $(BPFTOOL_BOOTSTRAP)
        $(QUIET_GEN)$(BPFTOOL_BOOTSTRAP) gen skeleton $< > $@
@@@ -213,19 -203,16 +213,18 @@@ ifneq ($(feature-zlib), 1
  endif
  
  $(BPFTOOL_BOOTSTRAP): $(BOOTSTRAP_OBJS) $(LIBBPF_BOOTSTRAP)
-       $(QUIET_LINK)$(HOSTCC) $(CFLAGS) $(LDFLAGS) -o $@ $(BOOTSTRAP_OBJS) \
-               $(LIBS_BOOTSTRAP)
+       $(QUIET_LINK)$(HOSTCC) $(CFLAGS) $(LDFLAGS) $(BOOTSTRAP_OBJS) $(LIBS_BOOTSTRAP) -o $@
  
  $(OUTPUT)bpftool: $(OBJS) $(LIBBPF)
-       $(QUIET_LINK)$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJS) $(LIBS)
+       $(QUIET_LINK)$(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) $(LIBS) -o $@
  
 -$(BOOTSTRAP_OUTPUT)%.o: %.c $(LIBBPF_INTERNAL_HDRS) | $(BOOTSTRAP_OUTPUT)
 -      $(QUIET_CC)$(HOSTCC) $(CFLAGS) -c -MMD $< -o $@
 +$(BOOTSTRAP_OUTPUT)%.o: %.c $(LIBBPF_BOOTSTRAP_INTERNAL_HDRS) | $(BOOTSTRAP_OUTPUT)
 +      $(QUIET_CC)$(HOSTCC) \
 +              $(subst -I$(LIBBPF_INCLUDE),-I$(LIBBPF_BOOTSTRAP_INCLUDE),$(CFLAGS)) \
-               -c -MMD -o $@ $<
++              -c -MMD $< -o $@
  
  $(OUTPUT)%.o: %.c
-       $(QUIET_CC)$(CC) $(CFLAGS) -c -MMD -o $@ $<
+       $(QUIET_CC)$(CC) $(CFLAGS) -c -MMD $< -o $@
  
  feature-detect-clean:
        $(call QUIET_CLEAN, feature-detect)
Simple merge