mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-31 08:28:13 +00:00
2ea4859807
When running out of srctree, relative path to lib/test_bpf.ko is different than when running in srctree. Check $building_out_of_srctree environment variable and use a different relative path if needed. Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com> Signed-off-by: Alexei Starovoitov <ast@kernel.org> Link: https://lore.kernel.org/bpf/20200717165326.6786-2-iii@linux.ibm.com
67 lines
1.3 KiB
Bash
Executable file
67 lines
1.3 KiB
Bash
Executable file
#!/bin/sh
|
|
# SPDX-License-Identifier: GPL-2.0
|
|
|
|
# Kselftest framework requirement - SKIP code is 4.
|
|
ksft_skip=4
|
|
|
|
msg="skip all tests:"
|
|
if [ "$(id -u)" != "0" ]; then
|
|
echo $msg please run this as root >&2
|
|
exit $ksft_skip
|
|
fi
|
|
|
|
if [ "$building_out_of_srctree" ]; then
|
|
# We are in linux-build/kselftest/bpf
|
|
OUTPUT=../../
|
|
else
|
|
# We are in linux/tools/testing/selftests/bpf
|
|
OUTPUT=../../../../
|
|
fi
|
|
|
|
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
|
|
if [ -f ${OUTPUT}/lib/test_bpf.ko ]; then
|
|
insmod ${OUTPUT}/lib/test_bpf.ko 2> /dev/null
|
|
if [ $? -ne 0 ]; then
|
|
rc=1
|
|
fi
|
|
else
|
|
# Use modprobe dry run to check for missing test_bpf module
|
|
if ! /sbin/modprobe -q -n test_bpf; then
|
|
echo "test_bpf: [SKIP]"
|
|
elif /sbin/modprobe -q test_bpf; then
|
|
echo "test_bpf: ok"
|
|
else
|
|
echo "test_bpf: [FAIL]"
|
|
rc=1
|
|
fi
|
|
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
|