Commit 05564c29 authored by Shuah Khan's avatar Shuah Khan

selftests: livepatch: Fix it to do root uid check and skip

livepatch test configures the system and debug environment to run
tests. Some of these actions fail without root access and test
dumps several permission denied messages before it exits.

Fix test-state.sh to call setup_config instead of set_dynamic_debug
as suggested by Petr Mladek <pmladek@suse.com>

Fix it to check root uid and exit with skip code instead.
Signed-off-by: default avatarShuah Khan <skhan@linuxfoundation.org>
Acked-by: default avatarJoe Lawrence <joe.lawrence@redhat.com>
Reviewed-by: default avatarPetr Mladek <pmladek@suse.com>
Signed-off-by: default avatarShuah Khan <skhan@linuxfoundation.org>
parent c65e4153
...@@ -7,6 +7,9 @@ ...@@ -7,6 +7,9 @@
MAX_RETRIES=600 MAX_RETRIES=600
RETRY_INTERVAL=".1" # seconds RETRY_INTERVAL=".1" # seconds
# Kselftest framework requirement - SKIP code is 4
ksft_skip=4
# log(msg) - write message to kernel log # log(msg) - write message to kernel log
# msg - insightful words # msg - insightful words
function log() { function log() {
...@@ -18,7 +21,16 @@ function log() { ...@@ -18,7 +21,16 @@ function log() {
function skip() { function skip() {
log "SKIP: $1" log "SKIP: $1"
echo "SKIP: $1" >&2 echo "SKIP: $1" >&2
exit 4 exit $ksft_skip
}
# root test
function is_root() {
uid=$(id -u)
if [ $uid -ne 0 ]; then
echo "skip all tests: must be run as root" >&2
exit $ksft_skip
fi
} }
# die(msg) - game over, man # die(msg) - game over, man
...@@ -62,6 +74,7 @@ function set_ftrace_enabled() { ...@@ -62,6 +74,7 @@ function set_ftrace_enabled() {
# for verbose livepatching output and turn on # for verbose livepatching output and turn on
# the ftrace_enabled sysctl. # the ftrace_enabled sysctl.
function setup_config() { function setup_config() {
is_root
push_config push_config
set_dynamic_debug set_dynamic_debug
set_ftrace_enabled 1 set_ftrace_enabled 1
......
...@@ -8,8 +8,7 @@ MOD_LIVEPATCH=test_klp_state ...@@ -8,8 +8,7 @@ MOD_LIVEPATCH=test_klp_state
MOD_LIVEPATCH2=test_klp_state2 MOD_LIVEPATCH2=test_klp_state2
MOD_LIVEPATCH3=test_klp_state3 MOD_LIVEPATCH3=test_klp_state3
set_dynamic_debug setup_config
# TEST: Loading and removing a module that modifies the system state # TEST: Loading and removing a module that modifies the system state
......
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