Hello: This series was applied to bpf/bpf-next.git (master) by Daniel Borkmann <daniel@xxxxxxxxxxxxx>: On Wed, 20 Aug 2025 15:18:06 +0200 you wrote: > In the following toy program (reg states minimized for readability), R0 > and R1 always have different values at instruction 6. This is obvious > when reading the program but cannot be guessed from ranges alone as > they overlap (R0 in [0; 0xc0000000], R1 in [1024; 0xc0000400]). > > 0: call bpf_get_prandom_u32#7 ; R0_w=scalar() > 1: w0 = w0 ; R0_w=scalar(var_off=(0x0; 0xffffffff)) > 2: r0 >>= 30 ; R0_w=scalar(var_off=(0x0; 0x3)) > 3: r0 <<= 30 ; R0_w=scalar(var_off=(0x0; 0xc0000000)) > 4: r1 = r0 ; R1_w=scalar(var_off=(0x0; 0xc0000000)) > 5: r1 += 1024 ; R1_w=scalar(var_off=(0x400; 0xc0000000)) > 6: if r1 != r0 goto pc+1 > > [...] Here is the summary with links: - [bpf-next,v2,1/2] bpf: Use tnums for JEQ/JNE is_branch_taken logic https://git.kernel.org/bpf/bpf-next/c/f41345f47fb2 - [bpf-next,v2,2/2] selftests/bpf: Tests for is_scalar_branch_taken tnum logic https://git.kernel.org/bpf/bpf-next/c/0780f54ab129 You are awesome, thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/patchwork/pwbot.html