A mirror of the official Linux kernel repository just in case
Go to file
Toke Høiland-Jørgensen eaa266d83a libbpf: Define BTF_KIND_* constants in btf.h to avoid compilation errors
The btf.h header included with libbpf contains inline helper functions to
check for various BTF kinds. These helpers directly reference the
BTF_KIND_* constants defined in the kernel header, and because the header
file is included in user applications, this happens in the user application
compile units.

This presents a problem if a user application is compiled on a system with
older kernel headers because the constants are not available. To avoid
this, add #defines of the constants directly in btf.h before using them.

Since the kernel header moved to an enum for BTF_KIND_*, the #defines can
shadow the enum values without any errors, so we only need #ifndef guards
for the constants that predates the conversion to enum. We group these so
there's only one guard for groups of values that were added together.

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

Fixes: 223f903e9c ("bpf: Rename BTF_KIND_TAG to BTF_KIND_DECL_TAG")
Fixes: 5b84bd1036 ("libbpf: Add support for BTF_KIND_TAG")
Signed-off-by: Toke Høiland-Jørgensen <toke@redhat.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Acked-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Link: https://lore.kernel.org/bpf/20220118141327.34231-1-toke@redhat.com
2022-01-18 19:49:12 -08:00
arch Power management updates for 5.17-rc1 2022-01-10 20:34:00 -08:00
block block-5.16-2021-12-19 2021-12-19 12:38:53 -08:00
certs
crypto lib/crypto: blake2s: include as built-in 2022-01-07 00:25:25 +01:00
Documentation Device properties framework updates for 5.17-rc1 2022-01-10 20:48:19 -08:00
drivers Device properties framework updates for 5.17-rc1 2022-01-10 20:48:19 -08:00
fs Networking changes for 5.17. 2022-01-10 19:06:09 -08:00
include net/netfilter: Add unstable CT lookup helpers for XDP and TC-BPF 2022-01-18 14:26:42 -08:00
init Power management updates for 5.17-rc1 2022-01-10 20:34:00 -08:00
ipc shm: extend forced shm destroy to support objects from several IPC nses 2021-11-20 10:35:54 -08:00
kernel bpf: Add reference tracking support to kfunc 2022-01-18 14:26:42 -08:00
lib Networking changes for 5.17. 2022-01-10 19:06:09 -08:00
LICENSES
mm slab changes for 5.17 2022-01-10 11:58:12 -08:00
net bpf: Support bpf_(get|set)sockopt() in bpf unix iter. 2022-01-18 15:45:06 -08:00
samples samples/bpf: Stop using bpf_map__def() API 2022-01-12 17:01:38 -08:00
scripts bpf/scripts: Raise an exception if the correct number of helpers are not generated 2022-01-14 16:47:34 -08:00
security Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next 2021-12-31 14:35:40 +00:00
sound sound fixes for 5.16-rc7 2021-12-23 09:55:58 -08:00
tools libbpf: Define BTF_KIND_* constants in btf.h to avoid compilation errors 2022-01-18 19:49:12 -08:00
usr initramfs: Check timestamp to prevent broken cpio archive 2021-10-24 13:48:40 +09:00
virt KVM: downgrade two BUG_ONs to WARN_ON_ONCE 2021-11-26 06:43:28 -05:00
.clang-format
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap media updates for v5.17-rc1 2022-01-10 18:55:43 -08:00
COPYING
CREDITS MAINTAINERS: Move Daniel Drake to credits 2021-09-21 08:34:58 +03:00
Kbuild
Kconfig
MAINTAINERS Device properties framework updates for 5.17-rc1 2022-01-10 20:48:19 -08:00
Makefile Linux 5.16 2022-01-09 14:55:34 -08:00
README

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.