Re: [PATCH v2] docs: Move fault injection section to dev-tools

From: Carlos Bilbao
Date: Wed Sep 04 2024 - 16:07:03 EST


On 9/2/24 07:53, Breno Leitao wrote:

> Fault injection is a development tool, and should be under dev-tools


Nit: not "and should be under" but "hence move under"


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


Thanks, Carlos