Fault injection is a development tool, and should be under dev-tools section. Suggested-by: Jonathan Corbet <corbet@xxxxxxx> Signed-off-by: Breno Leitao <leitao@xxxxxxxxxx> --- Changelog: v2: * Fixed a remaining file pointing to the wrong file, as reported by kernel test robot: * https://lore.kernel.org/all/202408312350.DEf53QzI-lkp@xxxxxxxxx/ v1: * https://lore.kernel.org/all/20240830174502.3732959-1-leitao@xxxxxxxxxx/ Documentation/admin-guide/kernel-parameters.txt | 2 +- .../{ => dev-tools}/fault-injection/fault-injection.rst | 0 Documentation/{ => dev-tools}/fault-injection/index.rst | 0 .../fault-injection/notifier-error-inject.rst | 0 .../{ => dev-tools}/fault-injection/nvme-fault-injection.rst | 0 .../{ => dev-tools}/fault-injection/provoke-crashes.rst | 0 Documentation/dev-tools/index.rst | 1 + Documentation/index.rst | 1 - Documentation/process/4.Coding.rst | 2 +- Documentation/process/submit-checklist.rst | 2 +- Documentation/translations/it_IT/process/4.Coding.rst | 2 +- .../translations/it_IT/process/submit-checklist.rst | 2 +- Documentation/translations/ja_JP/SubmitChecklist | 2 +- .../translations/sp_SP/process/submit-checklist.rst | 2 +- Documentation/translations/zh_CN/index.rst | 2 +- Documentation/translations/zh_CN/process/4.Coding.rst | 2 +- .../translations/zh_CN/process/submit-checklist.rst | 2 +- Documentation/translations/zh_TW/index.rst | 2 +- Documentation/translations/zh_TW/process/4.Coding.rst | 2 +- .../translations/zh_TW/process/submit-checklist.rst | 2 +- MAINTAINERS | 2 +- drivers/block/null_blk/main.c | 2 +- drivers/misc/lkdtm/core.c | 2 +- drivers/ufs/core/ufs-fault-injection.c | 2 +- include/asm-generic/error-injection.h | 5 +++-- include/linux/fault-inject.h | 2 +- lib/Kconfig.debug | 4 ++-- tools/testing/fault-injection/failcmd.sh | 2 +- 28 files changed, 25 insertions(+), 24 deletions(-) rename Documentation/{ => dev-tools}/fault-injection/fault-injection.rst (100%) rename Documentation/{ => dev-tools}/fault-injection/index.rst (100%) rename Documentation/{ => dev-tools}/fault-injection/notifier-error-inject.rst (100%) rename Documentation/{ => dev-tools}/fault-injection/nvme-fault-injection.rst (100%) rename Documentation/{ => dev-tools}/fault-injection/provoke-crashes.rst (100%) diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt index 09126bb8cc9f..70d2077c9b3f 100644 --- a/Documentation/admin-guide/kernel-parameters.txt +++ b/Documentation/admin-guide/kernel-parameters.txt @@ -1532,7 +1532,7 @@ fail_make_request=[KNL] General fault injection mechanism. Format: <interval>,<probability>,<space>,<times> - See also Documentation/fault-injection/. + See also Documentation/dev-tools/fault-injection/. fb_tunnels= [NET] Format: { initns | none } diff --git a/Documentation/fault-injection/fault-injection.rst b/Documentation/dev-tools/fault-injection/fault-injection.rst similarity index 100% rename from Documentation/fault-injection/fault-injection.rst rename to Documentation/dev-tools/fault-injection/fault-injection.rst diff --git a/Documentation/fault-injection/index.rst b/Documentation/dev-tools/fault-injection/index.rst similarity index 100% rename from Documentation/fault-injection/index.rst rename to Documentation/dev-tools/fault-injection/index.rst diff --git a/Documentation/fault-injection/notifier-error-inject.rst b/Documentation/dev-tools/fault-injection/notifier-error-inject.rst similarity index 100% rename from Documentation/fault-injection/notifier-error-inject.rst rename to Documentation/dev-tools/fault-injection/notifier-error-inject.rst diff --git a/Documentation/fault-injection/nvme-fault-injection.rst b/Documentation/dev-tools/fault-injection/nvme-fault-injection.rst similarity index 100% rename from Documentation/fault-injection/nvme-fault-injection.rst rename to Documentation/dev-tools/fault-injection/nvme-fault-injection.rst diff --git a/Documentation/fault-injection/provoke-crashes.rst b/Documentation/dev-tools/fault-injection/provoke-crashes.rst similarity index 100% rename from Documentation/fault-injection/provoke-crashes.rst rename to Documentation/dev-tools/fault-injection/provoke-crashes.rst diff --git a/Documentation/dev-tools/index.rst b/Documentation/dev-tools/index.rst index 53d4d124f9c5..ade850c4b344 100644 --- a/Documentation/dev-tools/index.rst +++ b/Documentation/dev-tools/index.rst @@ -34,6 +34,7 @@ Documentation/dev-tools/testing-overview.rst ktap checkuapi gpio-sloppy-logic-analyzer + Fault injection <fault-injection/index> .. only:: subproject and html diff --git a/Documentation/index.rst b/Documentation/index.rst index f9f525f4c0dd..9b57d6bc04f4 100644 --- a/Documentation/index.rst +++ b/Documentation/index.rst @@ -57,7 +57,6 @@ Various other manuals with useful information for all kernel developers. Testing guide <dev-tools/testing-overview> Hacking guide <kernel-hacking/index> Tracing <trace/index> - Fault injection <fault-injection/index> Livepatching <livepatch/index> Rust <rust/index> diff --git a/Documentation/process/4.Coding.rst b/Documentation/process/4.Coding.rst index 80bcc1cabc23..1fc0a7fc2f43 100644 --- a/Documentation/process/4.Coding.rst +++ b/Documentation/process/4.Coding.rst @@ -300,7 +300,7 @@ enabled, a configurable percentage of memory allocations will be made to fail; these failures can be restricted to a specific range of code. Running with fault injection enabled allows the programmer to see how the code responds when things go badly. See -Documentation/fault-injection/fault-injection.rst for more information on +Documentation/dev-tools/fault-injection/fault-injection.rst for more information on how to use this facility. Other kinds of errors can be found with the "sparse" static analysis tool. diff --git a/Documentation/process/submit-checklist.rst b/Documentation/process/submit-checklist.rst index e531dd504b6c..b513b3d05426 100644 --- a/Documentation/process/submit-checklist.rst +++ b/Documentation/process/submit-checklist.rst @@ -124,7 +124,7 @@ Test your code 3) All codepaths have been exercised with all lockdep features enabled. 4) Has been checked with injection of at least slab and page-allocation - failures. See ``Documentation/fault-injection/``. + failures. See ``Documentation/dev-tools/fault-injection/``. If the new code is substantial, addition of subsystem-specific fault injection might be appropriate. diff --git a/Documentation/translations/it_IT/process/4.Coding.rst b/Documentation/translations/it_IT/process/4.Coding.rst index ec874a8dfb9d..b7b9ab6df103 100644 --- a/Documentation/translations/it_IT/process/4.Coding.rst +++ b/Documentation/translations/it_IT/process/4.Coding.rst @@ -317,7 +317,7 @@ di allocazione di memoria sarà destinata al fallimento; questi fallimenti possono essere ridotti ad uno specifico pezzo di codice. Procedere con l'inserimento dei fallimenti attivo permette al programmatore di verificare come il codice risponde quando le cose vanno male. Consultate: -Documentation/fault-injection/fault-injection.rst per avere maggiori +Documentation/dev-tools/fault-injection/fault-injection.rst per avere maggiori informazioni su come utilizzare questo strumento. Altre tipologie di errori possono essere riscontrati con lo strumento di diff --git a/Documentation/translations/it_IT/process/submit-checklist.rst b/Documentation/translations/it_IT/process/submit-checklist.rst index 2fc09cc1f0be..60ec660702fa 100644 --- a/Documentation/translations/it_IT/process/submit-checklist.rst +++ b/Documentation/translations/it_IT/process/submit-checklist.rst @@ -99,7 +99,7 @@ sottomissione delle patch, in particolare essere inviate in copia anche a linux-api@xxxxxxxxxxxxxxx. 20) La patch è stata verificata con l'iniezione di fallimenti in slab e - nell'allocazione di pagine. Vedere ``Documentation/fault-injection/``. + nell'allocazione di pagine. Vedere ``Documentation/dev-tools/fault-injection/``. Se il nuovo codice è corposo, potrebbe essere opportuno aggiungere l'iniezione di fallimenti specifici per il sottosistema. diff --git a/Documentation/translations/ja_JP/SubmitChecklist b/Documentation/translations/ja_JP/SubmitChecklist index 1759c6b452d6..193641581e98 100644 --- a/Documentation/translations/ja_JP/SubmitChecklist +++ b/Documentation/translations/ja_JP/SubmitChecklist @@ -90,7 +90,7 @@ Linux カーネルパッチ投稿者向けチェックリスト 19: 少なくともslabアロケーションとpageアロケーションに失敗した場合の 挙動について、fault-injectionを利用して確認してください。 - Documentation/fault-injection/ を参照してください。 + Documentation/dev-tools/fault-injection/ を参照してください。 追加したコードがかなりの量であったならば、サブシステム特有の fault-injectionを追加したほうが良いかもしれません。 diff --git a/Documentation/translations/sp_SP/process/submit-checklist.rst b/Documentation/translations/sp_SP/process/submit-checklist.rst index 0d6651f9d871..d2b09a10c1fe 100644 --- a/Documentation/translations/sp_SP/process/submit-checklist.rst +++ b/Documentation/translations/sp_SP/process/submit-checklist.rst @@ -102,7 +102,7 @@ y en otros lugares con respecto al envío de parches del kernel de Linux. espacio de usuario deben ser CCed a linux-api@xxxxxxxxxxxxxxx. 19) Se ha comprobado con la inyección de al menos errores de asignación - de slab y página. Consulte ``Documentation/fault-injection/``. + de slab y página. Consulte ``Documentation/dev-tools/fault-injection/``. Si el nuevo código es sustancial, la adición de la inyección de errores específica del subsistema podría ser apropiada. diff --git a/Documentation/translations/zh_CN/index.rst b/Documentation/translations/zh_CN/index.rst index 20b9d4270d1f..e471f22a5473 100644 --- a/Documentation/translations/zh_CN/index.rst +++ b/Documentation/translations/zh_CN/index.rst @@ -73,7 +73,7 @@ TODOList: * trace/index -* fault-injection/index +* dev-tools/fault-injection/index * livepatch/index 面向用户的文档 diff --git a/Documentation/translations/zh_CN/process/4.Coding.rst b/Documentation/translations/zh_CN/process/4.Coding.rst index 4cc35d410dbc..2794761a1cbe 100644 --- a/Documentation/translations/zh_CN/process/4.Coding.rst +++ b/Documentation/translations/zh_CN/process/4.Coding.rst @@ -208,7 +208,7 @@ Linus对这个问题给出了最佳答案: 启用故障注入后,内存分配的可配置失败的百分比;这些失败可以限定在特定的代码 范围内。在启用了故障注入的情况下运行,程序员可以看到当情况恶化时代码如何响 应。有关如何使用此工具的详细信息,请参阅 -Documentation/fault-injection/fault-injection.rst。 +Documentation/dev-tools/fault-injection/fault-injection.rst。 “sparse”静态分析工具可以发现其他类型的错误。sparse可以警告程序员用户空间 和内核空间地址之间的混淆、大端序与小端序的混淆、在需要一组位标志的地方传递 diff --git a/Documentation/translations/zh_CN/process/submit-checklist.rst b/Documentation/translations/zh_CN/process/submit-checklist.rst index 10536b74aeec..4f8d7480673d 100644 --- a/Documentation/translations/zh_CN/process/submit-checklist.rst +++ b/Documentation/translations/zh_CN/process/submit-checklist.rst @@ -85,7 +85,7 @@ Linux内核补丁提交检查单 请参阅 ``Documentation/ABI/README`` 。更改用户空间接口的补丁应该抄送 linux-api@xxxxxxxxxxxxxxx。 -19) 已通过至少注入slab和page分配失败进行检查。请参阅 ``Documentation/fault-injection/`` 。 +19) 已通过至少注入slab和page分配失败进行检查。请参阅 ``Documentation/dev-tools/fault-injection/`` 。 如果新代码是实质性的,那么添加子系统特定的故障注入可能是合适的。 20) 新添加的代码已经用 ``gcc -W`` 编译(使用 ``make EXTRA-CFLAGS=-W`` )。这 diff --git a/Documentation/translations/zh_TW/index.rst b/Documentation/translations/zh_TW/index.rst index 660a74d2023c..1932a5f28069 100644 --- a/Documentation/translations/zh_TW/index.rst +++ b/Documentation/translations/zh_TW/index.rst @@ -64,7 +64,7 @@ TODOList: * kernel-hacking/index * rust/index * trace/index -* fault-injection/index +* dev-tools/fault-injection/index * livepatch/index 面向用戶的文檔 diff --git a/Documentation/translations/zh_TW/process/4.Coding.rst b/Documentation/translations/zh_TW/process/4.Coding.rst index e90a6b51fb98..3841da1e6729 100644 --- a/Documentation/translations/zh_TW/process/4.Coding.rst +++ b/Documentation/translations/zh_TW/process/4.Coding.rst @@ -211,7 +211,7 @@ Linus對這個問題給出了最佳答案: 啓用故障注入後,內存分配的可配置失敗的百分比;這些失敗可以限定在特定的代碼 範圍內。在啓用了故障注入的情況下運行,程序員可以看到當情況惡化時代碼如何響 應。有關如何使用此工具的詳細信息,請參閱 -Documentation/fault-injection/fault-injection.rst。 +Documentation/dev-tools/fault-injection/fault-injection.rst。 “sparse”靜態分析工具可以發現其他類型的錯誤。sparse可以警告程序員用戶空間 和內核空間地址之間的混淆、大端序與小端序的混淆、在需要一組位標誌的地方傳遞 diff --git a/Documentation/translations/zh_TW/process/submit-checklist.rst b/Documentation/translations/zh_TW/process/submit-checklist.rst index 0ecb187753e4..e7a6c3332017 100644 --- a/Documentation/translations/zh_TW/process/submit-checklist.rst +++ b/Documentation/translations/zh_TW/process/submit-checklist.rst @@ -88,7 +88,7 @@ Linux內核補丁提交檢查單 請參閱 ``Documentation/ABI/README`` 。更改用戶空間接口的補丁應該抄送 linux-api@xxxxxxxxxxxxxxx。 -19) 已通過至少注入slab和page分配失敗進行檢查。請參閱 ``Documentation/fault-injection/`` 。 +19) 已通過至少注入slab和page分配失敗進行檢查。請參閱 ``Documentation/dev-tools/fault-injection/`` 。 如果新代碼是實質性的,那麼添加子系統特定的故障注入可能是合適的。 20) 新添加的代碼已經用 ``gcc -W`` 編譯(使用 ``make EXTRA-CFLAGS=-W`` )。這 diff --git a/MAINTAINERS b/MAINTAINERS index e4fa9010fcb6..b5fd319b8786 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -8537,7 +8537,7 @@ F: drivers/net/wan/farsync.* FAULT INJECTION SUPPORT M: Akinobu Mita <akinobu.mita@xxxxxxxxx> S: Supported -F: Documentation/fault-injection/ +F: Documentation/dev-tools/fault-injection/ F: lib/fault-inject.c FBTFT Framebuffer drivers diff --git a/drivers/block/null_blk/main.c b/drivers/block/null_blk/main.c index 2f0431e42c49..2266c80649a2 100644 --- a/drivers/block/null_blk/main.c +++ b/drivers/block/null_blk/main.c @@ -100,7 +100,7 @@ MODULE_PARM_DESC(home_node, "Home node for the device"); #ifdef CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION /* * For more details about fault injection, please refer to - * Documentation/fault-injection/fault-injection.rst. + * Documentation/dev-tools/fault-injection/fault-injection.rst. */ static char g_timeout_str[80]; module_param_string(timeout, g_timeout_str, sizeof(g_timeout_str), 0444); diff --git a/drivers/misc/lkdtm/core.c b/drivers/misc/lkdtm/core.c index 5732fd59a227..029592f2d07e 100644 --- a/drivers/misc/lkdtm/core.c +++ b/drivers/misc/lkdtm/core.c @@ -15,7 +15,7 @@ * * Debugfs support added by Simon Kagstrom <simon.kagstrom@xxxxxxxxxxxxxx> * - * See Documentation/fault-injection/provoke-crashes.rst for instructions + * See Documentation/dev-tools/fault-injection/provoke-crashes.rst for instructions */ #include "lkdtm.h" #include <linux/fs.h> diff --git a/drivers/ufs/core/ufs-fault-injection.c b/drivers/ufs/core/ufs-fault-injection.c index 169540417079..3afe1e7fb407 100644 --- a/drivers/ufs/core/ufs-fault-injection.c +++ b/drivers/ufs/core/ufs-fault-injection.c @@ -19,7 +19,7 @@ enum { FAULT_INJ_STR_SIZE = 80 }; /* * For more details about fault injection, please refer to - * Documentation/fault-injection/fault-injection.rst. + * Documentation/dev-tools/fault-injection/fault-injection.rst. */ static char g_trigger_eh_str[FAULT_INJ_STR_SIZE]; module_param_cb(trigger_eh, &ufs_fault_ops, g_trigger_eh_str, 0644); diff --git a/include/asm-generic/error-injection.h b/include/asm-generic/error-injection.h index b05253f68eaa..26b80eec6d5f 100644 --- a/include/asm-generic/error-injection.h +++ b/include/asm-generic/error-injection.h @@ -21,8 +21,9 @@ struct pt_regs; /* * Whitelist generating macro. Specify functions which can be error-injectable * using this macro. If you unsure what is required for the error-injectable - * functions, please read Documentation/fault-injection/fault-injection.rst - * 'Error Injectable Functions' section. + * functions, please read + * Documentation/dev-tools/fault-injection/fault-injection.rst 'Error + * Injectable Functions' section. */ #define ALLOW_ERROR_INJECTION(fname, _etype) \ static struct error_injection_entry __used \ diff --git a/include/linux/fault-inject.h b/include/linux/fault-inject.h index 354413950d34..9b10e50155a6 100644 --- a/include/linux/fault-inject.h +++ b/include/linux/fault-inject.h @@ -12,7 +12,7 @@ /* * For explanation of the elements of this struct, see - * Documentation/fault-injection/fault-injection.rst + * Documentation/dev-tools/fault-injection/fault-injection.rst */ struct fault_attr { unsigned long probability; diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug index a30c03a66172..a0e66c01042e 100644 --- a/lib/Kconfig.debug +++ b/lib/Kconfig.debug @@ -2019,7 +2019,7 @@ config FAULT_INJECTION depends on DEBUG_KERNEL help Provide fault-injection framework. - For more details, see Documentation/fault-injection/. + For more details, see Documentation/dev-tools/fault-injection/. config FAILSLAB bool "Fault-injection capability for kmalloc" @@ -2225,7 +2225,7 @@ config LKDTM called lkdtm. Documentation on how to use the module can be found in - Documentation/fault-injection/provoke-crashes.rst + Documentation/dev-tools/fault-injection/provoke-crashes.rst config CPUMASK_KUNIT_TEST tristate "KUnit test for cpumask" if !KUNIT_ALL_TESTS diff --git a/tools/testing/fault-injection/failcmd.sh b/tools/testing/fault-injection/failcmd.sh index 78dac34264be..ea384c7cae68 100644 --- a/tools/testing/fault-injection/failcmd.sh +++ b/tools/testing/fault-injection/failcmd.sh @@ -42,7 +42,7 @@ OPTIONS --interval=value, --space=value, --verbose=value, --task-filter=value, --stacktrace-depth=value, --require-start=value, --require-end=value, --reject-start=value, --reject-end=value, --ignore-gfp-wait=value - See Documentation/fault-injection/fault-injection.rst for more + See Documentation/dev-tools/fault-injection/fault-injection.rst for more information failslab options: -- 2.43.5