]> git.baikalelectronics.ru Git - kernel.git/commit
libbpf: Improve LINUX_VERSION_CODE detection
authorAndrii Nakryiko <andrii@kernel.org>
Wed, 22 Dec 2021 23:10:03 +0000 (15:10 -0800)
committerAlexei Starovoitov <ast@kernel.org>
Wed, 29 Dec 2021 03:20:31 +0000 (19:20 -0800)
commit21e7f1d696b1cf56e092d656b28019022c3cfdd4
tree02e2914a801f88f5ebfa97c884057856e97ec2e1
parentd25b2bce70b730af3a37f8c5b66057438394e44e
libbpf: Improve LINUX_VERSION_CODE detection

Ubuntu reports incorrect kernel version through uname(), which on older
kernels leads to kprobe BPF programs failing to load due to the version
check mismatch.

Accommodate Ubuntu's quirks with LINUX_VERSION_CODE by using
Ubuntu-specific /proc/version_code to fetch major/minor/patch versions
to form LINUX_VERSION_CODE.

While at it, consolide libbpf's kernel version detection code between
libbpf.c and libbpf_probes.c.

  [0] Closes: https://github.com/libbpf/libbpf/issues/421

Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Acked-by: Yonghong Song <yhs@fb.com>
Link: https://lore.kernel.org/bpf/20211222231003.2334940-1-andrii@kernel.org
tools/lib/bpf/libbpf.c
tools/lib/bpf/libbpf_internal.h
tools/lib/bpf/libbpf_probes.c