selftests/bpf: make sure signal interrupts BPF_PROG_TEST_RUN
authorStanislav Fomichev <sdf@google.com>
Thu, 21 Feb 2019 19:11:00 +0000 (11:11 -0800)
committerDaniel Borkmann <daniel@iogearbox.net>
Mon, 25 Feb 2019 21:24:19 +0000 (22:24 +0100)
commit740f8a6572213a677c7916b12a11d831373722ce
tree32fc07284addcea0f01bfbefca3496a1d4e44ba7
parenta439184d515fbf4805f57d11fa5dfd4524d2c0eb
selftests/bpf: make sure signal interrupts BPF_PROG_TEST_RUN

Simple test that I used to reproduce the issue in the previous commit:
Do BPF_PROG_TEST_RUN with max iterations, each program is 4096 simple
move instructions. File alarm in 0.1 second and check that
bpf_prog_test_run is interrupted (i.e. test doesn't hang).

Note: reposting this for bpf-next to avoid linux-next conflict. In this
version I test both BPF_PROG_TYPE_SOCKET_FILTER (which uses generic
bpf_test_run implementation) and BPF_PROG_TYPE_FLOW_DISSECTOR (which has
it own loop with preempt handling in bpf_prog_test_run_flow_dissector).

Signed-off-by: Stanislav Fomichev <sdf@google.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
tools/testing/selftests/bpf/test_progs.c