Description
The Linux Plumbers 2019 Testing and Fuzzing track focuses on advancing the current state of testing of the Linux Kernel.
Videos of the Topics:
kernelCI: testing a broad variety of hardware (00:00)
Kevin Hillman and Guillaume Tucker
Dealing with complex test suites (32:29)
Guillaume Tucker
GWP-ASAN (52:42)
Dmitry Vyukov
Fighting uninitialized memory in the kernel (1:13:06)
Alexander Potapenko
syzbot (1:26:53)
Dmitry Vuykov
Collabora/unification around unit testing frameworks (1:48:49)
Knut Omang - Sorry for the very low audio at the start. Microphone problem
All about Kselftest (2:19:25)
Shuah Khan
Potential topics:
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)
Kernel selftests
Smatch
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.
MC leads
Sasha Levin levinsasha928@gmail.com and Dhaval Giani dhaval.giani@gmail.com
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
compilers using...
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...
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
deeper knowledge...
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.
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...