Commit e80d02dd authored by Alexei Starovoitov's avatar Alexei Starovoitov Committed by Daniel Borkmann
Browse files

seccomp, bpf: disable preemption before calling into bpf prog



All BPF programs must be called with preemption disabled.

Fixes: 568f1967 ("bpf: check that BPF programs run with preemption disabled")
Reported-by: default avatar <syzbot+8bf19ee2aa580de7a2a7@syzkaller.appspotmail.com>
Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
parent 74e31ca8
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -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 */