On 05/22/2013 01:54 AM, Stephen Rothwell wrote:
Hi Daniel,
On Tue, 21 May 2013 09:44:13 +0200 Daniel Borkmann <dborkman@xxxxxxxxxx> wrote:
Also seccomp_jit_free() needs a change otherwise the kernel won't build
with CONFIG_SECCOMP_FILTER_JIT enabled since the work_struct is initialized
with the bpf_jit_free_worker() callback, which is no longer existent.
Do you want me to send you a patch?
Yes, please.
In case this is still needed, patch attached. That should fix it.
>From 72d68685f31b84f64826740cf3d33ba6d8d28ffc Mon Sep 17 00:00:00 2001
Message-Id: <72d68685f31b84f64826740cf3d33ba6d8d28ffc.1369214198.git.dborkman@xxxxxxxxxx>
In-Reply-To: <cover.1369214198.git.dborkman@xxxxxxxxxx>
References: <cover.1369214198.git.dborkman@xxxxxxxxxx>
From: Daniel Borkmann <dborkman@xxxxxxxxxx>
Date: Wed, 22 May 2013 11:12:31 +0200
Subject: [PATCH] arm: bpf_jit: fixup build error in seccomp_jit_free
bpf_jit_free_worker() no longer exist, so get seccomp_jit_free()
in line with bpf_jit_free().
Signed-off-by: Daniel Borkmann <dborkman@xxxxxxxxxx>
---
arch/arm/net/bpf_jit_32.c | 13 ++-----------
1 file changed, 2 insertions(+), 11 deletions(-)
diff --git a/arch/arm/net/bpf_jit_32.c b/arch/arm/net/bpf_jit_32.c
index 62aca35..3fe001d 100644
--- a/arch/arm/net/bpf_jit_32.c
+++ b/arch/arm/net/bpf_jit_32.c
@@ -969,18 +969,9 @@ void seccomp_jit_compile(struct seccomp_filter *fp)
void seccomp_jit_free(struct seccomp_filter *fp)
{
- struct work_struct *work;
void *bpf_func = seccomp_filter_get_bpf_func(fp);
- if (bpf_func != sk_run_filter) {
- /*
- * seccomp_jit_free() can be called from softirq; module_free()
- * requires process context.
- */
- work = (struct work_struct *)bpf_func;
-
- INIT_WORK(work, bpf_jit_free_worker);
- schedule_work(work);
- }
+ if (bpf_func != sk_run_filter)
+ module_free(NULL, bpf_func);
}
#endif
--
1.7.11.7