Commit 04831e89 authored by Kees Cook's avatar Kees Cook Committed by Greg Kroah-Hartman

selftests/lkdtm: Avoid needing explicit sub-shell

Some environments do not set $SHELL when running tests. There's no
need to use $SHELL here anyway, since "cat" can be used to receive any
delivered signals from the kernel. Additionally avoid using bash-isms
in the command, and record stderr for posterity.

Fixes: 46d1a0f0 ("selftests/lkdtm: Add tests for LKDTM targets")
Cc: stable@vger.kernel.org
Suggested-by: default avatarGuillaume Tucker <guillaume.tucker@collabora.com>
Suggested-by: default avatarDavid Laight <David.Laight@ACULAB.COM>
Signed-off-by: default avatarKees Cook <keescook@chromium.org>
Link: https://lore.kernel.org/r/20210623203936.3151093-2-keescook@chromium.orgSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent d4e14066
...@@ -76,10 +76,14 @@ fi ...@@ -76,10 +76,14 @@ fi
# Save existing dmesg so we can detect new content below # Save existing dmesg so we can detect new content below
dmesg > "$DMESG" dmesg > "$DMESG"
# Most shells yell about signals and we're expecting the "cat" process # Since the kernel is likely killing the process writing to the trigger
# to usually be killed by the kernel. So we have to run it in a sub-shell # file, it must not be the script's shell itself. i.e. we cannot do:
# and silence errors. # echo "$test" >"$TRIGGER"
($SHELL -c 'cat <(echo '"$test"') >'"$TRIGGER" 2>/dev/null) || true # Instead, use "cat" to take the signal. Since the shell will yell about
# the signal that killed the subprocess, we must ignore the failure and
# continue. However we don't silence stderr since there might be other
# useful details reported there in the case of other unexpected conditions.
echo "$test" | cat >"$TRIGGER" || true
# Record and dump the results # Record and dump the results
dmesg | comm --nocheck-order -13 "$DMESG" - > "$LOG" || true dmesg | comm --nocheck-order -13 "$DMESG" - > "$LOG" || true
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment