#!/bin/bash # SPDX-License-Identifier: GPL-2.0 # Kselftest framework requirement - SKIP code is 4. ksft_skip=4 DBGFS=$(grep debugfs /proc/mounts --max-count 1 | awk '{print $2}') if [ "$DBGFS" = "" ] then echo "debugfs not mounted" exit $ksft_skip fi DBGFS+="/damon" if [ $EUID -ne 0 ]; then echo "Run as root" exit $ksft_skip fi if [ ! -d "$DBGFS" ] then echo "$DBGFS not found" exit $ksft_skip fi if [ -f "$DBGFS/monitor_on_DEPRECATED" ] then monitor_on_file="monitor_on_DEPRECATED" else monitor_on_file="monitor_on" fi for f in attrs target_ids "$monitor_on_file" do if [ ! -f "$DBGFS/$f" ] then echo "$f not found" exit 1 fi done permission_error="Operation not permitted" for f in attrs target_ids "$monitor_on_file" do status=$( cat "$DBGFS/$f" 2>&1 ) if [ "${status#*$permission_error}" != "$status" ]; then echo "Permission for reading $DBGFS/$f denied; maybe secureboot enabled?" exit $ksft_skip fi done