diff options
| author | Puranjay Mohan <puranjay@kernel.org> | 2025-10-30 12:17:14 +0000 |
|---|---|---|
| committer | Alexei Starovoitov <ast@kernel.org> | 2025-10-31 11:20:53 -0700 |
| commit | be708ed300e1ebd32978b4092b909f0d9be0958f (patch) | |
| tree | e24714cf4ae07f7c883b6e031b1ada8ba69043e3 /drivers/gpu/drm/amd/amdgpu/amdgpu_cper.h | |
| parent | 14a7f2392f42bbb71c1a5ea68930006221fcd80a (diff) | |
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 <puranjay@kernel.org>
Link: https://lore.kernel.org/r/20251030121715.55214-1-puranjay@kernel.org
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_cper.h')
0 files changed, 0 insertions, 0 deletions
