Also known as: LKM · loadable kernel module · driver module
A kernel module is a piece of code that can be loaded into and unloaded from a running Linux kernel on demand, extending its functionality — most commonly with device drivers — without requiring a reboot or recompilation.
Modules run with full kernel privileges, so a buggy or malicious module can compromise the entire system. This is why signed module enforcement exists and why loading unsigned modules is restricted under Secure Boot.
Out-of-tree modules, maintained outside the mainline kernel, must be rebuilt against each new kernel version because Linux deliberately provides no stable in-kernel ABI. This is a recurring source of friction for proprietary drivers.
Kernel
The kernel is the core of an operating system, responsible for managing memory, scheduling processes, and mediating all access between software and hardware. The Linux kernel is the component that makes a system 'Linux'.
System Call
A system call is the mechanism by which a user-space program requests a service from the kernel — such as opening a file, allocating memory, or sending network data — crossing the privilege boundary between application and kernel.
Secure Boot
Secure Boot is a UEFI firmware feature that verifies the cryptographic signature of each component in the boot chain — bootloader, kernel, and drivers — refusing to execute anything not signed by a trusted key.
Memory Safety
Memory safety is the property of a program being unable to access memory outside the bounds of what it legitimately owns, preventing entire vulnerability classes such as buffer overflows, use-after-free, and data races.