]> Git Repo - linux.git/blob - tools/testing/selftests/bpf/test_kmod.sh
scsi: zfcp: Trace when request remove fails after qdio send fails
[linux.git] / tools / testing / selftests / bpf / test_kmod.sh
1 #!/bin/sh
2 # SPDX-License-Identifier: GPL-2.0
3
4 # Usage:
5 # ./test_kmod.sh [module_param]...
6 # Ex.: ./test_kmod.sh test_range=1,3
7 # All the parameters are passed to the kernel module.
8
9 # Kselftest framework requirement - SKIP code is 4.
10 ksft_skip=4
11
12 msg="skip all tests:"
13 if [ "$(id -u)" != "0" ]; then
14         echo $msg please run this as root >&2
15         exit $ksft_skip
16 fi
17
18 if [ "$building_out_of_srctree" ]; then
19         # We are in linux-build/kselftest/bpf
20         OUTPUT=../../
21 else
22         # We are in linux/tools/testing/selftests/bpf
23         OUTPUT=../../../../
24 fi
25
26 test_run()
27 {
28         sysctl -w net.core.bpf_jit_enable=$1 2>&1 > /dev/null
29         sysctl -w net.core.bpf_jit_harden=$2 2>&1 > /dev/null
30
31         echo "[ JIT enabled:$1 hardened:$2 ]"
32         shift 2
33         dmesg -C
34         if [ -f ${OUTPUT}/lib/test_bpf.ko ]; then
35                 insmod ${OUTPUT}/lib/test_bpf.ko "$@" 2> /dev/null
36                 if [ $? -ne 0 ]; then
37                         rc=1
38                 fi
39         else
40                 # Use modprobe dry run to check for missing test_bpf module
41                 if ! /sbin/modprobe -q -n test_bpf "$@"; then
42                         echo "test_bpf: [SKIP]"
43                 elif /sbin/modprobe -q test_bpf "$@"; then
44                         echo "test_bpf: ok"
45                 else
46                         echo "test_bpf: [FAIL]"
47                         rc=1
48                 fi
49         fi
50         rmmod  test_bpf 2> /dev/null
51         dmesg | grep FAIL
52 }
53
54 test_save()
55 {
56         JE=`sysctl -n net.core.bpf_jit_enable`
57         JH=`sysctl -n net.core.bpf_jit_harden`
58 }
59
60 test_restore()
61 {
62         sysctl -w net.core.bpf_jit_enable=$JE 2>&1 > /dev/null
63         sysctl -w net.core.bpf_jit_harden=$JH 2>&1 > /dev/null
64 }
65
66 rc=0
67 test_save
68 test_run 0 0 "$@"
69 test_run 1 0 "$@"
70 test_run 1 1 "$@"
71 test_run 1 2 "$@"
72 test_restore
73 exit $rc
This page took 0.033948 seconds and 4 git commands to generate.