Commit 7e021da8 authored by Masami Hiramatsu (Google)'s avatar Masami Hiramatsu (Google) Committed by Shuah Khan

selftests: tracing: Fix to unmount tracefs for recovering environment

Fix to unmount the tracefs if the ftracetest mounted it for recovering
system environment. If the tracefs is already mounted, this does nothing.
Suggested-by: default avatarMark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/all/29fce076-746c-4650-8358-b4e0fa215cf7@sirena.org.uk/
Fixes: cbd965bd ("ftrace/selftests: Return the skip code when tracing directory not configured in kernel")
Signed-off-by: default avatarMasami Hiramatsu (Google) <mhiramat@kernel.org>
Reviewed-by: default avatarSteven Rostedt (Google) <rostedt@goodmis.org>
Reviewed-by: default avatarMark Brown <broonie@kernel.org>
Signed-off-by: default avatarShuah Khan <skhan@linuxfoundation.org>
parent 7ab6fe66
...@@ -31,6 +31,9 @@ err_ret=1 ...@@ -31,6 +31,9 @@ err_ret=1
# kselftest skip code is 4 # kselftest skip code is 4
err_skip=4 err_skip=4
# umount required
UMOUNT_DIR=""
# cgroup RT scheduling prevents chrt commands from succeeding, which # cgroup RT scheduling prevents chrt commands from succeeding, which
# induces failures in test wakeup tests. Disable for the duration of # induces failures in test wakeup tests. Disable for the duration of
# the tests. # the tests.
...@@ -45,6 +48,9 @@ setup() { ...@@ -45,6 +48,9 @@ setup() {
cleanup() { cleanup() {
echo $sched_rt_runtime_orig > $sched_rt_runtime echo $sched_rt_runtime_orig > $sched_rt_runtime
if [ -n "${UMOUNT_DIR}" ]; then
umount ${UMOUNT_DIR} ||:
fi
} }
errexit() { # message errexit() { # message
...@@ -161,11 +167,13 @@ if [ -z "$TRACING_DIR" ]; then ...@@ -161,11 +167,13 @@ if [ -z "$TRACING_DIR" ]; then
mount -t tracefs nodev /sys/kernel/tracing || mount -t tracefs nodev /sys/kernel/tracing ||
errexit "Failed to mount /sys/kernel/tracing" errexit "Failed to mount /sys/kernel/tracing"
TRACING_DIR="/sys/kernel/tracing" TRACING_DIR="/sys/kernel/tracing"
UMOUNT_DIR=${TRACING_DIR}
# If debugfs exists, then so does /sys/kernel/debug # If debugfs exists, then so does /sys/kernel/debug
elif [ -d "/sys/kernel/debug" ]; then elif [ -d "/sys/kernel/debug" ]; then
mount -t debugfs nodev /sys/kernel/debug || mount -t debugfs nodev /sys/kernel/debug ||
errexit "Failed to mount /sys/kernel/debug" errexit "Failed to mount /sys/kernel/debug"
TRACING_DIR="/sys/kernel/debug/tracing" TRACING_DIR="/sys/kernel/debug/tracing"
UMOUNT_DIR=${TRACING_DIR}
else else
err_ret=$err_skip err_ret=$err_skip
errexit "debugfs and tracefs are not configured in this kernel" errexit "debugfs and tracefs are not configured in this kernel"
......
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