]> git.baikalelectronics.ru Git - kernel.git/commit
bpf, arm64: remove prefetch insn in xadd mapping
authorDaniel Borkmann <daniel@iogearbox.net>
Fri, 26 Apr 2019 19:48:21 +0000 (21:48 +0200)
committerAlexei Starovoitov <ast@kernel.org>
Sat, 27 Apr 2019 01:53:15 +0000 (18:53 -0700)
commit86c39903abeb9f338509cfa50ac9116db7d6f537
treeb377d4184b0c45b275e6548e163961ece6443539
parent4ae7af16e88d9658ce3e0862ebe3ec4cb1040835
bpf, arm64: remove prefetch insn in xadd mapping

Prefetch-with-intent-to-write is currently part of the XADD mapping in
the AArch64 JIT and follows the kernel's implementation of atomic_add.
This may interfere with other threads executing the LDXR/STXR loop,
leading to potential starvation and fairness issues. Drop the optional
prefetch instruction.

Fixes: 4c2321063a8d ("bpf, arm64: implement jiting of BPF_XADD")
Reported-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Jean-Philippe Brucker <jean-philippe.brucker@arm.com>
Acked-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
arch/arm64/net/bpf_jit.h
arch/arm64/net/bpf_jit_comp.c