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 (Simplified)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget,/translations/zh_CN/process/submit-checklistmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hChinese (Traditional)}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget,/translations/zh_TW/process/submit-checklistmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget,/translations/it_IT/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_languageJapaneseuh1h 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/ja_JP/process/submit-checklist.rsthKubh)}(h/Translated by Akira Yokosawa h]h/Translated by Akira Yokosawa }hhsbah}(h]h ]h"]h$]h&]hhuh1hhhhhhhhKubh)}(hAn old translation of this document of a different origin was at Documentation/translations/ja_JP/SubmitChecklist, which can be found in the pre-v6.14 tree if you are interested. Please note that this translation is independent of the previous one.h]hAn old translation of this document of a different origin was at Documentation/translations/ja_JP/SubmitChecklist, which can be found in the pre-v6.14 tree if you are interested. Please note that this translation is independent of the previous one.}hhsbah}(h]h ]h"]h$]h&]hhuh1hhhhhhhhK ubhsection)}(hhh](htitle)}(h6Linux カーネルパッチ投稿チェックリストh]h6Linux カーネルパッチ投稿チェックリスト}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhK ubhnote)}(hX【訳註】 この文書は、 Documentation/process/submit-checklist.rst の翻訳です。 免責条項については、 :ref:`免責条項の抄訳 ` および、 :ref:`Disclaimer (英語版) ` を参照してください。h]h paragraph)}(hX【訳註】 この文書は、 Documentation/process/submit-checklist.rst の翻訳です。 免責条項については、 :ref:`免責条項の抄訳 ` および、 :ref:`Disclaimer (英語版) ` を参照してください。h](h}【訳註】 この文書は、 Documentation/process/submit-checklist.rst の翻訳です。 免責条項については、 }(hhhhhNhNubh)}(h<:ref:`免責条項の抄訳 `h]hinline)}(hhh]h免責条項の抄訳}(hhhhhNhNubah}(h]h ](xrefstdstd-refeh"]h$]h&]uh1hhhubah}(h]h ]h"]h$]h&]refdoc+translations/ja_JP/process/submit-checklist refdomainjreftyperef refexplicitrefwarn reftargettranslations_ja_jp_disclaimeruh1hhhhKhhubh および、 }(hhhhhNhNubh)}(h7:ref:`Disclaimer (英語版) `h]h)}(hj h]hDisclaimer (英語版)}(hj"hhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]refdocj refdomainj,reftyperef refexplicitrefwarnjtranslations_disclaimeruh1hhhhKhhubh を参照してください。}(hhhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhhubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubh)}(h以下は、カーネルパッチの投稿時に、そのスムーズな受け入れのために心がける べき基本的な事項です。h]h以下は、カーネルパッチの投稿時に、そのスムーズな受け入れのために心がける べき基本的な事項です。}(hjNhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(hこれは、 Documentation/process/submitting-patches.rst およびその他の Linux カーネルパッチ投稿に関する文書を踏まえ、それを補足するものです。h]hこれは、 Documentation/process/submitting-patches.rst およびその他の Linux カーネルパッチ投稿に関する文書を踏まえ、それを補足するものです。}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(hX;【訳註】 可能な項目については、パッチもしくはパッチ内の更新を暗黙の主語として、 その望ましい状態を表す文体とします。その他、原義を損なわない範囲で 係り結びを調整するなど、簡潔で把握しやすい箇条書きを目指します。h]h)}(hX;【訳註】 可能な項目については、パッチもしくはパッチ内の更新を暗黙の主語として、 その望ましい状態を表す文体とします。その他、原義を損なわない範囲で 係り結びを調整するなど、簡潔で把握しやすい箇条書きを目指します。h]hX;【訳註】 可能な項目については、パッチもしくはパッチ内の更新を暗黙の主語として、 その望ましい状態を表す文体とします。その他、原義を損なわない範囲で 係り結びを調整するなど、簡潔で把握しやすい箇条書きを目指します。}(hjnhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjjubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubh)}(hhh](h)}(hコードのレビューh]hコードのレビュー}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhK#ubhenumerated_list)}(hhh](h list_item)}(h利用する機能について、その機能を定義・宣言しているファイルを ``#include`` している。 他のヘッダーファイル経由での取り込みに依存しない。 h]h)}(h利用する機能について、その機能を定義・宣言しているファイルを ``#include`` している。 他のヘッダーファイル経由での取り込みに依存しない。h](h[利用する機能について、その機能を定義・宣言しているファイルを }(hjhhhNhNubhliteral)}(h ``#include``h]h#include}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh\ している。 他のヘッダーファイル経由での取り込みに依存しない。}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK%hjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(hzDocumentation/process/coding-style.rst に詳述されている一般的なスタイル についてチェック済み。 h]h)}(hyDocumentation/process/coding-style.rst に詳述されている一般的なスタイル についてチェック済み。h]hyDocumentation/process/coding-style.rst に詳述されている一般的なスタイル についてチェック済み。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK)hjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(hメモリバリアー (例, ``barrier()``, ``rmb()``, ``wmb()``) について、 そのすべてに、作用と目的、及び必要理由についての説明がソースコード内の コメントとして記述されている。 h]h)}(hメモリバリアー (例, ``barrier()``, ``rmb()``, ``wmb()``) について、 そのすべてに、作用と目的、及び必要理由についての説明がソースコード内の コメントとして記述されている。h](hメモリバリアー (例, }(hjhhhNhNubj)}(h ``barrier()``h]h barrier()}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh, }(hjhhhNhNubj)}(h ``rmb()``h]hrmb()}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh, }hjsbj)}(h ``wmb()``h]hwmb()}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh) について、 そのすべてに、作用と目的、及び必要理由についての説明がソースコード内の コメントとして記述されている。}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK,hjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubeh}(h]h ]h"]h$]h&]enumtypearabicprefixhsuffix)uh1jhjhhhhhK%ubeh}(h]id1ah ]h"]コードのレビューah$]h&]uh1hhhhhhhhK#ubh)}(hhh](h)}(hKconfig 変更のレビューh]hKconfig 変更のレビュー}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj?hhhhhK2ubj)}(hhh](j)}(hX`新規の、もしくは変更された ``CONFIG`` オプションについて、それが関係する コンフィグメニューへの悪影響がない。また、 Documentation/kbuild/kconfig-language.rst の "Menu attibutes: default value" に記載の例外条件を満たす場合を除き、 そのデフォルトが無効になっている。 h]h)}(hX_新規の、もしくは変更された ``CONFIG`` オプションについて、それが関係する コンフィグメニューへの悪影響がない。また、 Documentation/kbuild/kconfig-language.rst の "Menu attibutes: default value" に記載の例外条件を満たす場合を除き、 そのデフォルトが無効になっている。h](h(新規の、もしくは変更された }(hjWhhhNhNubj)}(h ``CONFIG``h]hCONFIG}(hj_hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjWubhX1 オプションについて、それが関係する コンフィグメニューへの悪影響がない。また、 Documentation/kbuild/kconfig-language.rst の “Menu attibutes: default value” に記載の例外条件を満たす場合を除き、 そのデフォルトが無効になっている。}(hjWhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK4hjSubah}(h]h ]h"]h$]h&]uh1jhjPhhhhhNubj)}(hJ新規の ``Kconfig`` オプションにヘルプテキストがある。 h]h)}(hI新規の ``Kconfig`` オプションにヘルプテキストがある。h](h 新規の }(hjhhhNhNubj)}(h ``Kconfig``h]hKconfig}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh4 オプションにヘルプテキストがある。}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK:hj}ubah}(h]h ]h"]h$]h&]uh1jhjPhhhhhNubj)}(h妥当な ``Kconfig`` の組み合わせについて注意深くレビューされている。 これをテストでやり切るのは困難で、知力が決め手となる。 h]h)}(h妥当な ``Kconfig`` の組み合わせについて注意深くレビューされている。 これをテストでやり切るのは困難で、知力が決め手となる。h](h 妥当な }(hjhhhNhNubj)}(h ``Kconfig``h]hKconfig}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh の組み合わせについて注意深くレビューされている。 これをテストでやり切るのは困難で、知力が決め手となる。}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK` の形式で ドキュメント化されている (静的関数には求められないが、付けてもよい)。 h]h)}(hグローバルなカーネル API が :ref:`kernel-doc ` の形式で ドキュメント化されている (静的関数には求められないが、付けてもよい)。h](h(グローバルなカーネル API が }(hjhhhNhNubh)}(h:ref:`kernel-doc `h]h)}(hjh]h kernel-doc}(hjhhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]refdocj refdomainj reftyperef refexplicitrefwarnj kernel_docuh1hhhhKBhjubht の形式で ドキュメント化されている (静的関数には求められないが、付けてもよい)。}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKBhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(hf新規 ``/proc`` エントリーが、すべて ``Documentation/`` 以下に記載されて いる。 h]h)}(he新規 ``/proc`` エントリーが、すべて ``Documentation/`` 以下に記載されて いる。h](h新規 }(hj3hhhNhNubj)}(h ``/proc``h]h/proc}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj3ubh エントリーが、すべて }(hj3hhhNhNubj)}(h``Documentation/``h]hDocumentation/}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj3ubh# 以下に記載されて いる。}(hj3hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKEhj/ubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(h新規カーネル・ブート・パラメータが、すべて ``Documentation/admin-guide/kernel-parameters.rst`` に記載されている。 h]h)}(h新規カーネル・ブート・パラメータが、すべて ``Documentation/admin-guide/kernel-parameters.rst`` に記載されている。h](h@新規カーネル・ブート・パラメータが、すべて }(hjohhhNhNubj)}(h3``Documentation/admin-guide/kernel-parameters.rst``h]h/Documentation/admin-guide/kernel-parameters.rst}(hjwhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjoubh に記載されている。}(hjohhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKHhjkubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(ht新規モジュール・パラメータが、すべて ``MODULE_PARM_DESC()`` によって記述 されている。 h]h)}(hs新規モジュール・パラメータが、すべて ``MODULE_PARM_DESC()`` によって記述 されている。h](h7新規モジュール・パラメータが、すべて }(hjhhhNhNubj)}(h``MODULE_PARM_DESC()``h]hMODULE_PARM_DESC()}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh& によって記述 されている。}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKKhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(hXn新規ユーザースペース・インターフェースが、すべて ``Documentaion/ABI/`` 以下に記載されている。詳しくは、 Documentation/admin-guide/abi.rst (もしくは ``Documentation/ABI/README``) を参照。 ユーザースペース・インターフェースを変更するパッチは、 linux-api@vger.kernel.org にも CC すべし。 h]h)}(hXm新規ユーザースペース・インターフェースが、すべて ``Documentaion/ABI/`` 以下に記載されている。詳しくは、 Documentation/admin-guide/abi.rst (もしくは ``Documentation/ABI/README``) を参照。 ユーザースペース・インターフェースを変更するパッチは、 linux-api@vger.kernel.org にも CC すべし。h](hI新規ユーザースペース・インターフェースが、すべて }(hjhhhNhNubj)}(h``Documentaion/ABI/``h]hDocumentaion/ABI/}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubhb 以下に記載されている。詳しくは、 Documentation/admin-guide/abi.rst (もしくは }(hjhhhNhNubj)}(h``Documentation/ABI/README``h]hDocumentation/ABI/README}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubha) を参照。 ユーザースペース・インターフェースを変更するパッチは、 }(hjhhhNhNubh reference)}(hlinux-api@vger.kernel.orgh]hlinux-api@vger.kernel.org}(hjhhhNhNubah}(h]h ]h"]h$]h&]refuri mailto:linux-api@vger.kernel.orguh1jhjubh にも CC すべし。}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKNhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(hなんらかの ioctl を追加するパッチは、 ``Documentation/userspace-api/ioctl/ioctl-number.rst`` の更新を伴う。 h]h)}(hなんらかの ioctl を追加するパッチは、 ``Documentation/userspace-api/ioctl/ioctl-number.rst`` の更新を伴う。h](h5なんらかの 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&]uh1hhhhKThjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubeh}(h]h ]h"]h$]h&]j2j3j4hj5j6uh1jhjhhhhhKBubeh}(h]id2ah ]h"]'ドキュメンテーションの作成ah$]h&]uh1hhhhhhhhK@ubh)}(hhh](h)}(h*ツールによるコードのチェックh]h*ツールによるコードのチェック}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjIhhhhhKYubj)}(hhh](j)}(hスタイル・チェッカー (``scripts/checkpatch.pl``) によって、犯しがちな パッチ・スタイルの違反がないことを確認済み。 指摘される違反を残す場合は、それを正当化できること。 h]h)}(hスタイル・チェッカー (``scripts/checkpatch.pl``) によって、犯しがちな パッチ・スタイルの違反がないことを確認済み。 指摘される違反を残す場合は、それを正当化できること。h](h スタイル・チェッカー (}(hjahhhNhNubj)}(h``scripts/checkpatch.pl``h]hscripts/checkpatch.pl}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1jhjaubh) によって、犯しがちな パッチ・スタイルの違反がないことを確認済み。 指摘される違反を残す場合は、それを正当化できること。}(hjahhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK[hj]ubah}(h]h ]h"]h$]h&]uh1jhjZhhhhhNubj)}(h/sparse により入念にチェック済み。 h]h)}(h.sparse により入念にチェック済み。h]h.sparse により入念にチェック済み。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK_hjubah}(h]h ]h"]h$]h&]uh1jhjZhhhhhNubj)}(h``make checkstack`` で指摘される問題があれば、それが修正済み。 ``checkstack`` は問題点を明示的には指摘しないが、 スタック消費が 512 バイトを越える関数は見直しの候補。 h]h)}(h``make checkstack`` で指摘される問題があれば、それが修正済み。 ``checkstack`` は問題点を明示的には指摘しないが、 スタック消費が 512 バイトを越える関数は見直しの候補。h](j)}(h``make checkstack``h]hmake checkstack}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubhA で指摘される問題があれば、それが修正済み。 }(hjhhhNhNubj)}(h``checkstack``h]h checkstack}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh は問題点を明示的には指摘しないが、 スタック消費が 512 バイトを越える関数は見直しの候補。}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKahjubah}(h]h ]h"]h$]h&]uh1jhjZhhhhhNubeh}(h]h ]h"]h$]h&]j2j3j4hj5j6uh1jhjIhhhhhK[ubeh}(h]id3ah ]h"]*ツールによるコードのチェックah$]h&]uh1hhhhhhhhKYubh)}(hhh](h)}(hコードのビルドh]hコードのビルド}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKfubj)}(hhh](j)}(hX=以下の条件でクリーンにビルドできる。 a) 適用可能な、および ``=y``, ``=m``, ``=n`` を変更した ``CONFIG`` オプションでのビルド。 ``gcc`` およびリンカーからの警告・エラーがないこと。 b) ``allnoconfig`` と ``allmodconfig`` がパス c) ``O=builddir`` を指定してのビルド d) Documentation/ 以下の変更に関して、ドキュメントのビルドで新たな警告や エラーが出ない。 ``make htmldocs`` または ``make pdfdocs`` でビルドし、問題があれば修正。 h](h)}(h6以下の条件でクリーンにビルドできる。h]h6以下の条件でクリーンにビルドできる。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhjubj)}(hhh](j)}(h適用可能な、および ``=y``, ``=m``, ``=n`` を変更した ``CONFIG`` オプションでのビルド。 ``gcc`` およびリンカーからの警告・エラーがないこと。 h]h)}(h適用可能な、および ``=y``, ``=m``, ``=n`` を変更した ``CONFIG`` オプションでのビルド。 ``gcc`` およびリンカーからの警告・エラーがないこと。h](h適用可能な、および }(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, }hjsbj)}(h``=n``h]h=n}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh を変更した }(hjhhhNhNubj)}(h ``CONFIG``h]hCONFIG}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh# オプションでのビルド。 }(hjhhhNhNubj)}(h``gcc``h]hgcc}(hjbhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubhC およびリンカーからの警告・エラーがないこと。}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKjhjubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(h/``allnoconfig`` と ``allmodconfig`` がパス h]h)}(h.``allnoconfig`` と ``allmodconfig`` がパスh](j)}(h``allnoconfig``h]h allnoconfig}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh と }(hjhhhNhNubj)}(h``allmodconfig``h]h allmodconfig}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh がパス}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKnhjubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(h+``O=builddir`` を指定してのビルド h]h)}(h*``O=builddir`` を指定してのビルドh](j)}(h``O=builddir``h]h O=builddir}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh を指定してのビルド}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKphjubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hDocumentation/ 以下の変更に関して、ドキュメントのビルドで新たな警告や エラーが出ない。 ``make htmldocs`` または ``make pdfdocs`` でビルドし、問題があれば修正。 h]h)}(hDocumentation/ 以下の変更に関して、ドキュメントのビルドで新たな警告や エラーが出ない。 ``make htmldocs`` または ``make pdfdocs`` でビルドし、問題があれば修正。h](hzDocumentation/ 以下の変更に関して、ドキュメントのビルドで新たな警告や エラーが出ない。 }(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&]uh1hhhhKrhjubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]j2 loweralphaj4hj5j6uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhhhNhNubj)}(hXローカルのクロス・コンパイル・ツール、その他のビルド環境 (訳註: build farm) を使って、複数の CPU アーキテクチャ向けにビルドできる。 特に、ワードサイズ (32 ビットと 64 ビット) やエンディアン (ビッグとリトル) の異なるアーキテクチャを対象とするテストは、表現可能数値範囲・データ整列・ エンディアンなどについての誤った仮定に起因する様々な移植上の問題を捕える のに効果的。 h]h)}(hXローカルのクロス・コンパイル・ツール、その他のビルド環境 (訳註: build farm) を使って、複数の CPU アーキテクチャ向けにビルドできる。 特に、ワードサイズ (32 ビットと 64 ビット) やエンディアン (ビッグとリトル) の異なるアーキテクチャを対象とするテストは、表現可能数値範囲・データ整列・ エンディアンなどについての誤った仮定に起因する様々な移植上の問題を捕える のに効果的。h]hXローカルのクロス・コンパイル・ツール、その他のビルド環境 (訳註: build farm) を使って、複数の CPU アーキテクチャ向けにビルドできる。 特に、ワードサイズ (32 ビットと 64 ビット) やエンディアン (ビッグとリトル) の異なるアーキテクチャを対象とするテストは、表現可能数値範囲・データ整列・ エンディアンなどについての誤った仮定に起因する様々な移植上の問題を捕える のに効果的。}(hj+hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKvhj'ubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(hX新規に追加されたコードについて (``make KCFLAGS=-W`` を使って) ``gcc -W`` でコンパイル。 これは多くのノイズを伴うが、 ``warning: comparison between signed and unsigned`` の類いのバグをあぶり出すのに効果的。 h]h)}(hX新規に追加されたコードについて (``make KCFLAGS=-W`` を使って) ``gcc -W`` でコンパイル。 これは多くのノイズを伴うが、 ``warning: comparison between signed and unsigned`` の類いのバグをあぶり出すのに効果的。h](h/新規に追加されたコードについて (}(hjChhhNhNubj)}(h``make KCFLAGS=-W``h]hmake KCFLAGS=-W}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjCubh を使って) }(hjChhhNhNubj)}(h ``gcc -W``h]hgcc -W}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjCubhB でコンパイル。 これは多くのノイズを伴うが、 }(hjChhhNhNubj)}(h3``warning: comparison between signed and unsigned``h]h/warning: comparison between signed and unsigned}(hjohhhNhNubah}(h]h ]h"]h$]h&]uh1jhjCubh7 の類いのバグをあぶり出すのに効果的。}(hjChhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK}hj?ubah}(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](h1変更されるソースコードが、下記の }(hjhhhNhNubj)}(h ``Kconfig``h]hKconfig}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubhq シンボルに関連するカーネル API や機能に依存 (もしくは利用) する場合、それらの }(hjhhhNhNubj)}(h ``Kconfig``h]hKconfig}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh6 シンボルが、 無効、および (可能なら) }(hjhhhNhNubj)}(h``=m``h]h=m}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh の場合を組み合わせた複数のビルドを (全部まとめてではなく、いろいろなランダムの組み合わせで) テスト済み。}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubh)}(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}(hjhhhNhNubah}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh, }hjsbj)}(h``CONFIG_INPUT``h]h CONFIG_INPUT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh, }(hjhhhNhNubj)}(h``CONFIG_PCI``h]h CONFIG_PCI}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh, }hjsbj)}(h``CONFIG_BLOCK``h]h CONFIG_BLOCK}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh, }hjsbj)}(h ``CONFIG_PM``h]h CONFIG_PM}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh, }hjsbj)}(h``CONFIG_MAGIC_SYSRQ``h]hCONFIG_MAGIC_SYSRQ}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh, }hjsbj)}(h``CONFIG_NET``h]h CONFIG_NET}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh, }hjsbj)}(h``CONFIG_INET=n``h]h CONFIG_INET=n}(hj{hhhNhNubah}(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&]uh1hhhhKhjubeh}(h]h ]h"]h$]h&]uh1jhjhhhhhNubeh}(h]h ]h"]h$]h&]j2j3j4hj5j6uh1jhjhhhhhKhubeh}(h]id4ah ]h"]コードのビルドah$]h&]uh1hhhhhhhhKfubh)}(hhh](h)}(hコードのテストh]hコードのテスト}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKubj)}(hhh](j)}(hX1``CONFIG_PREEMPT``, ``CONFIG_DEBUG_PREEMPT``, ``CONFIG_SLUB_DEBUG``, ``CONFIG_DEBUG_PAGEALLOC``, ``CONFIG_DEBUG_MUTEXES``, ``CONFIG_DEBUG_SPINLOCK``, ``CONFIG_DEBUG_ATOMIC_SLEEP``, ``CONFIG_PROVE_RCU`` および ``CONFIG_DEBUG_OBJECTS_RCU_HEAD`` をすべて 同時に有効にしてのテスト済み。 h]h)}(hX0``CONFIG_PREEMPT``, ``CONFIG_DEBUG_PREEMPT``, ``CONFIG_SLUB_DEBUG``, ``CONFIG_DEBUG_PAGEALLOC``, ``CONFIG_DEBUG_MUTEXES``, ``CONFIG_DEBUG_SPINLOCK``, ``CONFIG_DEBUG_ATOMIC_SLEEP``, ``CONFIG_PROVE_RCU`` および ``CONFIG_DEBUG_OBJECTS_RCU_HEAD`` をすべて 同時に有効にしてのテスト済み。h](j)}(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_SLUB_DEBUG``h]hCONFIG_SLUB_DEBUG}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh, }hjsbj)}(h``CONFIG_DEBUG_PAGEALLOC``h]hCONFIG_DEBUG_PAGEALLOC}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh, }hjsbj)}(h``CONFIG_DEBUG_MUTEXES``h]hCONFIG_DEBUG_MUTEXES}(hjhhhNhNubah}(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}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh, }hjsbj)}(h``CONFIG_PROVE_RCU``h]hCONFIG_PROVE_RCU}(hjShhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh および }(hjhhhNhNubj)}(h!``CONFIG_DEBUG_OBJECTS_RCU_HEAD``h]hCONFIG_DEBUG_OBJECTS_RCU_HEAD}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh; をすべて 同時に有効にしてのテスト済み。}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(h``CONFIG_SMP`` と ``CONFIG_PREEMPT`` が有効と無効の場合について、ビルドと ランタイムのテスト済み。 h]h)}(h``CONFIG_SMP`` と ``CONFIG_PREEMPT`` が有効と無効の場合について、ビルドと ランタイムのテスト済み。h](j)}(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&]uh1jhjubh\ が有効と無効の場合について、ビルドと ランタイムのテスト済み。}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(hilockdep の機能をすべて有効にしての実行で、すべてのコード経路が確認済み。 h]h)}(hhlockdep の機能をすべて有効にしての実行で、すべてのコード経路が確認済み。h]hhlockdep の機能をすべて有効にしての実行で、すべてのコード経路が確認済み。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(hXY最低限、slab と ページ・アロケーションの失敗に関する誤り注入 (訳註: fault injection) によるチェック済み。 詳しくは、 Documentation/fault-injection/index.rst を参照。 新規のコードが多い場合は、サブシステム対象の誤り注入を追加するのが望ましい 可能性あり。 h]h)}(hXX最低限、slab と ページ・アロケーションの失敗に関する誤り注入 (訳註: fault injection) によるチェック済み。 詳しくは、 Documentation/fault-injection/index.rst を参照。 新規のコードが多い場合は、サブシステム対象の誤り注入を追加するのが望ましい 可能性あり。h]hXX最低限、slab と ページ・アロケーションの失敗に関する誤り注入 (訳註: fault injection) によるチェック済み。 詳しくは、 Documentation/fault-injection/index.rst を参照。 新規のコードが多い場合は、サブシステム対象の誤り注入を追加するのが望ましい 可能性あり。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubj)}(hlinux-next の最新タグに対するテストにより、他でキューイングされている パッチや、VM、VFS、その他のサブシステム内のすべての変更と組み合わせての 動作を確認済み。h]h)}(hlinux-next の最新タグに対するテストにより、他でキューイングされている パッチや、VM、VFS、その他のサブシステム内のすべての変更と組み合わせての 動作を確認済み。h]hlinux-next の最新タグに対するテストにより、他でキューイングされている パッチや、VM、VFS、その他のサブシステム内のすべての変更と組み合わせての 動作を確認済み。}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubeh}(h]h ]h"]h$]h&]j2j3j4hj5j6uh1jhjhhhhhKubeh}(h]id5ah ]h"]コードのテストah$]h&]uh1hhhhhhhhKubeh}(h]linuxah ]h"]6linux カーネルパッチ投稿チェックリストah$]h&]uh1hhhhhhhhK ubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(hN 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}nameids}(j j j<j9jjjFjCjjjjj j u nametypes}(j j<jjFjjj uh}(j hj9jjj?jCjjjIjjj ju footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}jJ KsRparse_messages]transform_messages] transformerN include_log] decorationNhhub.