From: Hou Tao Date: Thu, 27 Jan 2022 08:32:40 +0000 (+0800) Subject: bpf, x86: Remove unnecessary handling of BPF_SUB atomic op X-Git-Tag: v5.18-rc1~136^2~392^2~48 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b6ec79518ef0c84d1ed0f76b8af9592a75eb29b6;p=thirdparty%2Fkernel%2Flinux.git bpf, x86: Remove unnecessary handling of BPF_SUB atomic op According to the LLVM commit (https://reviews.llvm.org/D72184), sync_fetch_and_sub() is implemented as a negation followed by sync_fetch_and_add(), so there will be no BPF_SUB op, thus just remove it. BPF_SUB is also rejected by the verifier anyway. Signed-off-by: Hou Tao Signed-off-by: Daniel Borkmann Acked-by: Brendan Jackman Link: https://lore.kernel.org/bpf/20220127083240.1425481-1-houtao1@huawei.com --- diff --git a/arch/x86/net/bpf_jit_comp.c b/arch/x86/net/bpf_jit_comp.c index 2b1e266ff95c3..36f6fc3e6e690 100644 --- a/arch/x86/net/bpf_jit_comp.c +++ b/arch/x86/net/bpf_jit_comp.c @@ -787,7 +787,6 @@ static int emit_atomic(u8 **pprog, u8 atomic_op, /* emit opcode */ switch (atomic_op) { case BPF_ADD: - case BPF_SUB: case BPF_AND: case BPF_OR: case BPF_XOR: