5aa5bd14c5
Add a start of a test suite for kernel selftests. This moves test_verifier and test_maps over to tools/testing/selftests/bpf/ along with various code improvements and also adds a script for invoking test_bpf module. The test suite can simply be run via selftest framework, f.e.: # cd tools/testing/selftests/bpf/ # make # make run_tests Both test_verifier and test_maps were kind of misplaced in samples/bpf/ directory and we were looking into adding them to selftests for a while now, so it can be picked up by kbuild bot et al and hopefully also get more exposure and thus new test case additions. Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> Acked-by: Alexei Starovoitov <ast@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net>
40 lines
660 B
Bash
Executable File
40 lines
660 B
Bash
Executable File
#!/bin/bash
|
|
|
|
SRC_TREE=../../../../
|
|
|
|
test_run()
|
|
{
|
|
sysctl -w net.core.bpf_jit_enable=$1 2>&1 > /dev/null
|
|
sysctl -w net.core.bpf_jit_harden=$2 2>&1 > /dev/null
|
|
|
|
echo "[ JIT enabled:$1 hardened:$2 ]"
|
|
dmesg -C
|
|
insmod $SRC_TREE/lib/test_bpf.ko 2> /dev/null
|
|
if [ $? -ne 0 ]; then
|
|
rc=1
|
|
fi
|
|
rmmod test_bpf 2> /dev/null
|
|
dmesg | grep FAIL
|
|
}
|
|
|
|
test_save()
|
|
{
|
|
JE=`sysctl -n net.core.bpf_jit_enable`
|
|
JH=`sysctl -n net.core.bpf_jit_harden`
|
|
}
|
|
|
|
test_restore()
|
|
{
|
|
sysctl -w net.core.bpf_jit_enable=$JE 2>&1 > /dev/null
|
|
sysctl -w net.core.bpf_jit_harden=$JH 2>&1 > /dev/null
|
|
}
|
|
|
|
rc=0
|
|
test_save
|
|
test_run 0 0
|
|
test_run 1 0
|
|
test_run 1 1
|
|
test_run 1 2
|
|
test_restore
|
|
exit $rc
|