diff options
| author | Puranjay Mohan <[email protected]> | 2025-10-30 12:17:14 +0000 |
|---|---|---|
| committer | Alexei Starovoitov <[email protected]> | 2025-10-31 18:20:53 +0000 |
| commit | be708ed300e1ebd32978b4092b909f0d9be0958f (patch) | |
| tree | e24714cf4ae07f7c883b6e031b1ada8ba69043e3 /lib/mpi/mpi-scan.c | |
| parent | bpf: Make migrate_disable always inline to avoid partial inlining (diff) | |
| download | kernel-be708ed300e1ebd32978b4092b909f0d9be0958f.tar.gz kernel-be708ed300e1ebd32978b4092b909f0d9be0958f.zip | |
bpf/arm64: Fix BPF_ST into arena memory
The arm64 JIT supports BPF_ST with BPF_PROBE_MEM32 (arena) by using the
tmp2 register to hold the dst + arena_vm_base value and using tmp2 as the
new dst register. But this is broken because in case is_lsi_offset()
returns false the tmp2 will be clobbered by emit_a64_mov_i(1, tmp2, off,
ctx); and hence the emitted store instruction will be of the form:
strb w10, [x11, x11]
Fix this by using the third temporary register to hold the dst +
arena_vm_base.
Fixes: 339af577ec05 ("bpf: Add arm64 JIT support for PROBE_MEM32 pseudo instructions.")
Signed-off-by: Puranjay Mohan <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Alexei Starovoitov <[email protected]>
Diffstat (limited to 'lib/mpi/mpi-scan.c')
0 files changed, 0 insertions, 0 deletions
