Kernel Proc Lab is an educational Linux kernel module. Treat it as privileged code and test it only on systems where loading out-of-tree modules is acceptable.
| Version | Supported |
|---|---|
| 0.8.x | yes |
- Loading and unloading
kernel_proc_lab.korequires root privileges. - Creating or repairing
/dev/kernel_proc_labrequires root privileges. - Destructive or control operations are restricted in the driver and user tools.
- The default device-node mode is
0660; broad world-writable permissions are not used. - udev integration is provided to grant access through the active local user session.
Systems with Secure Boot enabled may reject unsigned out-of-tree modules.
Supported options:
- Disable Secure Boot in firmware settings for local lab machines.
- Sign the module and enroll a MOK key:
./scripts/create-mok-key.sh
sudo mokutil --import certs/MOK.der
reboot
./scripts/sign-module.shDo not commit generated keys or certificates. The certs/ directory is ignored by git.
For public repositories, open a GitHub issue with:
- kernel release from
uname -r - distribution version
make doctoroutput- exact command that failed
- relevant
dmesglines
Do not include private signing keys, local credentials, or unrelated system logs.
This project is not a hardened production driver. It is intended for learning and portfolio demonstration around:
- character devices
- procfs/sysfs/debugfs
- ioctl ABI design
- event buffering
- pollable streams
- DKMS and module packaging