[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200413081426.GA2791586@kroah.com>
Date: Mon, 13 Apr 2020 10:14:26 +0200
From: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
To: Tetsuo Handa <penguin-kernel@...ove.sakura.ne.jp>
Cc: Andrew Morton <akpm@...ux-foundation.org>,
Matthew Garrett <mjg59@...gle.com>,
Andi Kleen <ak@...ux.intel.com>,
"Theodore Y . Ts'o" <tytso@....edu>,
Alexander Viro <viro@...iv.linux.org.uk>,
Petr Mladek <pmladek@...e.com>,
Sergey Senozhatsky <sergey.senozhatsky@...il.com>,
Arnd Bergmann <arnd@...db.de>, Jiri Slaby <jslaby@...e.com>,
Steven Rostedt <rostedt@...dmis.org>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Peter Zijlstra <peterz@...radead.org>,
LKML <linux-kernel@...r.kernel.org>,
Dmitry Vyukov <dvyukov@...gle.com>
Subject: Re: [PATCH v3] Add kernel config option for tweaking kernel behavior.
On Mon, Apr 13, 2020 at 03:33:17PM +0900, Tetsuo Handa wrote:
> Existing kernel config options are defined based on "whether you want to
> enable this module/feature or not". And such granularity is sometimes
> too rough-grained for fuzzing tools which try to find bugs inside each
> module/feature.
>
> While syzkaller (one of fuzzing tools) is finding many bugs, sometimes
> syzkaller examines stupid operations. Some examples of such operations
> are: changing console loglevel which in turn makes it impossible to get
> kernel messages when a crash happens, freezing filesystems which in turn
> causes khungtaskd to needlessly complain, programmatically sending
> Ctrl-Alt-Del which in turn causes the system to needlessly reboot.
> Currently we prevent syzkaller from examining stupid operations by
> blacklisting syscall arguments and/or disabling whole functionality
> using existing kernel config options. But such approach is difficult to
> maintain and needlessly prevents fuzzers from testing kernel code. [1]
>
> We want fuzzers to test as much coverage as possible while we want
> fuzzers not to try stupid operations. To achieve this goal, we want
> cooperation from kernel side, and build-time branching (i.e. kernel
> config options) will be the simplest and the most reliable.
>
> Therefore, this patch introduces a kernel config option which allows
> selecting fine-grained kernel config options for tweaking kernel's
> behavior. Each fine-grained kernel config option will be added by future
> patches. For ease of management, grouping kernel config options for
> allowing e.g. syzkaller to select all fine-grained kernel config options
> which e.g. syzkaller wants would be added by future patches.
>
> [1] https://lkml.kernel.org/r/CACT4Y+a6KExbggs4mg8pvoD554PcDqQNW4sM15X-tc=YONCzYw@mail.gmail.com
>
> Signed-off-by: Tetsuo Handa <penguin-kernel@...ove.SAKURA.ne.jp>
> Cc: Dmitry Vyukov <dvyukov@...gle.com>
> ---
> lib/Kconfig.debug | 11 +++++++++++
> 1 file changed, 11 insertions(+)
>
> Changes since v2 ( https://lkml.kernel.org/r/20200307135822.3894-1-penguin-kernel@I-love.SAKURA.ne.jp ):
> Reduce the role of this kernel config option from "enable everything
> which would be useful for fuzz testing" to "simply serve as a gate for
> hiding individual kernel config option", for we should use individual
> kernel config option for tweaking individual kernel behavior.
>
> Changes since v1 ( https://lkml.kernel.org/r/20191216095955.9886-1-penguin-kernel@I-love.SAKURA.ne.jp ):
> Drop users of this kernel config option.
> Update patch description.
>
> diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
> index 50c1f5f08e6f..a7c3ebc21428 100644
> --- a/lib/Kconfig.debug
> +++ b/lib/Kconfig.debug
> @@ -2223,4 +2223,15 @@ config HYPERV_TESTING
>
> endmenu # "Kernel Testing and Coverage"
>
> +menuconfig TWEAK_KERNEL_BEHAVIOR
> + bool "Tweak kernel behavior"
> + help
> + Saying Y here allows modifying kernel behavior via kernel
> + config options which will become visible by selecting this
> + config option.
This "help" text really only says "say Y here to allow for some config
options". It doesn't explain what these are for, or why anyone would
select them, or what type of options are here at all.
I don't see how this option, by just looking at it, relates to your goal
of doing things to make fuzzers' lives easier.
thanks,
greg k-h
Powered by blists - more mailing lists