]> 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)
commit2645d4e50f263af2f81bbd38c1725568e7b570eb
treeb377d4184b0c45b275e6548e163961ece6443539
parent50c5d65424a8ecef876f95a8b0e4832ac96328e8
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: aa2c7e10646b ("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