12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- #!/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
- 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
- if [ -f ${SRC_TREE}/lib/test_bpf.ko ]; then
- insmod ${SRC_TREE}/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
|