From: Johannes Berg <johannes@sipsolutions.net>
To: Alexander Potapenko <glider@google.com>, David Gow <davidgow@google.com>
Cc: Shuah Khan <skhan@linuxfoundation.org>,
Ethan Graham <ethan.w.s.graham@gmail.com>,
andreyknvl@gmail.com, andy@kernel.org,
andy.shevchenko@gmail.com, brauner@kernel.org,
brendan.higgins@linux.dev, davem@davemloft.net,
dhowells@redhat.com, dvyukov@google.com, elver@google.com,
herbert@gondor.apana.org.au, ignat@cloudflare.com, jack@suse.cz,
jannh@google.com, kasan-dev@googlegroups.com, kees@kernel.org,
kunit-dev@googlegroups.com, linux-crypto@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-mm@kvack.org,
lukas@wunner.de, rmoar@google.com, shuah@kernel.org,
sj@kernel.org, tarasmadan@google.com
Subject: Re: [PATCH v3 00/10] KFuzzTest: a new kernel fuzzing framework
Date: Wed, 17 Dec 2025 11:31:26 +0100 [thread overview]
Message-ID: <9adc2c51cb0b176006c362c26f2b1804a37b48d6.camel@sipsolutions.net> (raw)
In-Reply-To: <CAG_fn=WvdKZgmkqa09kwLLH3P_j6GFYzopeD-PZ-Qt0-1KUaGw@mail.gmail.com> (sfid-20251217_111949_169881_DE704F52)
On Wed, 2025-12-17 at 11:19 +0100, Alexander Potapenko wrote:
> > >
> > > As discussed at LPC, the tight tie between one single external user-space
> > > tool isn't something I am in favor of. The reason being, if the userspace
> > > app disappears all this kernel code stays with no way to trigger.
> > >
> > > Ethan and I discussed at LPC and I asked Ethan to come up with a generic way
> > > to trigger the fuzz code that doesn't solely depend on a single users-space
> > > application.
> > >
> >
> > FWIW, the included kfuzztest-bridge utility works fine as a separate,
> > in-tree way of triggering the fuzz code. It's definitely not totally
> > standalone, but can be useful with some ad-hoc descriptions and piping
> > through /dev/urandom or similar. (Personally, I think it'd be a really
> > nice way of distributing reproducers.)
> >
> > The only thing really missing would be having the kfuzztest-bridge
> > interface descriptions available (or, ideally, autogenerated somehow).
> > Maybe a simple wrapper to run it in a loop as a super-basic
> > (non-guided) fuzzer, if you wanted to be fancy.
> >
> > -- David
>
> An alternative Ethan and I discussed was implementing only
> FUZZ_TEST_SIMPLE for the initial commit.
> It wouldn't even need the bridge tool, because the inputs are
> unstructured, and triggering them would involve running `head -c N
> /dev/urandom > /sys/kernel/debug/kfuzztest/TEST_NAME/input_simple`
> This won't let us pass complex data structures from the userspace, but
> we can revisit that when there's an actual demand for it.
I feel like we had all this discussion before and I failed to be taken
seriously ;-)
For the record: I'm all for simplifying this. I had [1] looked into
integrating this framework with say afl++ or honggfuzz (the latter is
simpler due to the way coverage feedback is done) *inside* ARCH=um, but
this whole structured approach and lack of discoverability at runtime
(need to parse the debug data out of the kernel binary) basically throws
a wrench into it for (currently) nothing.
[1] other projects have taken precedence for now, unfortunately
And I do think it creates an effective dependency on syzkaller, running
via the bridge tool isn't something you can even do in such a context
since it's "userspace in the kernel" vs. "fuzzer integrated with the
(UML) kernel", you'd have to put the bridge tool into the kernel binary
somehow or so.
So to me, the bridge tool might be great for manual work (initial
development and reproducers) on a test, but I don't really see how it'd
be suitable for fuzzing runs. I expect it'd also be quite a speedbump,
and makes integrating coverage feedback harder too.
johannes
next prev parent reply other threads:[~2025-12-17 10:31 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-12-04 14:12 Ethan Graham
2025-12-04 14:12 ` [PATCH 01/10] mm/kasan: implement kasan_poison_range Ethan Graham
2025-12-04 15:17 ` Andrey Konovalov
2025-12-04 15:31 ` Andy Shevchenko
2025-12-04 14:12 ` [PATCH 02/10] kfuzztest: add user-facing API and data structures Ethan Graham
2025-12-04 14:12 ` [PATCH 03/10] kfuzztest: introduce the FUZZ_TEST_SIMPLE macro Ethan Graham
2025-12-04 14:12 ` [PATCH 05/10] tools: add kfuzztest-bridge utility Ethan Graham
2025-12-07 6:38 ` kernel test robot
2025-12-04 14:12 ` [PATCH 06/10] kfuzztest: add ReST documentation Ethan Graham
2025-12-04 14:12 ` [PATCH 07/10] kfuzztest: add KFuzzTest sample fuzz targets Ethan Graham
2025-12-04 14:12 ` [PATCH 08/10] crypto: implement KFuzzTest targets for PKCS7 and RSA parsing Ethan Graham
2025-12-04 14:12 ` [PATCH 09/10] drivers/auxdisplay: add a KFuzzTest for parse_xy() Ethan Graham
2025-12-04 15:26 ` Andy Shevchenko
2025-12-04 15:28 ` Andy Shevchenko
2025-12-04 15:32 ` Marco Elver
2025-12-04 15:34 ` Andy Shevchenko
2025-12-04 15:35 ` Marco Elver
2025-12-04 15:42 ` Marco Elver
2025-12-04 15:56 ` Greg Kroah-Hartman
2025-12-04 17:10 ` Andy Shevchenko
2025-12-04 21:38 ` Ethan Graham
2025-12-08 0:58 ` kernel test robot
2025-12-04 14:12 ` [PATCH 10/10] MAINTAINERS: add maintainer information for KFuzzTest Ethan Graham
2025-12-12 8:01 ` [PATCH v3 00/10] KFuzzTest: a new kernel fuzzing framework Luis Chamberlain
2025-12-12 15:09 ` Andy Shevchenko
2025-12-13 0:06 ` Shuah Khan
2025-12-17 9:53 ` David Gow
2025-12-17 10:19 ` Alexander Potapenko
2025-12-17 10:31 ` Johannes Berg [this message]
2025-12-17 1:08 ` Wentao Zhang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=9adc2c51cb0b176006c362c26f2b1804a37b48d6.camel@sipsolutions.net \
--to=johannes@sipsolutions.net \
--cc=andreyknvl@gmail.com \
--cc=andy.shevchenko@gmail.com \
--cc=andy@kernel.org \
--cc=brauner@kernel.org \
--cc=brendan.higgins@linux.dev \
--cc=davem@davemloft.net \
--cc=davidgow@google.com \
--cc=dhowells@redhat.com \
--cc=dvyukov@google.com \
--cc=elver@google.com \
--cc=ethan.w.s.graham@gmail.com \
--cc=glider@google.com \
--cc=herbert@gondor.apana.org.au \
--cc=ignat@cloudflare.com \
--cc=jack@suse.cz \
--cc=jannh@google.com \
--cc=kasan-dev@googlegroups.com \
--cc=kees@kernel.org \
--cc=kunit-dev@googlegroups.com \
--cc=linux-crypto@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=lukas@wunner.de \
--cc=rmoar@google.com \
--cc=shuah@kernel.org \
--cc=sj@kernel.org \
--cc=skhan@linuxfoundation.org \
--cc=tarasmadan@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox