linux/tools
Eduard Zingerman 8b365b3c68 selftests/bpf: Verify zext_dst annotations for various instructions
Includes the following test cases:

- a test showing that zero extension flags do not propagate through
  state pruning in the unpatched kernel.
- a 32-bit subregister consumed by MOV32 and ALU32 operations
  (never zext'ed);
- a 64-bit MOV (never zext'ed);
- a narrow (32-bit) BPF_LDX load whose result is read as 64-bit;
- 32-bit atomic fetch_add and cmpxchg whose result is read as 64-bit;
- a CFG case where a 32-bit definition's upper half is used only on one
  of two branches;
- no zext for dead registers;
- LD_ABS defines only lower 32 bits, hence needs zext when the result
  is used as 64-bits;
- helper, kfunc and subprogram parameters are considered to use full
  64 bits;
- a 32-bit subregister consumed by JMP32 (X/K) operations;
- a 32-bit subregister consumed by JMP (X/K) operations;
- a 64-bit register consumed by both JMP and JMP32 operations
  (never zext'ed);
- ALU64 and address space cast operations on arena pointers;
- memory loads using BPF_PROBE_MEM instructions.

Signed-off-by: Eduard Zingerman <eddyz87@gmail.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Daniel Borkmann <daniel@iogearbox.net>
Link: https://lore.kernel.org/bpf/20260807-static-zext-v4-7-b6c270013c77@gmail.com
2026-08-08 11:06:24 +02:00
..
accounting tools/accounting/getdelays: fix -Wformat-truncation warning in format_timespec 2026-05-28 21:24:40 -07:00
arch tools headers: Sync KVM headers with the kernel sources 2026-07-21 21:00:10 -03:00
bootconfig Bootconfig updates for v7.2 2026-06-16 17:29:24 +05:30
bpf bpf: Do not print a newline after disassembly in bpf_verbose_insn() 2026-08-08 11:05:49 +02:00
build perf tools changes for v7.2: 2026-06-23 11:34:49 -07:00
certs
cgroup
counter
crypto
debugging
dma
docs
firewire
firmware
gpio
hv
iio iio: core: Add IIO_COVERAGE channel type 2026-05-31 11:01:50 +01:00
include Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf 7.2-rc7 2026-08-07 23:04:17 +02:00
kvm/kvm_stat
laptop
leds
lib libbpf: Export btf__find_by_name_kind_own() 2026-07-30 12:48:08 -07:00
memory-model
mm slab changes for 7.2 - part 2 2026-06-22 08:28:48 -07:00
net tools/ynl: add missing uapi header deps in Makefile.deps 2026-06-24 19:30:55 -07:00
objtool objtool/rust: add one more noreturn Rust function for Rust 1.99.0 2026-07-11 14:20:54 +02:00
pcmcia
perf tools headers: Sync UAPI linux/fs.h with the kernel sources 2026-07-21 21:00:10 -03:00
power platform-drivers-x86 for v7.2-1 2026-06-23 08:31:33 -07:00
rcu
sched
sched_ext Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf 7.2-rc4 2026-07-17 23:22:46 +02:00
scripts
sound
spi
testing selftests/bpf: Verify zext_dst annotations for various instructions 2026-08-08 11:06:24 +02:00
thermal
time
tracing rtla/timerlat_top: Fix on-threshold actions firing on signal 2026-07-21 15:42:08 +02:00
unittests docs: kernel-doc: python: strip __counted_by_ptr macro 2026-05-15 08:11:36 -06:00
usb usbip: tools: support SuperSpeedPlus devices 2026-07-08 13:29:13 +02:00
verification verification/rvgen: Fix ltl2k writing True as a literal 2026-06-04 16:44:25 +02:00
virtio tools/virtio: add missing compat definitions for vhost_net_test 2026-07-01 19:02:56 -07:00
wmi
workqueue
writeback
Makefile