mirror of
https://github.com/cirosantilli/linux-kernel-module-cheat.git
synced 2026-01-13 20:12:26 +00:00
28 lines
541 B
Bash
Executable File
28 lines
541 B
Bash
Executable File
#!/bin/sh
|
|
set -e
|
|
f=/sys/kernel/debug/lkmc_dep
|
|
f2=/sys/kernel/debug/lkmc_dep2
|
|
|
|
insmod /dep.ko
|
|
insmod /dep2.ko
|
|
|
|
# Initial value.
|
|
[ "$(cat "$f")" = 0 ]
|
|
|
|
# Changhing dep2 also changes dep.
|
|
printf 1 > "$f2"
|
|
[ "$(cat "$f")" = 1 ]
|
|
|
|
# Changhing dep also changes dep2.
|
|
printf 2 > "$f"
|
|
[ "$(cat "$f2")" = 2 ]
|
|
|
|
# sysfs shows us that the module has dependants.
|
|
[ "$(cat /sys/module/dep/refcnt)" = 1 ]
|
|
[ "$(ls /sys/module/dep/holders)" = dep2 ]
|
|
rmmod /dep2.ko
|
|
[ "$(cat /sys/module/dep/refcnt)" = 0 ]
|
|
[ -z "$(ls /sys/module/dep/holders)" ]
|
|
|
|
rmmod /dep.ko
|