mirror_ubuntu-kernels/tools/lib/bpf
Andrii Nakryiko e0e3ea888c libbpf: Allow passing user log setting through bpf_object_open_opts
Allow users to provide their own custom log_buf, log_size, and log_level
at bpf_object level through bpf_object_open_opts. This log_buf will be
used during BTF loading. Subsequent patch will use same log_buf during
BPF program loading, unless overriden at per-bpf_program level.

When such custom log_buf is provided, libbpf won't be attempting
retrying loading of BTF to try to provide its own log buffer to capture
kernel's error log output. User is responsible to provide big enough
buffer, otherwise they run a risk of getting -ENOSPC error from the
bpf() syscall.

See also comments in bpf_object_open_opts regarding log_level and
log_buf interactions.

Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Link: https://lore.kernel.org/bpf/20211209193840.1248570-5-andrii@kernel.org
2021-12-10 15:29:17 -08:00
..
.gitignore libbpf: Make libbpf_version.h non-auto-generated 2021-09-13 15:36:47 -07:00
bpf_core_read.h libbpf: Fix endianness detection in BPF_CORE_READ_BITFIELD_PROBED() 2021-10-25 20:39:41 -07:00
bpf_endian.h libbpf: Make bpf_endian co-exist with vmlinux.h 2020-07-01 09:06:12 +02:00
bpf_gen_internal.h libbpf: Support init of inner maps in light skeleton. 2021-12-02 11:18:35 -08:00
bpf_helpers.h libbpf: Use static const fmt string in __bpf_printk 2021-09-17 14:02:05 -07:00
bpf_prog_linfo.c libbpf: Streamline error reporting for high-level APIs 2021-05-25 17:32:35 -07:00
bpf_tracing.h riscv, libbpf: Add RISC-V (RV64) support to bpf_tracing.h 2021-11-01 17:08:21 +01:00
bpf.c libbpf: Add OPTS-based bpf_btf_load() API 2021-12-10 15:29:17 -08:00
bpf.h libbpf: Allow passing user log setting through bpf_object_open_opts 2021-12-10 15:29:17 -08:00
btf_dump.c libbpf: Silence uninitialized warning/error in btf_dump_dump_type_data 2021-11-29 09:36:44 -08:00
btf.c libbpf: Allow passing preallocated log_buf when loading BTF into kernel 2021-12-10 15:29:17 -08:00
btf.h libbpf: Fix potential misaligned memory access in btf_ext__new() 2021-11-26 00:14:06 +01:00
Build libbpf: Split CO-RE logic into relo_core.c. 2021-07-26 12:29:14 -07:00
gen_loader.c libbpf: Clean gen_loader's attach kind. 2021-12-02 11:18:35 -08:00
hashmap.c libbpf: Centralize poisoning and poison reallocarray() 2020-08-18 18:38:25 -07:00
hashmap.h libbpf, hashmap: Fix undefined behavior in hash_bits 2020-11-02 23:33:51 +01:00
libbpf_common.h libbpf: Deprecate bpf_prog_load_xattr() API 2021-12-02 15:23:41 -08:00
libbpf_errno.c libbpf: Streamline error reporting for high-level APIs 2021-05-25 17:32:35 -07:00
libbpf_internal.h libbpf: Allow passing preallocated log_buf when loading BTF into kernel 2021-12-10 15:29:17 -08:00
libbpf_legacy.h libbpf: Rename DECLARE_LIBBPF_OPTS into LIBBPF_OPTS 2021-11-07 08:34:22 -08:00
libbpf_probes.c libbpf: Add OPTS-based bpf_btf_load() API 2021-12-10 15:29:17 -08:00
libbpf_version.h libbpf: Add API to get/set log_level at per-program level 2021-12-02 15:23:40 -08:00
libbpf.c libbpf: Allow passing user log setting through bpf_object_open_opts 2021-12-10 15:29:17 -08:00
libbpf.h libbpf: Allow passing user log setting through bpf_object_open_opts 2021-12-10 15:29:17 -08:00
libbpf.map libbpf: Add OPTS-based bpf_btf_load() API 2021-12-10 15:29:17 -08:00
libbpf.pc.template libbpf: Add zlib as a dependency in pkg-config template 2019-12-16 14:55:29 -08:00
linker.c libbpf: Fix using invalidated memory in bpf_linker 2021-11-26 00:15:03 +01:00
Makefile libbpf: Compile using -std=gnu89 2021-11-09 13:27:52 -08:00
netlink.c libbpf: Switch to void * casting in netlink helpers 2021-06-22 17:04:02 +02:00
nlattr.c libbpf: Switch to void * casting in netlink helpers 2021-06-22 17:04:02 +02:00
nlattr.h libbpf: Switch to void * casting in netlink helpers 2021-06-22 17:04:02 +02:00
relo_core.c libbpf: Reduce bpf_core_apply_relo_insn() stack usage. 2021-12-03 13:21:59 -08:00
relo_core.h libbpf: Reduce bpf_core_apply_relo_insn() stack usage. 2021-12-03 13:21:59 -08:00
ringbuf.c libbpf: Streamline error reporting for high-level APIs 2021-05-25 17:32:35 -07:00
skel_internal.h bpf, mips: Fix build errors about __NR_bpf undeclared 2021-11-26 22:11:25 +01:00
str_error.c libbpf: Poison kernel-only integer types 2020-01-10 10:38:00 -08:00
str_error.h libbpf: relicense libbpf as LGPL-2.1 OR BSD-2-Clause 2018-10-08 10:09:48 +02:00
strset.c libbpf: Fix memory leak in strset 2021-10-01 22:54:38 +02:00
strset.h libbpf: Extract internal set-of-strings datastructure APIs 2021-03-18 16:14:22 -07:00
xsk.c libbpf: Prevent deprecation warnings in xsk.c 2021-11-25 23:35:46 +01:00
xsk.h libbpf: Deprecate AF_XDP support 2021-11-01 18:12:44 -07:00