diff options
Diffstat (limited to 'arch/sparc/net/bpf_jit_comp.c')
-rw-r--r-- | arch/sparc/net/bpf_jit_comp.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/sparc/net/bpf_jit_comp.c b/arch/sparc/net/bpf_jit_comp.c index d96d2a7c78ee..a82c6b2a9780 100644 --- a/arch/sparc/net/bpf_jit_comp.c +++ b/arch/sparc/net/bpf_jit_comp.c | |||
@@ -809,6 +809,7 @@ cond_branch: f_offset = addrs[i + filter[i].jf]; | |||
809 | if (image) { | 809 | if (image) { |
810 | bpf_flush_icache(image, image + proglen); | 810 | bpf_flush_icache(image, image + proglen); |
811 | fp->bpf_func = (void *)image; | 811 | fp->bpf_func = (void *)image; |
812 | fp->jited = 1; | ||
812 | } | 813 | } |
813 | out: | 814 | out: |
814 | kfree(addrs); | 815 | kfree(addrs); |
@@ -817,7 +818,7 @@ out: | |||
817 | 818 | ||
818 | void bpf_jit_free(struct sk_filter *fp) | 819 | void bpf_jit_free(struct sk_filter *fp) |
819 | { | 820 | { |
820 | if (fp->bpf_func != sk_run_filter) | 821 | if (fp->jited) |
821 | module_free(NULL, fp->bpf_func); | 822 | module_free(NULL, fp->bpf_func); |
822 | kfree(fp); | 823 | kfree(fp); |
823 | } | 824 | } |