summaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python
diff options
context:
space:
mode:
authorEmil Tsalapatis <emil@etsalapatis.com>2026-09-22 17:20:20 +0000
committerAlexei Starovoitov <ast@kernel.org>2026-09-22 19:34:04 +0000
commit4a4852376e3a2727ea40e61143d6d7c22bb6dfad (patch)
tree7159fc246bca8411e8383189879d79e1e4dff9bd /tools/perf/scripts/python
parent4fd72eb9f1c939ce33bb714c6f745a125ac5f40c (diff)
downloadlinux-next-4a4852376e3a2727ea40e61143d6d7c22bb6dfad.tar.gz
linux-next-4a4852376e3a2727ea40e61143d6d7c22bb6dfad.zip
bpf: Fix bpf_sock context code generation
Currently, the ctx access code reads the rx_queue_mapping field with either a 4-byte or 2-byte load. The rest of the bits in the register are marked known zero by the verifier. However, the emitted ctx access code places in the register on certain the special value (-1) using BPF_MOV_IMM64, which gets sign-extended to turn on all the bits in the register. By shifting this value right, the program ends up with a value at runtime above what the verifier assumes is possible. Fix this by ensuring the read value is as wide as the assumed size. Use MOV32 instructions instead of MOV64 instructions to keep the upper bits zero as assumed by the verifier. Also properly report the size of the destination variable (the bpf_sock field, 4 bytes) instead of the source (the socket field, 2 bytes). Fixes: c3c16f2ea6d2 ("bpf: Add rx_queue_mapping to bpf_sock") Reported-by: Nicholas Carlini <nicholas@carlini.com> Suggested-by: Nicholas Carlini <nicholas@carlini.com> Signed-off-by: Emil Tsalapatis <emil@etsalapatis.com> Signed-off-by: Alexei Starovoitov <ast@kernel.org> Reviewed-by: Jiayuan Chen <jiayuan.chen@linux.dev> Link: https://patch.msgid.link/20260922172028.6269-4-emil@etsalapatis.com
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions