Development tools for the kernel¶
This document is a collection of documents about development tools that canbe used to work on the kernel. For now, the documents have been pulledtogether without any significant effort to integrate them into a coherentwhole; patches welcome!
Table of contents
- Coccinelle
- Getting Coccinelle
- Supplemental documentation
- Using Coccinelle on the Linux kernel
- Coccinelle parallelization
- Using Coccinelle with a single semantic patch
- Controlling Which Files are Processed by Coccinelle
- Debugging Coccinelle SmPL patches
- .cocciconfig support
- Additional flags
- SmPL patch specific options
- SmPL patch Coccinelle requirements
- Proposing new semantic patches
- Detailed description of the
reportmode - Detailed description of the
patchmode - Detailed description of the
contextmode - Detailed description of the
orgmode
- Sparse
- kcov: code coverage for fuzzing
- Using gcov with the Linux kernel
- The Kernel Address Sanitizer (KASAN)
- The Undefined Behavior Sanitizer - UBSAN
- Kernel Memory Leak Detector
- The Kernel Concurrency Sanitizer (KCSAN)
- Debugging kernel and modules via gdb
- Using kgdb, kdb and the kernel debugger internals
- Linux Kernel Selftests
- KUnit - Unit Testing for the Linux Kernel