mirror of
https://github.com/cirosantilli/linux-kernel-module-cheat.git
synced 2026-01-13 20:12:26 +00:00
31 lines
394 B
Bash
Executable File
31 lines
394 B
Bash
Executable File
#!/bin/sh
|
|
set -e
|
|
|
|
# Setup
|
|
f=/sys/kernel/debug/lkmc_fops
|
|
insmod fops.ko
|
|
|
|
# read
|
|
[ "$(cat "$f")" = abcd ]
|
|
|
|
# write
|
|
printf 01 > "$f"
|
|
[ "$(cat "$f")" = 01cd ]
|
|
|
|
# ENOSPC
|
|
printf abcd > "$f"
|
|
set +e
|
|
printf 12345 > "$f"
|
|
exit_status="$?"
|
|
set -e
|
|
[ "$exit_status" -eq 8 ]
|
|
[ "$(cat "$f")" = abcd ]
|
|
|
|
# seek
|
|
printf 1234 > "$f"
|
|
printf z | dd bs=1 of="$f" seek=2
|
|
[ "$(cat "$f")" = 12z4 ]
|
|
|
|
# Teardown
|
|
rmmod fops
|