Rolf Eike Beer | d979e13 | 2016-12-14 11:58:20 +0100 | [diff] [blame] | 1 | #!/bin/sh |
Greg Kroah-Hartman | b244131 | 2017-11-01 15:07:57 +0100 | [diff] [blame] | 2 | # SPDX-License-Identifier: GPL-2.0 |
Daniel Borkmann | 5aa5bd1 | 2016-10-17 14:28:36 +0200 | [diff] [blame] | 3 | |
Jeffrin Jose T | 81e167c | 2018-06-21 22:30:20 +0530 | [diff] [blame] | 4 | # Kselftest framework requirement - SKIP code is 4. |
| 5 | ksft_skip=4 |
| 6 | |
| 7 | msg="skip all tests:" |
| 8 | if [ "$(id -u)" != "0" ]; then |
| 9 | echo $msg please run this as root >&2 |
| 10 | exit $ksft_skip |
| 11 | fi |
| 12 | |
Daniel Borkmann | 5aa5bd1 | 2016-10-17 14:28:36 +0200 | [diff] [blame] | 13 | SRC_TREE=../../../../ |
| 14 | |
| 15 | test_run() |
| 16 | { |
| 17 | sysctl -w net.core.bpf_jit_enable=$1 2>&1 > /dev/null |
| 18 | sysctl -w net.core.bpf_jit_harden=$2 2>&1 > /dev/null |
| 19 | |
| 20 | echo "[ JIT enabled:$1 hardened:$2 ]" |
| 21 | dmesg -C |
Naresh Kamboju | 035d808 | 2018-02-07 23:45:34 +0530 | [diff] [blame] | 22 | if [ -f ${SRC_TREE}/lib/test_bpf.ko ]; then |
| 23 | insmod ${SRC_TREE}/lib/test_bpf.ko 2> /dev/null |
| 24 | if [ $? -ne 0 ]; then |
| 25 | rc=1 |
| 26 | fi |
| 27 | else |
| 28 | # Use modprobe dry run to check for missing test_bpf module |
| 29 | if ! /sbin/modprobe -q -n test_bpf; then |
| 30 | echo "test_bpf: [SKIP]" |
| 31 | elif /sbin/modprobe -q test_bpf; then |
| 32 | echo "test_bpf: ok" |
| 33 | else |
| 34 | echo "test_bpf: [FAIL]" |
| 35 | rc=1 |
| 36 | fi |
Daniel Borkmann | 5aa5bd1 | 2016-10-17 14:28:36 +0200 | [diff] [blame] | 37 | fi |
| 38 | rmmod test_bpf 2> /dev/null |
| 39 | dmesg | grep FAIL |
| 40 | } |
| 41 | |
| 42 | test_save() |
| 43 | { |
| 44 | JE=`sysctl -n net.core.bpf_jit_enable` |
| 45 | JH=`sysctl -n net.core.bpf_jit_harden` |
| 46 | } |
| 47 | |
| 48 | test_restore() |
| 49 | { |
| 50 | sysctl -w net.core.bpf_jit_enable=$JE 2>&1 > /dev/null |
| 51 | sysctl -w net.core.bpf_jit_harden=$JH 2>&1 > /dev/null |
| 52 | } |
| 53 | |
| 54 | rc=0 |
| 55 | test_save |
| 56 | test_run 0 0 |
| 57 | test_run 1 0 |
| 58 | test_run 1 1 |
| 59 | test_run 1 2 |
| 60 | test_restore |
| 61 | exit $rc |