1#!/bin/bash 2# SPDX-License-Identifier: GPL-2.0 3 4# Kselftest framework requirement - SKIP code is 4. 5ksft_skip=4 6 7DBGFS=$(grep debugfs /proc/mounts --max-count 1 | awk '{print $2}') 8if [ "$DBGFS" = "" ] 9then 10 echo "debugfs not mounted" 11 exit $ksft_skip 12fi 13 14DBGFS+="/damon" 15 16if [ $EUID -ne 0 ]; 17then 18 echo "Run as root" 19 exit $ksft_skip 20fi 21 22if [ ! -d "$DBGFS" ] 23then 24 echo "$DBGFS not found" 25 exit $ksft_skip 26fi 27 28if [ -f "$DBGFS/monitor_on_DEPRECATED" ] 29then 30 monitor_on_file="monitor_on_DEPRECATED" 31else 32 monitor_on_file="monitor_on" 33fi 34 35for f in attrs target_ids "$monitor_on_file" 36do 37 if [ ! -f "$DBGFS/$f" ] 38 then 39 echo "$f not found" 40 exit 1 41 fi 42done 43 44permission_error="Operation not permitted" 45for f in attrs target_ids "$monitor_on_file" 46do 47 status=$( cat "$DBGFS/$f" 2>&1 ) 48 if [ "${status#*$permission_error}" != "$status" ]; then 49 echo "Permission for reading $DBGFS/$f denied; maybe secureboot enabled?" 50 exit $ksft_skip 51 fi 52done 53