Yep - BPF_SUB is also excluded in Documentation/networking/filter.rst, plus the interpreter and verifier don't support it. Thanks, Acked-by: Brendan Jackman <jackmanb@xxxxxxxxxx> On Thu, 27 Jan 2022 at 09:17, Hou Tao <houtao1@xxxxxxxxxx> wrote: > > 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 and just > remove it. > > Signed-off-by: Hou Tao <houtao1@xxxxxxxxxx> > --- > arch/x86/net/bpf_jit_comp.c | 1 - > 1 file changed, 1 deletion(-) > > diff --git a/arch/x86/net/bpf_jit_comp.c b/arch/x86/net/bpf_jit_comp.c > index ce1f86f245c9..5d643ebb1e56 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: > -- > 2.29.2 >