]> bbs.cooldavid.org Git - net-next-2.6.git/blame - Documentation/SubmitChecklist
Typo: depricated -> deprecated
[net-next-2.6.git] / Documentation / SubmitChecklist
CommitLineData
8b7ecb11 1Linux Kernel patch submission checklist
915a56d2
RD
2~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3
e54695a5
AM
4Here are some basic things that developers should do if they want to see their
5kernel patch submissions accepted more quickly.
915a56d2 6
e54695a5
AM
7These are all above and beyond the documentation that is provided in
8Documentation/SubmittingPatches and elsewhere regarding submitting Linux
9kernel patches.
915a56d2
RD
10
11
e54695a5
AM
121: Builds cleanly with applicable or modified CONFIG options =y, =m, and
13 =n. No gcc warnings/errors, no linker warnings/errors.
915a56d2 14
e54695a5 152: Passes allnoconfig, allmodconfig
915a56d2 16
e54695a5
AM
173: Builds on multiple CPU architectures by using local cross-compile tools
18 or something like PLM at OSDL.
915a56d2 19
e54695a5
AM
204: ppc64 is a good architecture for cross-compilation checking because it
21 tends to use `unsigned long' for 64-bit quantities.
915a56d2 22
e54695a5 235: Matches kernel coding style(!)
915a56d2 24
e54695a5 256: Any new or modified CONFIG options don't muck up the config menu.
915a56d2 26
e54695a5 277: All new Kconfig options have help text.
915a56d2 28
e54695a5
AM
298: Has been carefully reviewed with respect to relevant Kconfig
30 combinations. This is very hard to get right with testing -- brainpower
31 pays off here.
915a56d2 32
e54695a5 339: Check cleanly with sparse.
915a56d2 34
e54695a5
AM
3510: Use 'make checkstack' and 'make namespacecheck' and fix any problems
36 that they find. Note: checkstack does not point out problems explicitly,
37 but any one function that uses more than 512 bytes on the stack is a
38 candidate for change.
915a56d2 39
e54695a5
AM
4011: Include kernel-doc to document global kernel APIs. (Not required for
41 static functions, but OK there also.) Use 'make htmldocs' or 'make
42 mandocs' to check the kernel-doc and fix any issues.
915a56d2 43
e54695a5
AM
4412: Has been tested with CONFIG_PREEMPT, CONFIG_DEBUG_PREEMPT,
45 CONFIG_DEBUG_SLAB, CONFIG_DEBUG_PAGEALLOC, CONFIG_DEBUG_MUTEXES,
46 CONFIG_DEBUG_SPINLOCK, CONFIG_DEBUG_SPINLOCK_SLEEP all simultaneously
47 enabled.
915a56d2 48
e54695a5
AM
4913: Has been build- and runtime tested with and without CONFIG_SMP and
50 CONFIG_PREEMPT.
915a56d2 51
e54695a5
AM
5214: If the patch affects IO/Disk, etc: has been tested with and without
53 CONFIG_LBD.
915a56d2 54
e54695a5 5515: All codepaths have been exercised with all lockdep features enabled.
915a56d2 56
e54695a5
AM
5716: All new /proc entries are documented under Documentation/
58
5917: All new kernel boot parameters are documented in
60 Documentation/kernel-parameters.txt.
61
6218: All new module parameters are documented with MODULE_PARM_DESC()
1a036cdd
RD
63
6419: All new userspace interfaces are documented in Documentation/ABI/.
65 See Documentation/ABI/README for more information.
ce584f91
AM
66
6720: Check that it all passes `make headers_check'.
0dd4e5b8
AM
68
6921: Has been checked with injection of at least slab and page-allocation
70 fauilures. See Documentation/fault-injection/.
71
72 If the new code is substantial, addition of subsystem-specific fault
73 injection might be appropriate.
a517b9f9 74
98091696
AM
7522: Newly-added code has been compiled with `gcc -W' (use "make
76 EXTRA_CFLAGS=-W"). This will generate lots of noise, but is good for
77 finding bugs like "warning: comparison between signed and unsigned".
244474b2
RD
78
7923: Tested after it has been merged into the -mm patchset to make sure
80 that it still works with all of the other queued patches and various
81 changes in the VM, VFS, and other subsystems.
4d355632
RD
82
8324: Avoid whitespace damage such as indenting with spaces or whitespace
84 at the end of lines. You can test this by feeding the patch to
85 "git apply --check --whitespace=error-all"
0a920b5b
AW
86
8725: Check your patch for general style as detailed in
88 Documentation/CodingStyle. Check for trivial violations with the
89 patch style checker prior to submission (scripts/checkpatch.pl).
90 You should be able to justify all violations that remain in
91 your patch.