| .. | .. |
|---|
| 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 |
|---|