Skip to content

Bpftool sync 2026-06-01#263

Merged
qmonnet merged 7 commits into
libbpf:mainfrom
qmonnet:bpftool-sync-2026-06-01T08-40-39.377Z
Jun 1, 2026
Merged

Bpftool sync 2026-06-01#263
qmonnet merged 7 commits into
libbpf:mainfrom
qmonnet:bpftool-sync-2026-06-01T08-40-39.377Z

Conversation

@qmonnet

@qmonnet qmonnet commented Jun 1, 2026

Copy link
Copy Markdown
Member

Pull latest libbpf from mirror and sync bpftool repo with kernel, up to the commits used for libbpf sync. This is an automatic update performed by calling the sync script from this repo:

$ ./scripts/sync-kernel.sh . <path/to/>linux

alan-maguire and others added 7 commits April 17, 2026 15:30
BTF maximum vlen is encoded using 16 bits with a maximum vlen
of 65535.  This has sufficed for structs, function parameters
and enumerated type values.  However, with upcoming BTF location
information - in particular information about inline sites -
this limit is surpassed.  Use bits 16-23 - currently unused in
BTF info - to extend to 24 bits, giving a max vlen of (2^24 - 1),
or 16 million.

Also extend BTF kind encoding from 5 to 7 bits, giving a maximum
available number of kinds of 128.  Since with the BTF location work
we use another 3 kinds, we are fast approaching the current limit
of 32.

Convert BTF_MAX_* values to enums to allow them to be encoded in
kernel BTF; this will allow us to detect if the running kernel
supports a 24-bit vlen or not.  Add one for max _possible_
(not used) kind.

Fix up a few places in the kernel where a 16-bit vlen is assumed;
remove BTF_INFO_MASK as now all bits are used.

The vlen expansion was suggested by Andrii in [1]; the kind expansion
is tackled here too as it may be needed also to support new kinds
in BTF.

[1] https://lore.kernel.org/bpf/CAEf4BzZx=X6vGqcA8SPU6D+v6k+TR=ZewebXMuXtpmML058piw@mail.gmail.com/

Suggested-by: Andrii Nakryiko <andrii@kernel.org>
Signed-off-by: Alan Maguire <alan.maguire@oracle.com>
Acked-by: Mykyta Yatsenko <yatsenko@meta.com>
Link: https://lore.kernel.org/r/20260417143023.1551481-2-alan.maguire@oracle.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Adjust btf_vlen() usage to handle 24-bit vlen.

Signed-off-by: Alan Maguire <alan.maguire@oracle.com>
Link: https://lore.kernel.org/r/20260417143023.1551481-4-alan.maguire@oracle.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Add generic BPF syscall support for passing common attributes.

The initial set of common attributes includes:

1. 'log_buf': User-provided buffer for storing logs.
2. 'log_size': Size of the log buffer.
3. 'log_level': Log verbosity level.
4. 'log_true_size': Actual log size reported by kernel.

The common-attribute pointer and its size are passed as the 4th and 5th
syscall arguments. A new command bit, 'BPF_COMMON_ATTRS' ('1 << 16'),
indicates that common attributes are supplied.

This commit adds syscall and uapi plumbing. Command-specific handling is
added in follow-up patches.

Signed-off-by: Leon Hwang <leon.hwang@linux.dev>
Link: https://lore.kernel.org/r/20260512153157.28382-2-leon.hwang@linux.dev
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
When generating light skeletons for BPF programs containing struct_ops
maps, bpftool incorrectly outputs a stray literal 't' instead of a tab
character for the map file descriptor member in the links structure.
This causes a compilation error when the generated light skeleton is
used.

Correct the format string by replacing 't' with '\t'.

Fixes: 08ac454e258e ("libbpf: Auto-attach struct_ops BPF maps in BPF skeleton")
Signed-off-by: Siddharth Nayyar <sidnayyar@google.com>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Acked-by: Quentin Monnet <qmo@kernel.org>
Link: https://lore.kernel.org/bpf/20260520-struct_ops_gen_typo_fix-v1-1-4dee3771da46@google.com
Pull latest libbpf from mirror.
Libbpf version: 1.8.0
Libbpf commit:  dcaac95035044ff7e59bcaa2da4b9ae7f0a78a97

Signed-off-by: Quentin Monnet <qmo@kernel.org>
Add the fsession attach type to the usage of bpftool in do_help().
Meanwhile, add it to the bash-completion and bpftool-prog.rst too.

Acked-by: Leon Hwang <leon.hwang@linux.dev>
Acked-by: Quentin Monnet <qmo@kernel.org>
Signed-off-by: Menglong Dong <dongml2@chinatelecom.cn>
Link: https://lore.kernel.org/r/20260412060346.142007-4-dongml2@chinatelecom.cn
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Syncing latest bpftool commits from kernel repository.
Baseline bpf-next commit:   a0c584fc18056709c8e047a82a6045d6c209f4ce
Checkpoint bpf-next commit: 7f9ce282da0c397673be7d5870b0bcdbc8c6ce82
Baseline bpf commit:        d8a9a4b11a137909e306e50346148fc5c3b63f9d
Checkpoint bpf commit:      e7ae89a0c97ce2b68b0983cd01eda67cf373517d

Alan Maguire (2):
  bpf: Extend BTF UAPI vlen, kinds to use unused bits
  bpftool: Support 24-bit vlen

Leon Hwang (1):
  bpf: Extend BPF syscall with common attributes support

Menglong Dong (1):
  bpftool: add missing fsession to the usage and docs of bpftool

Siddharth Nayyar (1):
  bpftool: Fix typo in struct_ops map FD generation for light skeleton

 bash-completion/bpftool  |  2 +-
 docs/bpftool-prog.rst    |  2 +-
 include/uapi/linux/bpf.h |  8 ++++++++
 include/uapi/linux/btf.h | 26 ++++++++++++++------------
 src/btf.c                | 17 ++++++-----------
 src/btf_dumper.c         |  4 ++--
 src/gen.c                | 18 ++++++++++--------
 src/prog.c               |  2 +-
 8 files changed, 43 insertions(+), 36 deletions(-)

Signed-off-by: Quentin Monnet <qmo@kernel.org>
@qmonnet qmonnet merged commit cca51d1 into libbpf:main Jun 1, 2026
7 checks passed
@qmonnet qmonnet deleted the bpftool-sync-2026-06-01T08-40-39.377Z branch June 1, 2026 08:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants