15aa5bd14SDaniel Borkmann#!/bin/bash
25aa5bd14SDaniel Borkmann
35aa5bd14SDaniel BorkmannSRC_TREE=../../../../
45aa5bd14SDaniel Borkmann
55aa5bd14SDaniel Borkmanntest_run()
65aa5bd14SDaniel Borkmann{
75aa5bd14SDaniel Borkmann	sysctl -w net.core.bpf_jit_enable=$1 2>&1 > /dev/null
85aa5bd14SDaniel Borkmann	sysctl -w net.core.bpf_jit_harden=$2 2>&1 > /dev/null
95aa5bd14SDaniel Borkmann
105aa5bd14SDaniel Borkmann	echo "[ JIT enabled:$1 hardened:$2 ]"
115aa5bd14SDaniel Borkmann	dmesg -C
125aa5bd14SDaniel Borkmann	insmod $SRC_TREE/lib/test_bpf.ko 2> /dev/null
135aa5bd14SDaniel Borkmann	if [ $? -ne 0 ]; then
145aa5bd14SDaniel Borkmann		rc=1
155aa5bd14SDaniel Borkmann	fi
165aa5bd14SDaniel Borkmann	rmmod  test_bpf 2> /dev/null
175aa5bd14SDaniel Borkmann	dmesg | grep FAIL
185aa5bd14SDaniel Borkmann}
195aa5bd14SDaniel Borkmann
205aa5bd14SDaniel Borkmanntest_save()
215aa5bd14SDaniel Borkmann{
225aa5bd14SDaniel Borkmann	JE=`sysctl -n net.core.bpf_jit_enable`
235aa5bd14SDaniel Borkmann	JH=`sysctl -n net.core.bpf_jit_harden`
245aa5bd14SDaniel Borkmann}
255aa5bd14SDaniel Borkmann
265aa5bd14SDaniel Borkmanntest_restore()
275aa5bd14SDaniel Borkmann{
285aa5bd14SDaniel Borkmann	sysctl -w net.core.bpf_jit_enable=$JE 2>&1 > /dev/null
295aa5bd14SDaniel Borkmann	sysctl -w net.core.bpf_jit_harden=$JH 2>&1 > /dev/null
305aa5bd14SDaniel Borkmann}
315aa5bd14SDaniel Borkmann
325aa5bd14SDaniel Borkmannrc=0
335aa5bd14SDaniel Borkmanntest_save
345aa5bd14SDaniel Borkmanntest_run 0 0
355aa5bd14SDaniel Borkmanntest_run 1 0
365aa5bd14SDaniel Borkmanntest_run 1 1
375aa5bd14SDaniel Borkmanntest_run 1 2
385aa5bd14SDaniel Borkmanntest_restore
395aa5bd14SDaniel Borkmannexit $rc
40