mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 12:28:41 +08:00
selftest/lkdtm: Skip stack-entropy test if lkdtm is not available
Exit with return code 4 if lkdtm is not available like other tests in order to properly skip the test. Signed-off-by: Misono Tomohiro <misono.tomohiro@jp.fujitsu.com> Signed-off-by: Kees Cook <keescook@chromium.org> Link: https://lore.kernel.org/r/20210805101236.1140381-1-misono.tomohiro@jp.fujitsu.com
This commit is contained in:
parent
bc93a22a19
commit
90091c367e
@ -4,13 +4,27 @@
|
|||||||
# Measure kernel stack entropy by sampling via LKDTM's REPORT_STACK test.
|
# Measure kernel stack entropy by sampling via LKDTM's REPORT_STACK test.
|
||||||
set -e
|
set -e
|
||||||
samples="${1:-1000}"
|
samples="${1:-1000}"
|
||||||
|
TRIGGER=/sys/kernel/debug/provoke-crash/DIRECT
|
||||||
|
KSELFTEST_SKIP_TEST=4
|
||||||
|
|
||||||
|
# Verify we have LKDTM available in the kernel.
|
||||||
|
if [ ! -r $TRIGGER ] ; then
|
||||||
|
/sbin/modprobe -q lkdtm || true
|
||||||
|
if [ ! -r $TRIGGER ] ; then
|
||||||
|
echo "Cannot find $TRIGGER (missing CONFIG_LKDTM?)"
|
||||||
|
else
|
||||||
|
echo "Cannot write $TRIGGER (need to run as root?)"
|
||||||
|
fi
|
||||||
|
# Skip this test
|
||||||
|
exit $KSELFTEST_SKIP_TEST
|
||||||
|
fi
|
||||||
|
|
||||||
# Capture dmesg continuously since it may fill up depending on sample size.
|
# Capture dmesg continuously since it may fill up depending on sample size.
|
||||||
log=$(mktemp -t stack-entropy-XXXXXX)
|
log=$(mktemp -t stack-entropy-XXXXXX)
|
||||||
dmesg --follow >"$log" & pid=$!
|
dmesg --follow >"$log" & pid=$!
|
||||||
report=-1
|
report=-1
|
||||||
for i in $(seq 1 $samples); do
|
for i in $(seq 1 $samples); do
|
||||||
echo "REPORT_STACK" >/sys/kernel/debug/provoke-crash/DIRECT
|
echo "REPORT_STACK" > $TRIGGER
|
||||||
if [ -t 1 ]; then
|
if [ -t 1 ]; then
|
||||||
percent=$(( 100 * $i / $samples ))
|
percent=$(( 100 * $i / $samples ))
|
||||||
if [ "$percent" -ne "$report" ]; then
|
if [ "$percent" -ne "$report" ]; then
|
||||||
|
Loading…
Reference in New Issue
Block a user