1d979e13aSRolf Eike Beer#!/bin/sh 2b2441318SGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0 35aa5bd14SDaniel Borkmann 481e167c2SJeffrin Jose T# Kselftest framework requirement - SKIP code is 4. 581e167c2SJeffrin Jose Tksft_skip=4 681e167c2SJeffrin Jose T 781e167c2SJeffrin Jose Tmsg="skip all tests:" 881e167c2SJeffrin Jose Tif [ "$(id -u)" != "0" ]; then 981e167c2SJeffrin Jose T echo $msg please run this as root >&2 1081e167c2SJeffrin Jose T exit $ksft_skip 1181e167c2SJeffrin Jose Tfi 1281e167c2SJeffrin Jose T 135aa5bd14SDaniel BorkmannSRC_TREE=../../../../ 145aa5bd14SDaniel Borkmann 155aa5bd14SDaniel Borkmanntest_run() 165aa5bd14SDaniel Borkmann{ 175aa5bd14SDaniel Borkmann sysctl -w net.core.bpf_jit_enable=$1 2>&1 > /dev/null 185aa5bd14SDaniel Borkmann sysctl -w net.core.bpf_jit_harden=$2 2>&1 > /dev/null 195aa5bd14SDaniel Borkmann 205aa5bd14SDaniel Borkmann echo "[ JIT enabled:$1 hardened:$2 ]" 215aa5bd14SDaniel Borkmann dmesg -C 22035d808fSNaresh Kamboju if [ -f ${SRC_TREE}/lib/test_bpf.ko ]; then 23035d808fSNaresh Kamboju insmod ${SRC_TREE}/lib/test_bpf.ko 2> /dev/null 245aa5bd14SDaniel Borkmann if [ $? -ne 0 ]; then 255aa5bd14SDaniel Borkmann rc=1 265aa5bd14SDaniel Borkmann fi 27035d808fSNaresh Kamboju else 28035d808fSNaresh Kamboju # Use modprobe dry run to check for missing test_bpf module 29035d808fSNaresh Kamboju if ! /sbin/modprobe -q -n test_bpf; then 30035d808fSNaresh Kamboju echo "test_bpf: [SKIP]" 31035d808fSNaresh Kamboju elif /sbin/modprobe -q test_bpf; then 32035d808fSNaresh Kamboju echo "test_bpf: ok" 33035d808fSNaresh Kamboju else 34035d808fSNaresh Kamboju echo "test_bpf: [FAIL]" 35035d808fSNaresh Kamboju rc=1 36035d808fSNaresh Kamboju fi 37035d808fSNaresh Kamboju fi 385aa5bd14SDaniel Borkmann rmmod test_bpf 2> /dev/null 395aa5bd14SDaniel Borkmann dmesg | grep FAIL 405aa5bd14SDaniel Borkmann} 415aa5bd14SDaniel Borkmann 425aa5bd14SDaniel Borkmanntest_save() 435aa5bd14SDaniel Borkmann{ 445aa5bd14SDaniel Borkmann JE=`sysctl -n net.core.bpf_jit_enable` 455aa5bd14SDaniel Borkmann JH=`sysctl -n net.core.bpf_jit_harden` 465aa5bd14SDaniel Borkmann} 475aa5bd14SDaniel Borkmann 485aa5bd14SDaniel Borkmanntest_restore() 495aa5bd14SDaniel Borkmann{ 505aa5bd14SDaniel Borkmann sysctl -w net.core.bpf_jit_enable=$JE 2>&1 > /dev/null 515aa5bd14SDaniel Borkmann sysctl -w net.core.bpf_jit_harden=$JH 2>&1 > /dev/null 525aa5bd14SDaniel Borkmann} 535aa5bd14SDaniel Borkmann 545aa5bd14SDaniel Borkmannrc=0 555aa5bd14SDaniel Borkmanntest_save 565aa5bd14SDaniel Borkmanntest_run 0 0 575aa5bd14SDaniel Borkmanntest_run 1 0 585aa5bd14SDaniel Borkmanntest_run 1 1 595aa5bd14SDaniel Borkmanntest_run 1 2 605aa5bd14SDaniel Borkmanntest_restore 615aa5bd14SDaniel Borkmannexit $rc 62