bpf: check pending signals while verifying programs
authorAlexei Starovoitov <ast@kernel.org>
Tue, 4 Dec 2018 06:46:04 +0000 (22:46 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 21 Dec 2018 13:15:21 +0000 (14:15 +0100)
commit6ffd9f25c0e957ade0afb0a437cfc08cd31deffc
tree448b0b0618c7b2d3e2b36d781838a66f88e5658b
parentefda3b1d90e50e9af078a7248909acfd8f13cc0a
bpf: check pending signals while verifying programs

[ Upstream commit c3494801cd1785e2c25f1a5735fa19ddcf9665da ]

Malicious user space may try to force the verifier to use as much cpu
time and memory as possible. Hence check for pending signals
while verifying the program.
Note that suspend of sys_bpf(PROG_LOAD) syscall will lead to EAGAIN,
since the kernel has to release the resources used for program verification.

Reported-by: Anatoly Trosinenko <anatoly.trosinenko@gmail.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Acked-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Edward Cree <ecree@solarflare.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
kernel/bpf/verifier.c