diff options
author | 2023-04-06 16:42:01 -0700 | |
---|---|---|
committer | 2023-04-11 18:05:44 +0200 | |
commit | 94e55c0fdaf4268bdda2d3b375bc61daba056e85 (patch) | |
tree | cda2042f631ee49a611d316d524f704ddb8335f9 /kernel | |
parent | bpf: Relax log_buf NULL conditions when log_level>0 is requested (diff) | |
download | linux-rng-94e55c0fdaf4268bdda2d3b375bc61daba056e85.tar.xz linux-rng-94e55c0fdaf4268bdda2d3b375bc61daba056e85.zip |
libbpf: Wire through log_true_size returned from kernel for BPF_PROG_LOAD
Add output-only log_true_size field to bpf_prog_load_opts to return
bpf_attr->log_true_size value back from bpf() syscall.
Note, that we have to drop const modifier from opts in bpf_prog_load().
This could potentially cause compilation error for some users. But
the usual practice is to define bpf_prog_load_ops
as a local variable next to bpf_prog_load() call and pass pointer to it,
so const vs non-const makes no difference and won't even come up in most
(if not all) cases.
There are no runtime and ABI backwards/forward compatibility issues at all.
If user provides old struct bpf_prog_load_opts, libbpf won't set new
fields. If old libbpf is provided new bpf_prog_load_opts, nothing will
happen either as old libbpf doesn't yet know about this new field.
Adding a new variant of bpf_prog_load() just for this seems like a big
and unnecessary overkill. As a corroborating evidence is the fact that
entire selftests/bpf code base required not adjustment whatsoever.
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Link: https://lore.kernel.org/bpf/20230406234205.323208-16-andrii@kernel.org
Diffstat (limited to 'kernel')
0 files changed, 0 insertions, 0 deletions