|
6 | 6 |
|
7 | 7 | MAX_RETRIES=600 |
8 | 8 | RETRY_INTERVAL=".1" # seconds |
9 | | -SYSFS_KLP_DIR="/sys/kernel/livepatch" |
| 9 | +SYSFS_KERNEL_DIR="/sys/kernel" |
| 10 | +SYSFS_KLP_DIR="$SYSFS_KERNEL_DIR/livepatch" |
| 11 | +SYSFS_DEBUG_DIR="$SYSFS_KERNEL_DIR/debug" |
| 12 | +SYSFS_KPROBES_DIR="$SYSFS_DEBUG_DIR/kprobes" |
10 | 13 |
|
11 | 14 | # Kselftest framework requirement - SKIP code is 4 |
12 | 15 | ksft_skip=4 |
@@ -43,22 +46,26 @@ function die() { |
43 | 46 | } |
44 | 47 |
|
45 | 48 | function push_config() { |
46 | | - DYNAMIC_DEBUG=$(grep '^kernel/livepatch' /sys/kernel/debug/dynamic_debug/control | \ |
| 49 | + DYNAMIC_DEBUG=$(grep '^kernel/livepatch' "$SYSFS_DEBUG_DIR/dynamic_debug/control" | \ |
47 | 50 | awk -F'[: ]' '{print "file " $1 " line " $2 " " $4}') |
48 | 51 | FTRACE_ENABLED=$(sysctl --values kernel.ftrace_enabled) |
| 52 | + KPROBE_ENABLED=$(cat "$SYSFS_KPROBES_DIR/enabled") |
49 | 53 | } |
50 | 54 |
|
51 | 55 | function pop_config() { |
52 | 56 | if [[ -n "$DYNAMIC_DEBUG" ]]; then |
53 | | - echo -n "$DYNAMIC_DEBUG" > /sys/kernel/debug/dynamic_debug/control |
| 57 | + echo -n "$DYNAMIC_DEBUG" > "$SYSFS_DEBUG_DIR/dynamic_debug/control" |
54 | 58 | fi |
55 | 59 | if [[ -n "$FTRACE_ENABLED" ]]; then |
56 | 60 | sysctl kernel.ftrace_enabled="$FTRACE_ENABLED" &> /dev/null |
57 | 61 | fi |
| 62 | + if [[ -n "$KPROBE_ENABLED" ]]; then |
| 63 | + echo "$KPROBE_ENABLED" > "$SYSFS_KPROBES_DIR/enabled" |
| 64 | + fi |
58 | 65 | } |
59 | 66 |
|
60 | 67 | function set_dynamic_debug() { |
61 | | - cat <<-EOF > /sys/kernel/debug/dynamic_debug/control |
| 68 | + cat <<-EOF > "$SYSFS_DEBUG_DIR/dynamic_debug/control" |
62 | 69 | file kernel/livepatch/* +p |
63 | 70 | func klp_try_switch_task -p |
64 | 71 | EOF |
|
0 commit comments