Hi Andrew,

Today's linux-next merge of the akpm tree got a conflict in
arch/arm/net/bpf_jit_32.c between commit aafc787e41fd ("arm: bpf_jit: can
call module_free() from any context") from the net-next tree and commit
"ARM: net: bpf_jit: make code generation less dependent on struct
sk_filter" from the akpm tree.

I fixed it up (see below) and can carry the fix as necessary (no action
is required).

-- 
Cheers,
Stephen Rothwell                    s...@canb.auug.org.au

diff --cc arch/arm/net/bpf_jit_32.c
index f50d223,2dab3e6..0000000
--- a/arch/arm/net/bpf_jit_32.c
+++ b/arch/arm/net/bpf_jit_32.c
@@@ -926,8 -926,32 +925,21 @@@ out
        return;
  }
  
+ void bpf_jit_compile(struct sk_filter *fp)
+ {
+       struct jit_ctx ctx;
+ 
+       memset(&ctx, 0, sizeof(ctx));
+       ctx.prog_len = fp->len;
+       ctx.prog_insns = fp->insns;
+ 
+       __bpf_jit_compile(&ctx);
+       if (ctx.target)
+               fp->bpf_func = (void *)ctx.target;
+ }
+ 
 -static void bpf_jit_free_worker(struct work_struct *work)
 -{
 -      module_free(NULL, work);
 -}
 -
  void bpf_jit_free(struct sk_filter *fp)
  {
 -      struct work_struct *work;
 -
 -      if (fp->bpf_func != sk_run_filter) {
 -              work = (struct work_struct *)fp->bpf_func;
 -
 -              INIT_WORK(work, bpf_jit_free_worker);
 -              schedule_work(work);
 -      }
 +      if (fp->bpf_func != sk_run_filter)
 +              module_free(NULL, fp->bpf_func);
  }

Attachment: pgp9kDM08XPzb.pgp
Description: PGP signature

Reply via email to