[PATCH] arm64: bpf: Fix UBSAN misaligned access in BPF JIT
Will Deacon
will at kernel.org
Wed Feb 25 09:47:58 PST 2026
On Wed, Feb 25, 2026 at 05:46:52PM +0800, Xu Kuohai wrote:
> Interesting, I think the plt target should be 64-bit aligned to ensure
> atomic reading on arm64. It can be updated concurrently by WRITE_ONCE
> in the bpf_arch_text_poke function while the ldr instruction in the plt is
> executed. If it is not aligned correctly, the ldr may read a half-old
> half-new value, causing the plt to jump to an invalid destination.
Thanks for pointing that out; I hadn't realised that we patched live
PLTs!
> To avoid over-aligning the entire buffer, how about fixing the padding
> method in build_plt to just make the plt target aligned correctly?
Makes sense to me.
Will
More information about the linux-arm-kernel
mailing list