Use this tag for questions about loading, configuring, or compiling them. See also /drivers for questions about which modules to use for specific hardware. A kernel module is a bit of code that can be added into the kernel by the administrator while the system is running, typically providing one feature such as a filesystem.
A kernel module is a collection of code that can be loaded into the kernel at runtime, without recompiling the kernel. Each one typically provides one "feature", such as a single device driver, file system, or communication protocol. Additionally, some modules provide library functions to aid in implementing other modules.
This tag covers questions about loading, configuring, and compiling kernel modules. Questions about which module to use for a particular piece of hardware should instead be tagged drivers.
A module typically conforms to one or more well-defined interfaces -- usually one from the user-side of the module (e.g., the Unix read/write/ioctl interface) and one or more from the upstream-side of the module (e.g., the USB I/O subsystem interface).