.. | .. |
---|
24 | 24 | |
---|
25 | 25 | c) Builds successfully when using ``O=builddir`` |
---|
26 | 26 | |
---|
| 27 | + d) Any Documentation/ changes build successfully without new warnings/errors. |
---|
| 28 | + Use ``make htmldocs`` or ``make pdfdocs`` to check the build and |
---|
| 29 | + fix any issues. |
---|
| 30 | + |
---|
27 | 31 | 3) Builds on multiple CPU architectures by using local cross-compile tools |
---|
28 | 32 | or some other build farm. |
---|
29 | 33 | |
---|
.. | .. |
---|
39 | 43 | |
---|
40 | 44 | 6) Any new or modified ``CONFIG`` options do not muck up the config menu and |
---|
41 | 45 | default to off unless they meet the exception criteria documented in |
---|
42 | | - ``Documentation/kbuild/kconfig-language.txt`` Menu attributes: default value. |
---|
| 46 | + ``Documentation/kbuild/kconfig-language.rst`` Menu attributes: default value. |
---|
43 | 47 | |
---|
44 | 48 | 7) All new ``Kconfig`` options have help text. |
---|
45 | 49 | |
---|
.. | .. |
---|
49 | 53 | |
---|
50 | 54 | 9) Check cleanly with sparse. |
---|
51 | 55 | |
---|
52 | | -10) Use ``make checkstack`` and ``make namespacecheck`` and fix any problems |
---|
53 | | - that they find. |
---|
| 56 | +10) Use ``make checkstack`` and fix any problems that it finds. |
---|
54 | 57 | |
---|
55 | 58 | .. note:: |
---|
56 | 59 | |
---|
.. | .. |
---|
72 | 75 | 13) Has been build- and runtime tested with and without ``CONFIG_SMP`` and |
---|
73 | 76 | ``CONFIG_PREEMPT.`` |
---|
74 | 77 | |
---|
75 | | -14) If the patch affects IO/Disk, etc: has been tested with and without |
---|
76 | | - ``CONFIG_LBDAF.`` |
---|
| 78 | +16) All codepaths have been exercised with all lockdep features enabled. |
---|
77 | 79 | |
---|
78 | | -15) All codepaths have been exercised with all lockdep features enabled. |
---|
| 80 | +17) All new ``/proc`` entries are documented under ``Documentation/`` |
---|
79 | 81 | |
---|
80 | | -16) All new ``/proc`` entries are documented under ``Documentation/`` |
---|
81 | | - |
---|
82 | | -17) All new kernel boot parameters are documented in |
---|
| 82 | +18) All new kernel boot parameters are documented in |
---|
83 | 83 | ``Documentation/admin-guide/kernel-parameters.rst``. |
---|
84 | 84 | |
---|
85 | | -18) All new module parameters are documented with ``MODULE_PARM_DESC()`` |
---|
| 85 | +19) All new module parameters are documented with ``MODULE_PARM_DESC()`` |
---|
86 | 86 | |
---|
87 | | -19) All new userspace interfaces are documented in ``Documentation/ABI/``. |
---|
| 87 | +20) All new userspace interfaces are documented in ``Documentation/ABI/``. |
---|
88 | 88 | See ``Documentation/ABI/README`` for more information. |
---|
89 | 89 | Patches that change userspace interfaces should be CCed to |
---|
90 | 90 | linux-api@vger.kernel.org. |
---|
91 | 91 | |
---|
92 | | -20) Check that it all passes ``make headers_check``. |
---|
| 92 | +21) Check that it all passes ``make headers_check``. |
---|
93 | 93 | |
---|
94 | | -21) Has been checked with injection of at least slab and page-allocation |
---|
| 94 | +22) Has been checked with injection of at least slab and page-allocation |
---|
95 | 95 | failures. See ``Documentation/fault-injection/``. |
---|
96 | 96 | |
---|
97 | 97 | If the new code is substantial, addition of subsystem-specific fault |
---|
98 | 98 | injection might be appropriate. |
---|
99 | 99 | |
---|
100 | | -22) Newly-added code has been compiled with ``gcc -W`` (use |
---|
| 100 | +23) Newly-added code has been compiled with ``gcc -W`` (use |
---|
101 | 101 | ``make EXTRA_CFLAGS=-W``). This will generate lots of noise, but is good |
---|
102 | 102 | for finding bugs like "warning: comparison between signed and unsigned". |
---|
103 | 103 | |
---|
104 | | -23) Tested after it has been merged into the -mm patchset to make sure |
---|
| 104 | +24) Tested after it has been merged into the -mm patchset to make sure |
---|
105 | 105 | that it still works with all of the other queued patches and various |
---|
106 | 106 | changes in the VM, VFS, and other subsystems. |
---|
107 | 107 | |
---|
108 | | -24) All memory barriers {e.g., ``barrier()``, ``rmb()``, ``wmb()``} need a |
---|
| 108 | +25) All memory barriers {e.g., ``barrier()``, ``rmb()``, ``wmb()``} need a |
---|
109 | 109 | comment in the source code that explains the logic of what they are doing |
---|
110 | 110 | and why. |
---|
111 | 111 | |
---|
112 | | -25) If any ioctl's are added by the patch, then also update |
---|
113 | | - ``Documentation/ioctl/ioctl-number.txt``. |
---|
| 112 | +26) If any ioctl's are added by the patch, then also update |
---|
| 113 | + ``Documentation/userspace-api/ioctl/ioctl-number.rst``. |
---|
114 | 114 | |
---|
115 | | -26) If your modified source code depends on or uses any of the kernel |
---|
| 115 | +27) If your modified source code depends on or uses any of the kernel |
---|
116 | 116 | APIs or features that are related to the following ``Kconfig`` symbols, |
---|
117 | 117 | then test multiple builds with the related ``Kconfig`` symbols disabled |
---|
118 | 118 | and/or ``=m`` (if that option is available) [not all of these at the |
---|