Re: [PATCH bpf-next 2/2] selftests/bpf: Add load-acquire test for dst_reg == src_reg from ctx

Eduard Zingerman <[email protected]> Wed, 05 Aug 2026 02:23:13 -0700
Newsgroups org.kernel.vger.bpf
Message-ID <[email protected]>
On Tue, 2026-08-04 at 22:19 +0200, Daniel Borkmann wrote:
> Add a verifier test that a load-acquire fetching into its own source
> register (dst_reg == src_reg) from a ctx pointer is rejected.
> 
>   # LDLIBS=-static PKG_CONFIG='pkg-config --static' ./vmtest.sh -- ./test_progs -t verifier_load_acquire
>   [...]
>   #614/1   verifier_load_acquire/load-acquire, 8-bit:OK
>   #614/2   verifier_load_acquire/load-acquire, 8-bit @unpriv:OK
>   #614/3   verifier_load_acquire/load-acquire, 16-bit:OK
>   #614/4   verifier_load_acquire/load-acquire, 16-bit @unpriv:OK
>   #614/5   verifier_load_acquire/load-acquire, 32-bit:OK
>   #614/6   verifier_load_acquire/load-acquire, 32-bit @unpriv:OK
>   #614/7   verifier_load_acquire/load-acquire, 64-bit:OK
>   #614/8   verifier_load_acquire/load-acquire, 64-bit @unpriv:OK
>   #614/9   verifier_load_acquire/load-acquire with uninitialized src_reg:OK
>   #614/10  verifier_load_acquire/load-acquire with uninitialized src_reg @unpriv:OK
>   #614/11  verifier_load_acquire/load-acquire with non-pointer src_reg:OK
>   #614/12  verifier_load_acquire/load-acquire with non-pointer src_reg @unpriv:OK
>   #614/13  verifier_load_acquire/misaligned load-acquire:OK
>   #614/14  verifier_load_acquire/misaligned load-acquire @unpriv:OK
>   #614/15  verifier_load_acquire/load-acquire from ctx pointer:OK
>   #614/16  verifier_load_acquire/load-acquire from ctx pointer @unpriv:OK
>   #614/17  verifier_load_acquire/load-acquire from ctx pointer, same dst and src register:OK
>   #614/18  verifier_load_acquire/load-acquire from ctx pointer, same dst and src register @unpriv:OK
>   #614/19  verifier_load_acquire/load-acquire with invalid register R15:OK
>   #614/20  verifier_load_acquire/load-acquire with invalid register R15 @unpriv:OK
>   #614/21  verifier_load_acquire/load-acquire from pkt pointer:OK
>   #614/22  verifier_load_acquire/load-acquire from flow_keys pointer:OK
>   #614/23  verifier_load_acquire/load-acquire from sock pointer:OK
>   #614     verifier_load_acquire:OK
>   Summary: 1/23 PASSED, 0 SKIPPED, 0 FAILED
> 
> Signed-off-by: Daniel Borkmann <[email protected]>
> ---

Acked-by: Eduard Zingerman <[email protected]>

...