]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
error-injection: Add prompt for function error injection
authorSteven Rostedt (Google) <rostedt@goodmis.org>
Mon, 21 Nov 2022 15:44:03 +0000 (10:44 -0500)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Wed, 14 Dec 2022 13:02:50 +0000 (14:02 +0100)
commit a4412fdd49dc011bcc2c0d81ac4cab7457092650 upstream.

The config to be able to inject error codes into any function annotated
with ALLOW_ERROR_INJECTION() is enabled when FUNCTION_ERROR_INJECTION is
enabled.  But unfortunately, this is always enabled on x86 when KPROBES
is enabled, and there's no way to turn it off.

As kprobes is useful for observability of the kernel, it is useful to
have it enabled in production environments.  But error injection should
be avoided.  Add a prompt to the config to allow it to be disabled even
when kprobes is enabled, and get rid of the "def_bool y".

This is a kernel debug feature (it's in Kconfig.debug), and should have
never been something enabled by default.

Cc: stable@vger.kernel.org
Fixes: 540adea3809f6 ("error-injection: Separate error-injection from kprobe")
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit b60a8ad771fd15a1539fe6488bc424bd7dabce2a)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
lib/Kconfig.debug

index be4514764178d1b11eace5ad873f94b79a804f3b..a41d14c4f4595b74705abe3bc0a7452bc9a83bb7 100644 (file)
@@ -1872,8 +1872,14 @@ config NETDEV_NOTIFIER_ERROR_INJECT
          If unsure, say N.
 
 config FUNCTION_ERROR_INJECTION
-       def_bool y
+       bool "Fault-injections of functions"
        depends on HAVE_FUNCTION_ERROR_INJECTION && KPROBES
+       help
+         Add fault injections into various functions that are annotated with
+         ALLOW_ERROR_INJECTION() in the kernel. BPF may also modify the return
+         value of theses functions. This is useful to test error paths of code.
+
+         If unsure, say N
 
 config FAULT_INJECTION
        bool "Fault-injection framework"