sphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextEnglish}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget/process/submit-checklistmodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget,/translations/zh_TW/process/submit-checklistmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget,/translations/it_IT/process/submit-checklistmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget,/translations/ja_JP/process/submit-checklistmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget,/translations/ko_KR/process/submit-checklistmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget,/translations/sp_SP/process/submit-checklistmodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageChinese (Simplified)uh1h hh _documenthsourceNlineNubhnote)}(hX{此文件的目的是为让中文读者更容易阅读和理解,而不是作为一个分支。 因此, 如果您对此文件有任何意见或更新,请先尝试更新原始英文文件。 如果您发现本文档与原始文件有任何不同或者有翻译问题,请发建议或者补丁给 该文件的译者,或者请求中文文档维护者和审阅者的帮助。h]h paragraph)}(hX{此文件的目的是为让中文读者更容易阅读和理解,而不是作为一个分支。 因此, 如果您对此文件有任何意见或更新,请先尝试更新原始英文文件。 如果您发现本文档与原始文件有任何不同或者有翻译问题,请发建议或者补丁给 该文件的译者,或者请求中文文档维护者和审阅者的帮助。h]hX{此文件的目的是为让中文读者更容易阅读和理解,而不是作为一个分支。 因此, 如果您对此文件有任何意见或更新,请先尝试更新原始英文文件。 如果您发现本文档与原始文件有任何不同或者有翻译问题,请发建议或者补丁给 该文件的译者,或者请求中文文档维护者和审阅者的帮助。}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hh5Documentation/translations/zh_CN/disclaimer-zh_CN.rsthKhhubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubh field_list)}(hhh](hfield)}(hhh](h field_name)}(hOriginalh]hOriginal}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhY/var/lib/git/docbuild/linux/Documentation/translations/zh_CN/process/submit-checklist.rsthKubh field_body)}(h*Documentation/process/submit-checklist.rsth]h)}(hhh]h*Documentation/process/submit-checklist.rst}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhubah}(h]h ]h"]h$]h&]uh1hhhubeh}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(hhh](h)}(h Translatorh]h Translator}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhKubh)}(h@- Alex Shi - Wu XiangCheng h]h bullet_list)}(hhh](h list_item)}(hAlex Shi h]h)}(hjh](h Alex Shi <}(hjhhhNhNubh reference)}(halexs@kernel.orgh]halexs@kernel.org}(hj!hhhNhNubah}(h]h ]h"]h$]h&]refurimailto:alexs@kernel.orguh1jhjubh>}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(h Wu XiangCheng h]h)}(hWu XiangCheng h](hWu XiangCheng <}(hjEhhhNhNubj )}(hbobwxc@email.cnh]hbobwxc@email.cn}(hjMhhhNhNubah}(h]h ]h"]h$]h&]refurimailto:bobwxc@email.cnuh1jhjEubh>}(hjEhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjAubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]bullet-uh1j hhhKhj ubah}(h]h ]h"]h$]h&]uh1hhhubeh}(h]h ]h"]h$]h&]uh1hhhhKhhhhubeh}(h]h ]h"]h$]h&]uh1hhhhhhhhKubhtarget)}(h.. _cn_submitchecklist:h]h}(h]h ]h"]h$]h&]refidcn-submitchecklistuh1jhKhhhhhhubhsection)}(hhh](htitle)}(h Linux内核补丁提交检查单h]h Linux内核补丁提交检查单}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhhhhhK ubh)}(h|如果开发人员希望看到他们的内核补丁提交更快地被接受,那么他们应该做一些基本 的事情。h]h|如果开发人员希望看到他们的内核补丁提交更快地被接受,那么他们应该做一些基本 的事情。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK hjhhubh)}(h这些都是在 Documentation/translations/zh_CN/process/submitting-patches.rst 和其他有关提交Linux内核补丁的文档中提供的。h]h这些都是在 Documentation/translations/zh_CN/process/submitting-patches.rst 和其他有关提交Linux内核补丁的文档中提供的。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubhenumerated_list)}(hhh](j)}(h~如果使用工具,则包括定义/声明该工具的文件。不要依赖其他头文件来引入您使用 的头文件。 h]h)}(h}如果使用工具,则包括定义/声明该工具的文件。不要依赖其他头文件来引入您使用 的头文件。h]h}如果使用工具,则包括定义/声明该工具的文件。不要依赖其他头文件来引入您使用 的头文件。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(hX干净的编译: a) 使用合适的 ``CONFIG`` 选项 ``=y``、``=m`` 和 ``=n`` 。没有 ``gcc`` 警告/错误,没有链接器警告/错误。 b) 通过 ``allnoconfig`` 、 ``allmodconfig`` c) 使用 ``O=builddir`` 时可以成功编译 d) 任何 Doucmentation/ 下的变更都能成功构建且不引入新警告/错误。 用 ``make htmldocs`` 或 ``make pdfdocs`` 检验构建情况并修复问题。 h](h)}(h干净的编译:h]h干净的编译:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubj)}(hhh](j)}(h使用合适的 ``CONFIG`` 选项 ``=y``、``=m`` 和 ``=n`` 。没有 ``gcc`` 警告/错误,没有链接器警告/错误。 h]h)}(h~使用合适的 ``CONFIG`` 选项 ``=y``、``=m`` 和 ``=n`` 。没有 ``gcc`` 警告/错误,没有链接器警告/错误。h](h使用合适的 }(hjhhhNhNubhliteral)}(h ``CONFIG``h]hCONFIG}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh 选项 }(hjhhhNhNubj)}(h``=y``h]h=y}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh、}(hjhhhNhNubj)}(h``=m``h]h=m}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh 和 }(hjhhhNhNubj)}(h``=n``h]h=n}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh 。没有 }(hjhhhNhNubj)}(h``gcc``h]hgcc}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh0 警告/错误,没有链接器警告/错误。}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(h,通过 ``allnoconfig`` 、 ``allmodconfig`` h]h)}(h+通过 ``allnoconfig`` 、 ``allmodconfig``h](h通过 }(hjphhhNhNubj)}(h``allnoconfig``h]h allnoconfig}(hjxhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjpubh 、 }(hjphhhNhNubj)}(h``allmodconfig``h]h allmodconfig}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjpubeh}(h]h ]h"]h$]h&]uh1hhhhKhjlubah}(h]h ]h"]h$]h&]uh1jhjubj)}(h,使用 ``O=builddir`` 时可以成功编译 h]h)}(h+使用 ``O=builddir`` 时可以成功编译h](h使用 }(hjhhhNhNubj)}(h``O=builddir``h]h O=builddir}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh 时可以成功编译}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(h任何 Doucmentation/ 下的变更都能成功构建且不引入新警告/错误。 用 ``make htmldocs`` 或 ``make pdfdocs`` 检验构建情况并修复问题。 h]h)}(h任何 Doucmentation/ 下的变更都能成功构建且不引入新警告/错误。 用 ``make htmldocs`` 或 ``make pdfdocs`` 检验构建情况并修复问题。h](hX任何 Doucmentation/ 下的变更都能成功构建且不引入新警告/错误。 用 }(hjhhhNhNubj)}(h``make htmldocs``h]h make htmldocs}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh 或 }(hjhhhNhNubj)}(h``make pdfdocs``h]h make pdfdocs}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh% 检验构建情况并修复问题。}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]enumtype loweralphaprefixhsuffix)uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhhhNhNubj)}(hd通过使用本地交叉编译工具或其他一些构建设施在多个CPU体系结构上构建。 h]h)}(hc通过使用本地交叉编译工具或其他一些构建设施在多个CPU体系结构上构建。h]hc通过使用本地交叉编译工具或其他一些构建设施在多个CPU体系结构上构建。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK"hjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(huPPC64是一种很好的交叉编译检查体系结构,因为它倾向于对64位的数使用无符号 长整型。 h]h)}(htPPC64是一种很好的交叉编译检查体系结构,因为它倾向于对64位的数使用无符号 长整型。h]htPPC64是一种很好的交叉编译检查体系结构,因为它倾向于对64位的数使用无符号 长整型。}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK$hj3ubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(hX按 Documentation/translations/zh_CN/process/coding-style.rst 所述检查您的 补丁是否为常规样式。在提交之前使用补丁样式检查器 ``scripts/checkpatch.pl`` 检查是否有轻微的冲突。您应该能够处理您的补丁中存在的所有 违规行为。 h]h)}(hX按 Documentation/translations/zh_CN/process/coding-style.rst 所述检查您的 补丁是否为常规样式。在提交之前使用补丁样式检查器 ``scripts/checkpatch.pl`` 检查是否有轻微的冲突。您应该能够处理您的补丁中存在的所有 违规行为。h](h按 Documentation/translations/zh_CN/process/coding-style.rst 所述检查您的 补丁是否为常规样式。在提交之前使用补丁样式检查器 }(hjOhhhNhNubj)}(h``scripts/checkpatch.pl``h]hscripts/checkpatch.pl}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjOubhe 检查是否有轻微的冲突。您应该能够处理您的补丁中存在的所有 违规行为。}(hjOhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK'hjKubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(h任何新的或修改过的 ``CONFIG`` 选项都不应搞乱配置菜单,并默认为关闭,除非 它们符合 ``Documentation/kbuild/kconfig-language.rst`` 菜单属性:默认值中 记录的例外条件。 h]h)}(h任何新的或修改过的 ``CONFIG`` 选项都不应搞乱配置菜单,并默认为关闭,除非 它们符合 ``Documentation/kbuild/kconfig-language.rst`` 菜单属性:默认值中 记录的例外条件。h](h任何新的或修改过的 }(hjyhhhNhNubj)}(h ``CONFIG``h]hCONFIG}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjyubhN 选项都不应搞乱配置菜单,并默认为关闭,除非 它们符合 }(hjyhhhNhNubj)}(h-``Documentation/kbuild/kconfig-language.rst``h]h)Documentation/kbuild/kconfig-language.rst}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjyubh5 菜单属性:默认值中 记录的例外条件。}(hjyhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK,hjuubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(h5所有新的 ``kconfig`` 选项都有帮助文本。 h]h)}(h4所有新的 ``kconfig`` 选项都有帮助文本。h](h 所有新的 }(hjhhhNhNubj)}(h ``kconfig``h]hkconfig}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh 选项都有帮助文本。}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK0hjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(hu已仔细审查了相关的 ``Kconfig`` 组合。这很难用测试来纠正——脑力在这里是有 回报的。 h]h)}(ht已仔细审查了相关的 ``Kconfig`` 组合。这很难用测试来纠正——脑力在这里是有 回报的。h](h已仔细审查了相关的 }(hjhhhNhNubj)}(h ``Kconfig``h]hKconfig}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubhM 组合。这很难用测试来纠正——脑力在这里是有 回报的。}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK2hjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(h\通过 sparse 清查。 (参见 Documentation/translations/zh_CN/dev-tools/sparse.rst ) h]h)}(h[通过 sparse 清查。 (参见 Documentation/translations/zh_CN/dev-tools/sparse.rst )h]h[通过 sparse 清查。 (参见 Documentation/translations/zh_CN/dev-tools/sparse.rst )}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK5hjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(h使用 ``make checkstack`` 并修复他们发现的任何问题。 .. note:: ``checkstack`` 并不会明确指出问题,但是任何一个在堆栈上使用超过512 字节的函数都可以进行更改。 h](h)}(hB使用 ``make checkstack`` 并修复他们发现的任何问题。h](h使用 }(hj!hhhNhNubj)}(h``make checkstack``h]hmake checkstack}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj!ubh( 并修复他们发现的任何问题。}(hj!hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK8hjubh)}(h``checkstack`` 并不会明确指出问题,但是任何一个在堆栈上使用超过512 字节的函数都可以进行更改。h]h)}(h``checkstack`` 并不会明确指出问题,但是任何一个在堆栈上使用超过512 字节的函数都可以进行更改。h](j)}(h``checkstack``h]h checkstack}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjEubht 并不会明确指出问题,但是任何一个在堆栈上使用超过512 字节的函数都可以进行更改。}(hjEhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK` 内核文档以记录全局内核API。(静态 函数不需要,但也可以。)使用 ``make htmldocs`` 或 ``make pdfdocs`` 检查 :ref:`kernel-doc ` 并修复任何问题。 h]h)}(h包括 :ref:`kernel-doc ` 内核文档以记录全局内核API。(静态 函数不需要,但也可以。)使用 ``make htmldocs`` 或 ``make pdfdocs`` 检查 :ref:`kernel-doc ` 并修复任何问题。h](h包括 }(hjqhhhNhNubh)}(h!:ref:`kernel-doc `h]hinline)}(hj{h]h kernel-doc}(hjhhhNhNubah}(h]h ](xrefstdstd-refeh"]h$]h&]uh1j}hjyubah}(h]h ]h"]h$]h&]refdoc+translations/zh_CN/process/submit-checklist refdomainjreftyperef refexplicitrefwarn reftarget kernel_doc_zhuh1hhhhK?hjqubh] 内核文档以记录全局内核API。(静态 函数不需要,但也可以。)使用 }(hjqhhhNhNubj)}(h``make htmldocs``h]h make htmldocs}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjqubh 或 }(hjqhhhNhNubj)}(h``make pdfdocs``h]h make pdfdocs}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjqubh 检查 }(hjqhhhNhNubh)}(h!:ref:`kernel-doc `h]j~)}(hjh]h kernel-doc}(hjhhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1j}hjubah}(h]h ]h"]h$]h&]refdocj refdomainjreftyperef refexplicitrefwarnj kernel_doc_zhuh1hhhhK?hjqubh 并修复任何问题。}(hjqhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK?hjmubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(hX通过以下选项同时启用的测试: ``CONFIG_PREEMPT``, ``CONFIG_DEBUG_PREEMPT``, ``CONFIG_DEBUG_SLAB``, ``CONFIG_DEBUG_PAGEALLOC``, ``CONFIG_DEBUG_MUTEXES``, ``CONFIG_DEBUG_SPINLOCK``, ``CONFIG_DEBUG_ATOMIC_SLEEP``, ``CONFIG_PROVE_RCU`` 和 ``CONFIG_DEBUG_OBJECTS_RCU_HEAD`` 。 h]h)}(hX通过以下选项同时启用的测试: ``CONFIG_PREEMPT``, ``CONFIG_DEBUG_PREEMPT``, ``CONFIG_DEBUG_SLAB``, ``CONFIG_DEBUG_PAGEALLOC``, ``CONFIG_DEBUG_MUTEXES``, ``CONFIG_DEBUG_SPINLOCK``, ``CONFIG_DEBUG_ATOMIC_SLEEP``, ``CONFIG_PROVE_RCU`` 和 ``CONFIG_DEBUG_OBJECTS_RCU_HEAD`` 。h](h+通过以下选项同时启用的测试: }(hjhhhNhNubj)}(h``CONFIG_PREEMPT``h]hCONFIG_PREEMPT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh, }(hjhhhNhNubj)}(h``CONFIG_DEBUG_PREEMPT``h]hCONFIG_DEBUG_PREEMPT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh, }(hjhhhNhNubj)}(h``CONFIG_DEBUG_SLAB``h]hCONFIG_DEBUG_SLAB}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh, }hjsbj)}(h``CONFIG_DEBUG_PAGEALLOC``h]hCONFIG_DEBUG_PAGEALLOC}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh, }hjsbj)}(h``CONFIG_DEBUG_MUTEXES``h]hCONFIG_DEBUG_MUTEXES}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh, }hjsbj)}(h``CONFIG_DEBUG_SPINLOCK``h]hCONFIG_DEBUG_SPINLOCK}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh, }hjsbj)}(h``CONFIG_DEBUG_ATOMIC_SLEEP``h]hCONFIG_DEBUG_ATOMIC_SLEEP}(hjnhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh, }hjsbj)}(h``CONFIG_PROVE_RCU``h]hCONFIG_PROVE_RCU}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh 和 }(hjhhhNhNubj)}(h!``CONFIG_DEBUG_OBJECTS_RCU_HEAD``h]hCONFIG_DEBUG_OBJECTS_RCU_HEAD}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh 。}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKChjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(hh在 ``CONFIG_SMP``, ``CONFIG_PREEMPT`` 开启和关闭的情况下都进行构建和运行 时测试。 h]h)}(hg在 ``CONFIG_SMP``, ``CONFIG_PREEMPT`` 开启和关闭的情况下都进行构建和运行 时测试。h](h在 }(hjhhhNhNubj)}(h``CONFIG_SMP``h]h CONFIG_SMP}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh, }(hjhhhNhNubj)}(h``CONFIG_PREEMPT``h]hCONFIG_PREEMPT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubhA 开启和关闭的情况下都进行构建和运行 时测试。}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKHhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(h\所有代码路径都已在启用所有死锁检测(lockdep)功能的情况下运行。 h]h)}(h[所有代码路径都已在启用所有死锁检测(lockdep)功能的情况下运行。h]h[所有代码路径都已在启用所有死锁检测(lockdep)功能的情况下运行。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKKhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(h=所有新的 ``/proc`` 条目都记录在 ``Documentation/`` h]h)}(h<所有新的 ``/proc`` 条目都记录在 ``Documentation/``h](h 所有新的 }(hjhhhNhNubj)}(h ``/proc``h]h/proc}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh 条目都记录在 }(hjhhhNhNubj)}(h``Documentation/``h]hDocumentation/}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1hhhhKMhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(hb所有新的内核引导参数都记录在 Documentation/admin-guide/kernel-parameters.rst 中。 h]h)}(ha所有新的内核引导参数都记录在 Documentation/admin-guide/kernel-parameters.rst 中。h]ha所有新的内核引导参数都记录在 Documentation/admin-guide/kernel-parameters.rst 中。}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKOhj<ubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(h<所有新的模块参数都记录在 ``MODULE_PARM_DESC()`` h]h)}(h;所有新的模块参数都记录在 ``MODULE_PARM_DESC()``h](h%所有新的模块参数都记录在 }(hjXhhhNhNubj)}(h``MODULE_PARM_DESC()``h]hMODULE_PARM_DESC()}(hj`hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjXubeh}(h]h ]h"]h$]h&]uh1hhhhKRhjTubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(h所有新的用户空间接口都记录在 ``Documentation/ABI/`` 中。有关详细信息, 请参阅 Documentation/admin-guide/abi.rst (或 ``Documentation/ABI/README``)。 更改用户空间接口的补丁应该抄送 linux-api@vger.kernel.org\ 。 h]h)}(h所有新的用户空间接口都记录在 ``Documentation/ABI/`` 中。有关详细信息, 请参阅 Documentation/admin-guide/abi.rst (或 ``Documentation/ABI/README``)。 更改用户空间接口的补丁应该抄送 linux-api@vger.kernel.org\ 。h](h+所有新的用户空间接口都记录在 }(hj~hhhNhNubj)}(h``Documentation/ABI/``h]hDocumentation/ABI/}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj~ubhN 中。有关详细信息, 请参阅 Documentation/admin-guide/abi.rst (或 }(hj~hhhNhNubj)}(h``Documentation/ABI/README``h]hDocumentation/ABI/README}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj~ubh3)。 更改用户空间接口的补丁应该抄送 }(hj~hhhNhNubj )}(hlinux-api@vger.kernel.orgh]hlinux-api@vger.kernel.org}(hjhhhNhNubah}(h]h ]h"]h$]h&]refuri mailto:linux-api@vger.kernel.orguh1jhj~ubh 。}(hj~hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKThjzubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(h已通过至少注入slab和page分配失败进行检查。请参阅 ``Documentation/fault-injection/`` 。 如果新代码是实质性的,那么添加子系统特定的故障注入可能是合适的。 h]h)}(h已通过至少注入slab和page分配失败进行检查。请参阅 ``Documentation/fault-injection/`` 。 如果新代码是实质性的,那么添加子系统特定的故障注入可能是合适的。h](hE已通过至少注入slab和page分配失败进行检查。请参阅 }(hjhhhNhNubj)}(h"``Documentation/fault-injection/``h]hDocumentation/fault-injection/}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubhe 。 如果新代码是实质性的,那么添加子系统特定的故障注入可能是合适的。}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKXhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(h新添加的代码已经用 ``gcc -W`` 编译(使用 ``make EXTRA-CFLAGS=-W`` )。这 将产生大量噪声,但对于查找诸如“警告:有符号和无符号之间的比较”之类的错误 很有用。 h]h)}(h新添加的代码已经用 ``gcc -W`` 编译(使用 ``make EXTRA-CFLAGS=-W`` )。这 将产生大量噪声,但对于查找诸如“警告:有符号和无符号之间的比较”之类的错误 很有用。h](h新添加的代码已经用 }(hjhhhNhNubj)}(h ``gcc -W``h]hgcc -W}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh 编译(使用 }(hjhhhNhNubj)}(h``make EXTRA-CFLAGS=-W``h]hmake EXTRA-CFLAGS=-W}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh )。这 将产生大量噪声,但对于查找诸如“警告:有符号和无符号之间的比较”之类的错误 很有用。}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK[hjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(h在它被合并到-mm补丁集中之后进行测试,以确保它仍然与所有其他排队的补丁以 及VM、VFS和其他子系统中的各种更改一起工作。 h]h)}(h在它被合并到-mm补丁集中之后进行测试,以确保它仍然与所有其他排队的补丁以 及VM、VFS和其他子系统中的各种更改一起工作。h]h在它被合并到-mm补丁集中之后进行测试,以确保它仍然与所有其他排队的补丁以 及VM、VFS和其他子系统中的各种更改一起工作。}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK_hj0ubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(h所有内存屏障(例如 ``barrier()``, ``rmb()``, ``wmb()`` )都需要源代码注 释来解释它们正在执行的操作及其原因的逻辑。 h]h)}(h所有内存屏障(例如 ``barrier()``, ``rmb()``, ``wmb()`` )都需要源代码注 释来解释它们正在执行的操作及其原因的逻辑。h](h所有内存屏障(例如 }(hjLhhhNhNubj)}(h ``barrier()``h]h barrier()}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1jhjLubh, }(hjLhhhNhNubj)}(h ``rmb()``h]hrmb()}(hjfhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjLubh, }hjLsbj)}(h ``wmb()``h]hwmb()}(hjxhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjLubhY )都需要源代码注 释来解释它们正在执行的操作及其原因的逻辑。}(hjLhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKbhjHubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(hq如果补丁添加了任何ioctl,那么也要更新 ``Documentation/userspace-api/ioctl/ioctl-number.rst`` 。 h]h)}(hp如果补丁添加了任何ioctl,那么也要更新 ``Documentation/userspace-api/ioctl/ioctl-number.rst`` 。h](h6如果补丁添加了任何ioctl,那么也要更新 }(hjhhhNhNubj)}(h6``Documentation/userspace-api/ioctl/ioctl-number.rst``h]h2Documentation/userspace-api/ioctl/ioctl-number.rst}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh 。}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKehjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(hX如果修改后的源代码依赖或使用与以下 ``Kconfig`` 符号相关的任何内核API或 功能,则在禁用相关 ``Kconfig`` 符号和/或 ``=m`` (如果该选项可用)的情况 下测试以下多个构建[并非所有这些都同时存在,只是它们的各种/随机组合]: ``CONFIG_SMP``, ``CONFIG_SYSFS``, ``CONFIG_PROC_FS``, ``CONFIG_INPUT``, ``CONFIG_PCI``, ``CONFIG_BLOCK``, ``CONFIG_PM``, ``CONFIG_MAGIC_SYSRQ``, ``CONFIG_NET``, ``CONFIG_INET=n`` (但是最后一个需要 ``CONFIG_NET=y`` )。h](h)}(hX*如果修改后的源代码依赖或使用与以下 ``Kconfig`` 符号相关的任何内核API或 功能,则在禁用相关 ``Kconfig`` 符号和/或 ``=m`` (如果该选项可用)的情况 下测试以下多个构建[并非所有这些都同时存在,只是它们的各种/随机组合]:h](h4如果修改后的源代码依赖或使用与以下 }(hjhhhNhNubj)}(h ``Kconfig``h]hKconfig}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh? 符号相关的任何内核API或 功能,则在禁用相关 }(hjhhhNhNubj)}(h ``Kconfig``h]hKconfig}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh 符号和/或 }(hjhhhNhNubj)}(h``=m``h]h=m}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh (如果该选项可用)的情况 下测试以下多个构建[并非所有这些都同时存在,只是它们的各种/随机组合]:}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhhjubh)}(h``CONFIG_SMP``, ``CONFIG_SYSFS``, ``CONFIG_PROC_FS``, ``CONFIG_INPUT``, ``CONFIG_PCI``, ``CONFIG_BLOCK``, ``CONFIG_PM``, ``CONFIG_MAGIC_SYSRQ``, ``CONFIG_NET``, ``CONFIG_INET=n`` (但是最后一个需要 ``CONFIG_NET=y`` )。h](j)}(h``CONFIG_SMP``h]h CONFIG_SMP}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh, }(hjhhhNhNubj)}(h``CONFIG_SYSFS``h]h CONFIG_SYSFS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh, }hjsbj)}(h``CONFIG_PROC_FS``h]hCONFIG_PROC_FS}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh, }hjsbj)}(h``CONFIG_INPUT``h]h CONFIG_INPUT}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh, }(hjhhhNhNubj)}(h``CONFIG_PCI``h]h CONFIG_PCI}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh, }hjsbj)}(h``CONFIG_BLOCK``h]h CONFIG_BLOCK}(hjfhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh, }hjsbj)}(h ``CONFIG_PM``h]h CONFIG_PM}(hjxhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh, }hjsbj)}(h``CONFIG_MAGIC_SYSRQ``h]hCONFIG_MAGIC_SYSRQ}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh, }hjsbj)}(h``CONFIG_NET``h]h CONFIG_NET}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh, }hjsbj)}(h``CONFIG_INET=n``h]h CONFIG_INET=n}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh (但是最后一个需要 }(hjhhhNhNubj)}(h``CONFIG_NET=y``h]h CONFIG_NET=y}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh )。}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKlhjubeh}(h]h ]h"]h$]h&]uh1jhjhhhhhNubeh}(h]h ]h"]h$]h&]jarabicjhjjuh1jhjhhhhhKubeh}(h](linuxjeh ]h"]( linux内核补丁提交检查单cn_submitchecklisteh$]h&]uh1jhhhhhhhK expect_referenced_by_name}jjsexpect_referenced_by_id}jjsubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(jN generatorN datestampN source_linkN source_urlN toc_backlinksentryfootnote_backlinksK sectnum_xformKstrip_commentsNstrip_elements_with_classesN strip_classesN report_levelK halt_levelKexit_status_levelKdebugNwarning_streamN tracebackinput_encoding utf-8-siginput_encoding_error_handlerstrictoutput_encodingutf-8output_encoding_error_handlerj error_encodingutf-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourceh، _destinationN _config_files]7/var/lib/git/docbuild/linux/Documentation/docutils.confafile_insertion_enabled raw_enabledKline_length_limitM'pep_referencesN pep_base_urlhttps://peps.python.org/pep_file_url_templatepep-%04drfc_referencesN rfc_base_url&https://datatracker.ietf.org/doc/html/ tab_widthKtrim_footnote_reference_spacesyntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xform image_loadinglinkembed_stylesheetcloak_email_addressessection_self_linkenvNubreporterNindirect_targets]substitution_defs}substitution_names}refnames}refids}j]jasnameids}(jjjju nametypes}(jjuh}(jjjju footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}Rparse_messages]transform_messages]hsystem_message)}(hhh]h)}(hhh]h8Hyperlink target "cn-submitchecklist" is not referenced.}hj sbah}(h]h ]h"]h$]h&]uh1hhj| ubah}(h]h ]h"]h$]h&]levelKtypeINFOsourceh،lineKuh1jz uba transformerN include_log]=Documentation/translations/zh_CN/process/submit-checklist.rst(NNNNta decorationNhhub.