Syncing latest libbpf commits from kernel repository.
Baseline bpf-next commit: ed578021210e14f15a654c825fba6a700c9a39a7
Checkpoint bpf-next commit: e47a179997ceee6864fbae620eee09ea9c345a4d
Baseline bpf commit: 7de086909365cd60a5619a45af3f4152516fd75c
Checkpoint bpf commit: d0fbb51dfaa612f960519b798387be436e8f83c5
Andrii Nakryiko (6):
libbpf: Fix negative FD close() in xsk_setup_xdp_prog()
libbpf: Fix memory leak/double free issue
libbpf: Fix potential overflow issue
libbpf: Fix another potential overflow issue in bpf_prog_linfo
libbpf: Make btf__resolve_size logic always check size error condition
libbpf: Improve handling of corrupted ELF during map initialization
Magnus Karlsson (2):
libbpf: Support XDP_SHARED_UMEM with external XDP program
libbpf: Allow for creating Rx or Tx only AF_XDP sockets
Toke Høiland-Jørgensen (5):
libbpf: Unpin auto-pinned maps if loading fails
libbpf: Propagate EPERM to caller on program load
libbpf: Use pr_warn() when printing netlink errors
libbpf: Add bpf_get_link_xdp_info() function to get more XDP
information
libbpf: Add getter for program size
src/bpf.c | 2 +-
src/bpf_prog_linfo.c | 14 +++----
src/btf.c | 3 +-
src/libbpf.c | 47 ++++++++++++++----------
src/libbpf.h | 13 +++++++
src/libbpf.map | 2 +
src/netlink.c | 87 +++++++++++++++++++++++++++++---------------
src/nlattr.c | 10 ++---
src/xsk.c | 34 +++++++++++------
9 files changed, 136 insertions(+), 76 deletions(-)
--
2.17.1
This is a mirror of bpf-next linux tree's
tools/lib/bpf directory plus its supporting header files.
The following files will by sync'ed with bpf-next repo:
src/<->bpf-next/tools/lib/bpf/include/uapi/linux/bpf_common.h<->bpf-next/tools/include/uapi/linux/bpf_common.hinclude/uapi/linux/bpf.h<->bpf-next/tools/include/uapi/linux/bpf.hinclude/uapi/linux/btf.h<->bpf-next/tools/include/uapi/linux/btf.hinclude/uapi/linux/if_link.h<->bpf-next/tools/include/uapi/linux/if_link.hinclude/uapi/linux/if_xdp.h<->bpf-next/tools/include/uapi/linux/if_xdp.hinclude/uapi/linux/netlink.h<->bpf-next/tools/include/uapi/linux/netlink.hinclude/tools/libc_compat.h<->bpf-next/tools/include/tools/libc_compat.h
Other header files at this repo (include/linux/*.h) are reduced versions of
their counterpart files at bpf-next's tools/include/linux/*.h to make compilation
successful.
Build

libelf is an internal dependency of libbpf and thus it is required to link
against and must be installed on the system for applications to work.
pkg-config is used by default to find libelf, and the program called can be
overridden with PKG_CONFIG.
If using pkg-config at build time is not desired, it can be disabled by setting
NO_PKG_CONFIG=1 when calling make.
To build both static libbpf.a and shared libbpf.so:
$ cd src
$ make
To build only static libbpf.a library in directory build/ and install them together with libbpf headers in a staging directory root/:
$ cd src
$ mkdir build root
$ BUILD_STATIC_ONLY=y OBJDIR=build DESTDIR=root make install
To build both static libbpf.a and shared libbpf.so against a custom libelf dependency installed in /build/root/ and install them together with libbpf headers in a build directory /build/root/:
$ cd src
$ PKG_CONFIG_PATH=/build/root/lib64/pkgconfig DESTDIR=/build/root make install