[PATCH bpf] bpf, arm64: fix trampoline for BPF_TRAMP_F_CALL_ORIG

patchwork-bot+netdevbpf at kernel.org patchwork-bot+netdevbpf at kernel.org
Thu Jul 11 09:00:31 PDT 2024


Hello:

This patch was applied to bpf/bpf-next.git (master)
by Daniel Borkmann <daniel at iogearbox.net>:

On Thu, 11 Jul 2024 15:18:38 +0000 you wrote:
> When BPF_TRAMP_F_CALL_ORIG is set, the trampoline calls
> __bpf_tramp_enter() and __bpf_tramp_exit() functions, passing them the
> struct bpf_tramp_image *im pointer as an argument in R0.
> 
> The trampoline generation code uses emit_addr_mov_i64() to emit
> instructions for moving the bpf_tramp_image address into R0, but
> emit_addr_mov_i64() assumes the address to be in the vmalloc() space and
> uses only 48 bits. Because bpf_tramp_image is allocated using kzalloc(),
> its address can use more than 48-bits, in this case the trampoline
> will pass an invalid address to __bpf_tramp_enter/exit() causing a
> kernel crash.
> 
> [...]

Here is the summary with links:
  - [bpf] bpf, arm64: fix trampoline for BPF_TRAMP_F_CALL_ORIG
    https://git.kernel.org/bpf/bpf-next/c/19d3c179a377

You are awesome, thank you!
-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html





More information about the linux-arm-kernel mailing list