diff options
Diffstat (limited to 'arch/mips/net/bpf_jit.c')
| -rw-r--r-- | arch/mips/net/bpf_jit.c | 13 | 
1 files changed, 7 insertions, 6 deletions
diff --git a/arch/mips/net/bpf_jit.c b/arch/mips/net/bpf_jit.c index b87390a56a2f..9f7ecbda250c 100644 --- a/arch/mips/net/bpf_jit.c +++ b/arch/mips/net/bpf_jit.c @@ -131,7 +131,7 @@   * @target:		Memory location for the compiled filter   */  struct jit_ctx { -	const struct sk_filter *skf; +	const struct bpf_prog *skf;  	unsigned int prologue_bytes;  	u32 idx;  	u32 flags; @@ -789,10 +789,11 @@ static int pkt_type_offset(void)  static int build_body(struct jit_ctx *ctx)  {  	void *load_func[] = {jit_get_skb_b, jit_get_skb_h, jit_get_skb_w}; -	const struct sk_filter *prog = ctx->skf; +	const struct bpf_prog *prog = ctx->skf;  	const struct sock_filter *inst;  	unsigned int i, off, load_order, condt;  	u32 k, b_off __maybe_unused; +	int tmp;  	for (i = 0; i < prog->len; i++) {  		u16 code; @@ -1332,9 +1333,9 @@ jmp_cmp:  		case BPF_ANC | SKF_AD_PKTTYPE:  			ctx->flags |= SEEN_SKB; -			off = pkt_type_offset(); +			tmp = off = pkt_type_offset(); -			if (off < 0) +			if (tmp < 0)  				return -1;  			emit_load_byte(r_tmp, r_skb, off, ctx);  			/* Keep only the last 3 bits */ @@ -1369,7 +1370,7 @@ jmp_cmp:  int bpf_jit_enable __read_mostly; -void bpf_jit_compile(struct sk_filter *fp) +void bpf_jit_compile(struct bpf_prog *fp)  {  	struct jit_ctx ctx;  	unsigned int alloc_size, tmp_idx; @@ -1423,7 +1424,7 @@ out:  	kfree(ctx.offsets);  } -void bpf_jit_free(struct sk_filter *fp) +void bpf_jit_free(struct bpf_prog *fp)  {  	if (fp->jited)  		module_free(NULL, fp->bpf_func);  |