]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
nfp: bpf: remove references to bpf_reg_state->off for pointers
authorEduard Zingerman <eddyz87@gmail.com>
Thu, 12 Feb 2026 21:34:23 +0000 (13:34 -0800)
committerAlexei Starovoitov <ast@kernel.org>
Fri, 13 Feb 2026 22:41:23 +0000 (14:41 -0800)
commit6363fc17c9f5952ce40c2fe779892511e371a359
tree8dc6bcae09c0010a28b6008961b8d9f2bfadefb3
parent022ac075088366b62e130da5e1b200bc93a47191
nfp: bpf: remove references to bpf_reg_state->off for pointers

Previous commit changed BPF verifier to track pointer offsets entirely
in bpf_reg_state->var_off. This commit removes references to
bpf_reg_state->off in netronome code.
- In most of the places `.off` field is used as a part of a sum:
  `reg->off + reg->var_off.value`. In such code the `reg->off` addend
  is removed.
- Function jit.c:cross_mem_access() uses `.off` but ignores `.var_off`
  to compute memory access offset. Here access to `.off` is replaced
  with access to `.var_off.value`. verifier.c:nfp_bpf_check_ptr()
  rejects programs for which !tnum_is_const(reg->var_off),
  so the above change will read a valid constant.
  Not sure why `.var_off` was ignored in this function previously.

Signed-off-by: Eduard Zingerman <eddyz87@gmail.com>
Link: https://lore.kernel.org/r/20260212-ptrs-off-migration-v2-3-00820e4d3438@gmail.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
drivers/net/ethernet/netronome/nfp/bpf/jit.c
drivers/net/ethernet/netronome/nfp/bpf/verifier.c