Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cec08315 authored by Alexei Starovoitov's avatar Alexei Starovoitov Committed by David S. Miller
Browse files

sparc: bpf_jit: add support for BPF_LD(X) | BPF_LEN instructions



BPF_LD | BPF_W | BPF_LEN instruction is occasionally used by tcpdump
and present in 11 tests in lib/test_bpf.c
Teach sparc JIT compiler to emit it.

Signed-off-by: default avatarAlexei Starovoitov <ast@plumgrid.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 0a29b3da
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -624,7 +624,12 @@ void bpf_jit_compile(struct bpf_prog *fp)
					emit_and(r_A, r_TMP, r_A);
				}
				break;

			case BPF_LD | BPF_W | BPF_LEN:
				emit_skb_load32(len, r_A);
				break;
			case BPF_LDX | BPF_W | BPF_LEN:
				emit_skb_load32(len, r_X);
				break;
			case BPF_LD | BPF_IMM:
				emit_loadimm(K, r_A);
				break;