seccomp, bpf: disable preemption before calling into bpf prog All BPF programs must be called with preemption disabled. Signed-off-by: Alexei Starovoitov <ast@kernel.org>
diff --git a/kernel/seccomp.c b/kernel/seccomp.c index e815781..a43c601 100644 --- a/kernel/seccomp.c +++ b/kernel/seccomp.c
@@ -267,6 +267,7 @@ static u32 seccomp_run_filters(const struct seccomp_data *sd, * All filters in the list are evaluated and the lowest BPF return * value always takes priority (ignoring the DATA). */ + preempt_disable(); for (; f; f = f->prev) { u32 cur_ret = BPF_PROG_RUN(f->prog, sd); @@ -275,6 +276,7 @@ static u32 seccomp_run_filters(const struct seccomp_data *sd, *match = f; } } + preempt_enable(); return ret; } #endif /* CONFIG_SECCOMP_FILTER */