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

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
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -31,6 +31,9 @@ err_ret=1
# kselftest skip code is 4
err_skip=4

# umount required
UMOUNT_DIR=""

# cgroup RT scheduling prevents chrt commands from succeeding, which
# induces failures in test wakeup tests.  Disable for the duration of
# the tests.
@@ -45,6 +48,9 @@ setup() {

cleanup() {
  echo $sched_rt_runtime_orig > $sched_rt_runtime
  if [ -n "${UMOUNT_DIR}" ]; then
    umount ${UMOUNT_DIR} ||:
  fi
}

errexit() { # message
@@ -161,11 +167,13 @@ if [ -z "$TRACING_DIR" ]; then
	    mount -t tracefs nodev /sys/kernel/tracing ||
	      errexit "Failed to mount /sys/kernel/tracing"
	    TRACING_DIR="/sys/kernel/tracing"
	    UMOUNT_DIR=${TRACING_DIR}
	# If debugfs exists, then so does /sys/kernel/debug
	elif [ -d "/sys/kernel/debug" ]; then
	    mount -t debugfs nodev /sys/kernel/debug ||
	      errexit "Failed to mount /sys/kernel/debug"
	    TRACING_DIR="/sys/kernel/debug/tracing"
	    UMOUNT_DIR=${TRACING_DIR}
	else
	    err_ret=$err_skip
	    errexit "debugfs and tracefs are not configured in this kernel"