linux/tools
Daniel Borkmann 8837fe5dd0 bpf, libbpf: handle old kernels more graceful wrt global data sections
Andrii reported a corner case where e.g. global static data is present
in the BPF ELF file in form of .data/.bss/.rodata section, but without
any relocations to it. Such programs could be loaded before commit
d859900c4c ("bpf, libbpf: support global data/bss/rodata sections"),
whereas afterwards if kernel lacks support then loading would fail.

Add a probing mechanism which skips setting up libbpf internal maps
in case of missing kernel support. In presence of relocation entries,
we abort the load attempt.

Fixes: d859900c4c ("bpf, libbpf: support global data/bss/rodata sections")
Reported-by: Andrii Nakryiko <andriin@fb.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
2019-04-25 13:47:29 -07:00
..
accounting
arch Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next 2019-04-11 17:00:05 -07:00
bpf tools/bpftool: show btf_id in map listing 2019-04-16 19:48:26 -07:00
build perf cs-etm: Add missing case value 2019-03-28 14:31:55 -03:00
cgroup
crypto
debugging
firewire
firmware
gpio
hv
iio
include bpf: fix whitespace for ENCAP_L2 defines in bpf.h 2019-04-16 09:54:21 +02:00
io_uring tools/io_uring: remove IOCQE_FLAG_CACHEHIT 2019-04-08 10:48:50 -06:00
kvm/kvm_stat
laptop
leds
lib bpf, libbpf: handle old kernels more graceful wrt global data sections 2019-04-25 13:47:29 -07:00
memory-model
nfsd
objtool objtool: Add rewind_stack_do_exit() to the noreturn list 2019-04-05 13:30:51 +02:00
pci
pcmcia
perf perf pmu: Fix parser error for uncore event alias 2019-03-28 15:53:27 -03:00
power Merge branch 'turbostat' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux 2019-03-30 01:41:22 +01:00
scripts
spi
testing selftests/bpf: expand test_tc_tunnel with SIT encap 2019-04-24 01:32:26 +02:00
thermal/tmon
time
usb
virtio
vm tools/vm/slabinfo: clean up usage menu debug items 2019-03-05 21:07:20 -08:00
wmi
Makefile