vsphinx.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 (Simplified)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget,/translations/zh_CN/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 (Traditional)uh1h hh _documenthsourceNlineNubhcomment)}(h SPDX-License-Identifier: GPL-2.0h]h SPDX-License-Identifier: GPL-2.0}hhsbah}(h]h ]h"]h$]h&] xml:spacepreserveuh1hhhhhhY/var/lib/git/docbuild/linux/Documentation/translations/zh_TW/process/submit-checklist.rsthKubhwarning)}(hX1此文件的目的是爲讓中文讀者更容易閱讀和理解,而不是作爲一個分支。因此, 如果您對此文件有任何意見或改動,請先嘗試更新原始英文文件。如果要更改或 修正某處翻譯文件,請將意見或補丁發送給維護者(聯繫方式見下)。h]h paragraph)}(hX1此文件的目的是爲讓中文讀者更容易閱讀和理解,而不是作爲一個分支。因此, 如果您對此文件有任何意見或改動,請先嘗試更新原始英文文件。如果要更改或 修正某處翻譯文件,請將意見或補丁發送給維護者(聯繫方式見下)。h]hX1此文件的目的是爲讓中文讀者更容易閱讀和理解,而不是作爲一個分支。因此, 如果您對此文件有任何意見或改動,請先嘗試更新原始英文文件。如果要更改或 修正某處翻譯文件,請將意見或補丁發送給維護者(聯繫方式見下)。}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hh5Documentation/translations/zh_TW/disclaimer-zh_TW.rsthKhhubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubhnote)}(h如果您發現本文檔與原始文件有任何不同或者有翻譯問題,請聯繫該文件的譯者, 或者發送電子郵件給胡皓文以獲取幫助:<2023002089@link.tyut.edu.cn>。h]h)}(h如果您發現本文檔與原始文件有任何不同或者有翻譯問題,請聯繫該文件的譯者, 或者發送電子郵件給胡皓文以獲取幫助:<2023002089@link.tyut.edu.cn>。h](h如果您發現本文檔與原始文件有任何不同或者有翻譯問題,請聯繫該文件的譯者, 或者發送電子郵件給胡皓文以獲取幫助:<}(hhhhhNhNubh reference)}(h2023002089@link.tyut.edu.cnh]h2023002089@link.tyut.edu.cn}(hhhhhNhNubah}(h]h ]h"]h$]h&]refuri"mailto:2023002089@link.tyut.edu.cnuh1hhhubh>。}(hhhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK hhubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubh field_list)}(hhh](hfield)}(hhh](h field_name)}(hOriginalh]hOriginal}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjhhhKubh field_body)}(h*Documentation/process/submit-checklist.rsth]h)}(hjh]h*Documentation/process/submit-checklist.rst}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhhhKhjhhubj)}(hhh](j )}(h Translatorh]h Translator}(hj=hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj:hhhKubj)}(hj- Alex Shi - Wu XiangCheng - Hu Haowen <2023002089@link.tyut.edu.cn> h]h bullet_list)}(hhh](h list_item)}(hAlex Shi h]h)}(hjXh](h Alex Shi <}(hjZhhhNhNubh)}(halexs@kernel.orgh]halexs@kernel.org}(hjahhhNhNubah}(h]h ]h"]h$]h&]refurimailto:alexs@kernel.orguh1hhjZubh>}(hjZhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjVubah}(h]h ]h"]h$]h&]uh1jThjQubjU)}(hWu XiangCheng h]h)}(hjh](hWu XiangCheng <}(hjhhhNhNubh)}(hbobwxc@email.cnh]hbobwxc@email.cn}(hjhhhNhNubah}(h]h ]h"]h$]h&]refurimailto:bobwxc@email.cnuh1hhjubh>}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jThjQubjU)}(h(Hu Haowen <2023002089@link.tyut.edu.cn> h]h)}(h'Hu Haowen <2023002089@link.tyut.edu.cn>h](h Hu Haowen <}(hjhhhNhNubh)}(h2023002089@link.tyut.edu.cnh]h2023002089@link.tyut.edu.cn}(hjhhhNhNubah}(h]h ]h"]h$]h&]refuri"mailto:2023002089@link.tyut.edu.cnuh1hhjubh>}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK hjubah}(h]h ]h"]h$]h&]uh1jThjQubeh}(h]h ]h"]h$]h&]bullet-uh1jOhhhKhjKubah}(h]h ]h"]h$]h&]uh1jhj:ubeh}(h]h ]h"]h$]h&]uh1jhhhKhjhhubeh}(h]h ]h"]h$]h&]uh1jhhhhhhhKubhtarget)}(h.. _tw_submitchecklist:h]h}(h]h ]h"]h$]h&]refidtw-submitchecklistuh1jhKhhhhhhubhsection)}(hhh](htitle)}(h Linux內核補丁提交檢查單h]h Linux內核補丁提交檢查單}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhhhhhKubh)}(h|如果開發人員希望看到他們的內核補丁提交更快地被接受,那麼他們應該做一些基本 的事情。h]h|如果開發人員希望看到他們的內核補丁提交更快地被接受,那麼他們應該做一些基本 的事情。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubh)}(h這些都是在 Documentation/translations/zh_CN/process/submitting-patches.rst 和其他有關提交Linux內核補丁的文檔中提供的。h]h這些都是在 Documentation/translations/zh_CN/process/submitting-patches.rst 和其他有關提交Linux內核補丁的文檔中提供的。}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubhenumerated_list)}(hhh](jU)}(h~如果使用工具,則包括定義/聲明該工具的文件。不要依賴其他頭文件來引入您使用 的頭文件。 h]h)}(h}如果使用工具,則包括定義/聲明該工具的文件。不要依賴其他頭文件來引入您使用 的頭文件。h]h}如果使用工具,則包括定義/聲明該工具的文件。不要依賴其他頭文件來引入您使用 的頭文件。}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj6ubah}(h]h ]h"]h$]h&]uh1jThj3hhhhhNubjU)}(hX乾淨的編譯: a) 使用合適的 ``CONFIG`` 選項 ``=y``、``=m`` 和 ``=n`` 。沒有 ``gcc`` 警告/錯誤,沒有鏈接器警告/錯誤。 b) 通過 ``allnoconfig`` 、 ``allmodconfig`` c) 使用 ``O=builddir`` 時可以成功編譯 d) 任何 Documentation/ 下的變更都能成功構建且不引入新警告/錯誤。 用 ``make htmldocs`` 或 ``make pdfdocs`` 檢驗構建情況並修復問題。 h](h)}(h乾淨的編譯:h]h乾淨的編譯:}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjNubj2)}(hhh](jU)}(h使用合適的 ``CONFIG`` 選項 ``=y``、``=m`` 和 ``=n`` 。沒有 ``gcc`` 警告/錯誤,沒有鏈接器警告/錯誤。 h]h)}(h~使用合適的 ``CONFIG`` 選項 ``=y``、``=m`` 和 ``=n`` 。沒有 ``gcc`` 警告/錯誤,沒有鏈接器警告/錯誤。h](h使用合適的 }(hjghhhNhNubhliteral)}(h ``CONFIG``h]hCONFIG}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1johjgubh 選項 }(hjghhhNhNubjp)}(h``=y``h]h=y}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1johjgubh、}(hjghhhNhNubjp)}(h``=m``h]h=m}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1johjgubh 和 }(hjghhhNhNubjp)}(h``=n``h]h=n}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1johjgubh 。沒有 }(hjghhhNhNubjp)}(h``gcc``h]hgcc}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1johjgubh0 警告/錯誤,沒有鏈接器警告/錯誤。}(hjghhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjcubah}(h]h ]h"]h$]h&]uh1jThj`ubjU)}(h,通過 ``allnoconfig`` 、 ``allmodconfig`` h]h)}(h+通過 ``allnoconfig`` 、 ``allmodconfig``h](h通過 }(hjhhhNhNubjp)}(h``allnoconfig``h]h allnoconfig}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1johjubh 、 }(hjhhhNhNubjp)}(h``allmodconfig``h]h allmodconfig}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1johjubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jThj`ubjU)}(h,使用 ``O=builddir`` 時可以成功編譯 h]h)}(h+使用 ``O=builddir`` 時可以成功編譯h](h使用 }(hjhhhNhNubjp)}(h``O=builddir``h]h O=builddir}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1johjubh 時可以成功編譯}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK hjubah}(h]h ]h"]h$]h&]uh1jThj`ubjU)}(h任何 Documentation/ 下的變更都能成功構建且不引入新警告/錯誤。 用 ``make htmldocs`` 或 ``make pdfdocs`` 檢驗構建情況並修復問題。 h]h)}(h任何 Documentation/ 下的變更都能成功構建且不引入新警告/錯誤。 用 ``make htmldocs`` 或 ``make pdfdocs`` 檢驗構建情況並修復問題。h](hX任何 Documentation/ 下的變更都能成功構建且不引入新警告/錯誤。 用 }(hj=hhhNhNubjp)}(h``make htmldocs``h]h make htmldocs}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1johj=ubh 或 }(hj=hhhNhNubjp)}(h``make pdfdocs``h]h make pdfdocs}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1johj=ubh% 檢驗構建情況並修復問題。}(hj=hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK"hj9ubah}(h]h ]h"]h$]h&]uh1jThj`ubeh}(h]h ]h"]h$]h&]enumtype loweralphaprefixhsuffix)uh1j1hjNubeh}(h]h ]h"]h$]h&]uh1jThj3hhhNhNubjU)}(hd通過使用本地交叉編譯工具或其他一些構建設施在多個CPU體系結構上構建。 h]h)}(hc通過使用本地交叉編譯工具或其他一些構建設施在多個CPU體系結構上構建。h]hc通過使用本地交叉編譯工具或其他一些構建設施在多個CPU體系結構上構建。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK%hjubah}(h]h ]h"]h$]h&]uh1jThj3hhhhhNubjU)}(huPPC64是一種很好的交叉編譯檢查體系結構,因爲它傾向於對64位的數使用無符號 長整型。 h]h)}(htPPC64是一種很好的交叉編譯檢查體系結構,因爲它傾向於對64位的數使用無符號 長整型。h]htPPC64是一種很好的交叉編譯檢查體系結構,因爲它傾向於對64位的數使用無符號 長整型。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK'hjubah}(h]h ]h"]h$]h&]uh1jThj3hhhhhNubjU)}(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 所述檢查您的 補丁是否爲常規樣式。在提交之前使用補丁樣式檢查器 }(hjhhhNhNubjp)}(h``scripts/checkpatch.pl``h]hscripts/checkpatch.pl}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1johjubhe 檢查是否有輕微的衝突。您應該能夠處理您的補丁中存在的所有 違規行爲。}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK*hjubah}(h]h ]h"]h$]h&]uh1jThj3hhhhhNubjU)}(h任何新的或修改過的 ``CONFIG`` 選項都不應搞亂配置菜單,並默認爲關閉,除非 它們符合 ``Documentation/kbuild/kconfig-language.rst`` 菜單屬性:默認值中 記錄的例外條件。 h]h)}(h任何新的或修改過的 ``CONFIG`` 選項都不應搞亂配置菜單,並默認爲關閉,除非 它們符合 ``Documentation/kbuild/kconfig-language.rst`` 菜單屬性:默認值中 記錄的例外條件。h](h任何新的或修改過的 }(hjhhhNhNubjp)}(h ``CONFIG``h]hCONFIG}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1johjubhN 選項都不應搞亂配置菜單,並默認爲關閉,除非 它們符合 }(hjhhhNhNubjp)}(h-``Documentation/kbuild/kconfig-language.rst``h]h)Documentation/kbuild/kconfig-language.rst}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1johjubh5 菜單屬性:默認值中 記錄的例外條件。}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK/hjubah}(h]h ]h"]h$]h&]uh1jThj3hhhhhNubjU)}(h5所有新的 ``kconfig`` 選項都有幫助文本。 h]h)}(h4所有新的 ``kconfig`` 選項都有幫助文本。h](h 所有新的 }(hj hhhNhNubjp)}(h ``kconfig``h]hkconfig}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1johj ubh 選項都有幫助文本。}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK3hjubah}(h]h ]h"]h$]h&]uh1jThj3hhhhhNubjU)}(hu已仔細審查了相關的 ``Kconfig`` 組合。這很難用測試來糾正——腦力在這裏是有 回報的。 h]h)}(ht已仔細審查了相關的 ``Kconfig`` 組合。這很難用測試來糾正——腦力在這裏是有 回報的。h](h已仔細審查了相關的 }(hjJhhhNhNubjp)}(h ``Kconfig``h]hKconfig}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1johjJubhM 組合。這很難用測試來糾正——腦力在這裏是有 回報的。}(hjJhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK5hjFubah}(h]h ]h"]h$]h&]uh1jThj3hhhhhNubjU)}(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 )}(hjthhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK8hjpubah}(h]h ]h"]h$]h&]uh1jThj3hhhhhNubjU)}(h使用 ``make checkstack`` 並修復他們發現的任何問題。 .. note:: ``checkstack`` 並不會明確指出問題,但是任何一個在堆棧上使用超過512 字節的函數都可以進行更改。 h](h)}(hB使用 ``make checkstack`` 並修復他們發現的任何問題。h](h使用 }(hjhhhNhNubjp)}(h``make checkstack``h]hmake checkstack}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1johjubh( 並修復他們發現的任何問題。}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK;hjubh)}(h``checkstack`` 並不會明確指出問題,但是任何一個在堆棧上使用超過512 字節的函數都可以進行更改。h]h)}(h``checkstack`` 並不會明確指出問題,但是任何一個在堆棧上使用超過512 字節的函數都可以進行更改。h](jp)}(h``checkstack``h]h checkstack}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1johjubht 並不會明確指出問題,但是任何一個在堆棧上使用超過512 字節的函數都可以進行更改。}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK?hjubah}(h]h ]h"]h$]h&]uh1hhjubeh}(h]h ]h"]h$]h&]uh1jThj3hhhNhNubjU)}(h包括 :ref:`kernel-doc ` 內核文檔以記錄全局內核API。(靜態 函數不需要,但也可以。)使用 ``make htmldocs`` 或 ``make pdfdocs`` 檢查 :ref:`kernel-doc ` 並修復任何問題。 h]h)}(h包括 :ref:`kernel-doc ` 內核文檔以記錄全局內核API。(靜態 函數不需要,但也可以。)使用 ``make htmldocs`` 或 ``make pdfdocs`` 檢查 :ref:`kernel-doc ` 並修復任何問題。h](h包括 }(hjhhhNhNubh)}(h!:ref:`kernel-doc `h]hinline)}(hjh]h kernel-doc}(hjhhhNhNubah}(h]h ](xrefstdstd-refeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdoc+translations/zh_TW/process/submit-checklist refdomainjreftyperef refexplicitrefwarn reftarget kernel_doc_zhuh1hhhhKBhjubh] 內核文檔以記錄全局內核API。(靜態 函數不需要,但也可以。)使用 }(hjhhhNhNubjp)}(h``make htmldocs``h]h make htmldocs}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1johjubh 或 }(hjhhhNhNubjp)}(h``make pdfdocs``h]h make pdfdocs}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1johjubh 檢查 }(hjhhhNhNubh)}(h!:ref:`kernel-doc `h]j)}(hj3h]h kernel-doc}(hj5hhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1jhj1ubah}(h]h ]h"]h$]h&]refdocj refdomainj?reftyperef refexplicitrefwarnj kernel_doc_zhuh1hhhhKBhjubh 並修復任何問題。}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKBhjubah}(h]h ]h"]h$]h&]uh1jThj3hhhhhNubjU)}(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+通過以下選項同時啓用的測試: }(hjehhhNhNubjp)}(h``CONFIG_PREEMPT``h]hCONFIG_PREEMPT}(hjmhhhNhNubah}(h]h ]h"]h$]h&]uh1johjeubh, }(hjehhhNhNubjp)}(h``CONFIG_DEBUG_PREEMPT``h]hCONFIG_DEBUG_PREEMPT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1johjeubh, }(hjehhhNhNubjp)}(h``CONFIG_DEBUG_SLAB``h]hCONFIG_DEBUG_SLAB}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1johjeubh, }hjesbjp)}(h``CONFIG_DEBUG_PAGEALLOC``h]hCONFIG_DEBUG_PAGEALLOC}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1johjeubh, }hjesbjp)}(h``CONFIG_DEBUG_MUTEXES``h]hCONFIG_DEBUG_MUTEXES}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1johjeubh, }hjesbjp)}(h``CONFIG_DEBUG_SPINLOCK``h]hCONFIG_DEBUG_SPINLOCK}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1johjeubh, }hjesbjp)}(h``CONFIG_DEBUG_ATOMIC_SLEEP``h]hCONFIG_DEBUG_ATOMIC_SLEEP}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1johjeubh, }hjesbjp)}(h``CONFIG_PROVE_RCU``h]hCONFIG_PROVE_RCU}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1johjeubh 和 }(hjehhhNhNubjp)}(h!``CONFIG_DEBUG_OBJECTS_RCU_HEAD``h]hCONFIG_DEBUG_OBJECTS_RCU_HEAD}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1johjeubh 。}(hjehhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKFhjaubah}(h]h ]h"]h$]h&]uh1jThj3hhhhhNubjU)}(hh在 ``CONFIG_SMP``, ``CONFIG_PREEMPT`` 開啓和關閉的情況下都進行構建和運行 時測試。 h]h)}(hg在 ``CONFIG_SMP``, ``CONFIG_PREEMPT`` 開啓和關閉的情況下都進行構建和運行 時測試。h](h在 }(hjhhhNhNubjp)}(h``CONFIG_SMP``h]h CONFIG_SMP}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1johjubh, }(hjhhhNhNubjp)}(h``CONFIG_PREEMPT``h]hCONFIG_PREEMPT}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1johjubhA 開啓和關閉的情況下都進行構建和運行 時測試。}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKKhjubah}(h]h ]h"]h$]h&]uh1jThj3hhhhhNubjU)}(h\所有代碼路徑都已在啓用所有死鎖檢測(lockdep)功能的情況下運行。 h]h)}(h[所有代碼路徑都已在啓用所有死鎖檢測(lockdep)功能的情況下運行。h]h[所有代碼路徑都已在啓用所有死鎖檢測(lockdep)功能的情況下運行。}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKNhjWubah}(h]h ]h"]h$]h&]uh1jThj3hhhhhNubjU)}(h=所有新的 ``/proc`` 條目都記錄在 ``Documentation/`` h]h)}(h<所有新的 ``/proc`` 條目都記錄在 ``Documentation/``h](h 所有新的 }(hjshhhNhNubjp)}(h ``/proc``h]h/proc}(hj{hhhNhNubah}(h]h ]h"]h$]h&]uh1johjsubh 條目都記錄在 }(hjshhhNhNubjp)}(h``Documentation/``h]hDocumentation/}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1johjsubeh}(h]h ]h"]h$]h&]uh1hhhhKPhjoubah}(h]h ]h"]h$]h&]uh1jThj3hhhhhNubjU)}(hb所有新的內核引導參數都記錄在 Documentation/admin-guide/kernel-parameters.rst 中。 h]h)}(ha所有新的內核引導參數都記錄在 Documentation/admin-guide/kernel-parameters.rst 中。h]ha所有新的內核引導參數都記錄在 Documentation/admin-guide/kernel-parameters.rst 中。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKRhjubah}(h]h ]h"]h$]h&]uh1jThj3hhhhhNubjU)}(h<所有新的模塊參數都記錄在 ``MODULE_PARM_DESC()`` h]h)}(h;所有新的模塊參數都記錄在 ``MODULE_PARM_DESC()``h](h%所有新的模塊參數都記錄在 }(hjhhhNhNubjp)}(h``MODULE_PARM_DESC()``h]hMODULE_PARM_DESC()}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1johjubeh}(h]h ]h"]h$]h&]uh1hhhhKUhjubah}(h]h ]h"]h$]h&]uh1jThj3hhhhhNubjU)}(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+所有新的用戶空間接口都記錄在 }(hjhhhNhNubjp)}(h``Documentation/ABI/``h]hDocumentation/ABI/}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1johjubhN 中。有關詳細信息, 請參閱 Documentation/admin-guide/abi.rst (或 }(hjhhhNhNubjp)}(h``Documentation/ABI/README``h]hDocumentation/ABI/README}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1johjubh3)。 更改用戶空間接口的補丁應該抄送 }(hjhhhNhNubh)}(hlinux-api@vger.kernel.orgh]hlinux-api@vger.kernel.org}(hjhhhNhNubah}(h]h ]h"]h$]h&]refuri mailto:linux-api@vger.kernel.orguh1hhjubh 。}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKWhjubah}(h]h ]h"]h$]h&]uh1jThj3hhhhhNubjU)}(h已通過至少注入slab和page分配失敗進行檢查。請參閱 ``Documentation/fault-injection/`` 。 如果新代碼是實質性的,那麼添加子系統特定的故障注入可能是合適的。 h]h)}(h已通過至少注入slab和page分配失敗進行檢查。請參閱 ``Documentation/fault-injection/`` 。 如果新代碼是實質性的,那麼添加子系統特定的故障注入可能是合適的。h](hE已通過至少注入slab和page分配失敗進行檢查。請參閱 }(hj9hhhNhNubjp)}(h"``Documentation/fault-injection/``h]hDocumentation/fault-injection/}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1johj9ubhe 。 如果新代碼是實質性的,那麼添加子系統特定的故障注入可能是合適的。}(hj9hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK[hj5ubah}(h]h ]h"]h$]h&]uh1jThj3hhhhhNubjU)}(h新添加的代碼已經用 ``gcc -W`` 編譯(使用 ``make EXTRA-CFLAGS=-W`` )。這 將產生大量噪聲,但對於查找諸如“警告:有符號和無符號之間的比較”之類的錯誤 很有用。 h]h)}(h新添加的代碼已經用 ``gcc -W`` 編譯(使用 ``make EXTRA-CFLAGS=-W`` )。這 將產生大量噪聲,但對於查找諸如“警告:有符號和無符號之間的比較”之類的錯誤 很有用。h](h新添加的代碼已經用 }(hjchhhNhNubjp)}(h ``gcc -W``h]hgcc -W}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1johjcubh 編譯(使用 }(hjchhhNhNubjp)}(h``make EXTRA-CFLAGS=-W``h]hmake EXTRA-CFLAGS=-W}(hj}hhhNhNubah}(h]h ]h"]h$]h&]uh1johjcubh )。這 將產生大量噪聲,但對於查找諸如“警告:有符號和無符號之間的比較”之類的錯誤 很有用。}(hjchhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK^hj_ubah}(h]h ]h"]h$]h&]uh1jThj3hhhhhNubjU)}(h在它被合併到-mm補丁集中之後進行測試,以確保它仍然與所有其他排隊的補丁以 及VM、VFS和其他子系統中的各種更改一起工作。 h]h)}(h在它被合併到-mm補丁集中之後進行測試,以確保它仍然與所有其他排隊的補丁以 及VM、VFS和其他子系統中的各種更改一起工作。h]h在它被合併到-mm補丁集中之後進行測試,以確保它仍然與所有其他排隊的補丁以 及VM、VFS和其他子系統中的各種更改一起工作。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKbhjubah}(h]h ]h"]h$]h&]uh1jThj3hhhhhNubjU)}(h所有內存屏障(例如 ``barrier()``, ``rmb()``, ``wmb()`` )都需要源代碼注 釋來解釋它們正在執行的操作及其原因的邏輯。 h]h)}(h所有內存屏障(例如 ``barrier()``, ``rmb()``, ``wmb()`` )都需要源代碼注 釋來解釋它們正在執行的操作及其原因的邏輯。h](h所有內存屏障(例如 }(hjhhhNhNubjp)}(h ``barrier()``h]h barrier()}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1johjubh, }(hjhhhNhNubjp)}(h ``rmb()``h]hrmb()}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1johjubh, }hjsbjp)}(h ``wmb()``h]hwmb()}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1johjubhY )都需要源代碼注 釋來解釋它們正在執行的操作及其原因的邏輯。}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKehjubah}(h]h ]h"]h$]h&]uh1jThj3hhhhhNubjU)}(hq如果補丁添加了任何ioctl,那麼也要更新 ``Documentation/userspace-api/ioctl/ioctl-number.rst`` 。 h]h)}(hp如果補丁添加了任何ioctl,那麼也要更新 ``Documentation/userspace-api/ioctl/ioctl-number.rst`` 。h](h6如果補丁添加了任何ioctl,那麼也要更新 }(hjhhhNhNubjp)}(h6``Documentation/userspace-api/ioctl/ioctl-number.rst``h]h2Documentation/userspace-api/ioctl/ioctl-number.rst}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1johjubh 。}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhhjubah}(h]h ]h"]h$]h&]uh1jThj3hhhhhNubjU)}(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如果修改後的源代碼依賴或使用與以下 }(hj/hhhNhNubjp)}(h ``Kconfig``h]hKconfig}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1johj/ubh? 符號相關的任何內核API或 功能,則在禁用相關 }(hj/hhhNhNubjp)}(h ``Kconfig``h]hKconfig}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1johj/ubh 符號和/或 }(hj/hhhNhNubjp)}(h``=m``h]h=m}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1johj/ubh (如果該選項可用)的情況 下測試以下多個構建[並非所有這些都同時存在,只是它們的各種/隨機組合]:}(hj/hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKkhj+ubh)}(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](jp)}(h``CONFIG_SMP``h]h CONFIG_SMP}(hjwhhhNhNubah}(h]h ]h"]h$]h&]uh1johjsubh, }(hjshhhNhNubjp)}(h``CONFIG_SYSFS``h]h CONFIG_SYSFS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1johjsubh, }hjssbjp)}(h``CONFIG_PROC_FS``h]hCONFIG_PROC_FS}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1johjsubh, }hjssbjp)}(h``CONFIG_INPUT``h]h CONFIG_INPUT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1johjsubh, }(hjshhhNhNubjp)}(h``CONFIG_PCI``h]h CONFIG_PCI}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1johjsubh, }hjssbjp)}(h``CONFIG_BLOCK``h]h CONFIG_BLOCK}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1johjsubh, }hjssbjp)}(h ``CONFIG_PM``h]h CONFIG_PM}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1johjsubh, }hjssbjp)}(h``CONFIG_MAGIC_SYSRQ``h]hCONFIG_MAGIC_SYSRQ}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1johjsubh, }hjssbjp)}(h``CONFIG_NET``h]h CONFIG_NET}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1johjsubh, }hjssbjp)}(h``CONFIG_INET=n``h]h CONFIG_INET=n}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1johjsubh (但是最後一個需要 }(hjshhhNhNubjp)}(h``CONFIG_NET=y``h]h CONFIG_NET=y}(hj+ hhhNhNubah}(h]h ]h"]h$]h&]uh1johjsubh )。}(hjshhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKohj+ubeh}(h]h ]h"]h$]h&]uh1jThj3hhhhhNubeh}(h]h ]h"]h$]h&]j{arabicj}hj~juh1j1hjhhhhhKubeh}(h](linuxjeh ]h"]( linux內核補丁提交檢查單tw_submitchecklisteh$]h&]uh1jhhhhhhhKexpect_referenced_by_name}jV jsexpect_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}(jV jjU jR u nametypes}(jV jU uh}(jjjR ju 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 "tw-submitchecklist" is not referenced.}hj sbah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]levelKtypeINFOsourcehlineKuh1j uba transformerN include_log]=Documentation/translations/zh_TW/process/submit-checklist.rst(NNNNta decorationNhhub.