cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

test_kmod.sh (1318B)


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