The Linux Plumbers 2019 Testing and Fuzzing track focuses on advancing the current state of testing of the Linux Kernel.
Defragmentation of testing infrastructure: how can we combine testing infrastructure to avoid duplication.
Better sanitizers: Tag-based KASAN, making KTSAN usable, etc.
Better hardware testing, hardware sanitizers.
Are fuzzers "solved"?
Improving real-time testing.
Using Clang for better testing coverage.
Unit test framework. Content will most likely depend on the state of the patch series closer to the event.
Future improvement for KernelCI. Bringing in functional tests? Improving the underlying infrastructure?
Making KMSAN/KTSAN more usable.
KASAN work in progress
Syzkaller (+ fuzzing hardware interfaces)
Stable tree (functional) testing
KernelCI (autobisect + new testing suites + functional testing)
Our objective is to gather leading developers of the kernel and it’s related testing infrastructure and utilities in an attempt to advance the state of the various utilities in use (and possibly unify some of them), and the overall testing infrastructure of the kernel. We are hopeful that we could build on the experience of the participants of this MC to create solid plans for the upcoming year.
If you are interested in participating in this microconference and have topics to propose, please use the CfP process. More topics will be added based on CfP for this microconference.
kernelCI: testing a broad variety of hardware
The Linux kernel runs on an extremely wide range of hardware, but
with the rapid pace of kernel development, it's difficult to ensure
the full range of supported hardware is adequately tested.
The kernelCI project is a small, but growing project, focused on
testing the core kernel on diverse set of architectures, boards and
Boot testing is already hard to do well on a wide variety of
hardware. However it is only scratching the surface of the
kernel code base. To take projects such as Kernel CI to the next
level and increase coverage, functional tests are becoming the
next big thing on the list. Large test suites that run close to
the hardware are very hard to tame. Some projects such as
ezbench could become...
In this talk Dmitry will introduce the idea of GWP-ASAN, a sampling tool that finds use-after-free and heap-buffer-overflows bugs in production environments. GWP-ASan supplements the normal slab allocator and chooses random allocations to 'sample'. These sampled allocations are placed into a special guarded pool, which is based upon the traditional 'Electric Fence Malloc Debugger' idea. Dmitry...
During the last two years, KMSAN (a detector of uses of uninitialized
memory based on compiler instrumentation) has found more than a
hundred bugs in the upstream kernel.
We'll discuss the current status of the tool, some of its findings and
implementation challenges. Ideally, I'd like to get more people to
look at the code, as finding bugs in particular subsystems may require
In this talk, Dmitry will share updates on syzkaller/syzbot since last year: USB fuzzing, bisection, memory leaks. Talk about open problems: testability of kernel components; test coverage; syzbot process.
From the initial reactions and interest I have seen wrt. KTF
and the discussions on LKML around KUnit (https://lkml.org/lkml/2018/11/29/82),
it seems there's a general belief that some form of unit test framework
like these can be a good addition to the tools and infrastructure already available
in the kernel.
Kselftest started out as an effort to enable a developer-focused regression test framework in the kernel to ensure the quality of new kernel releases. Today it is an integral part of the Linux Kernel development process to qualify Linux mainline and stable release candidates.
Shuah will go over the Kselftest framework, how to write tests that work well with the framework for effective...