mirror of
https://github.com/reactos/syzkaller.git
synced 2024-12-03 00:46:35 +00:00
syzkaller is an unsupervised coverage-guided kernel fuzzer
b5f6354179
Few managers recently crashed with: panic: syscall mknod$loop: per proc arg 'proc' has bad value '4294967295' panic: sync: unlock of unlocked mutex goroutine 35438 [running]: sync.(*Mutex).Unlock(0xc42166e0c8) sync/mutex.go:184 +0xc1 panic(0xb98980, 0xc448971aa0) runtime/panic.go:491 +0x283 main.(*Manager).Connect(0xc42166e000, 0xc42056d060, 0xc42038f000, 0x0, 0x0) syz-manager/manager.go:868 +0x11cc And a similar issue was reported on mailing list. It's unclear where these bogus programs come from. It seems that hub was somehow involved here. 4294967295 is (uint32)-1 which is trucated special value for proc types. The test did not uncover any bugs, bug since I wrote it and it looks like a useful test, let's commit it anyway. |
||
---|---|---|
dashboard | ||
docs | ||
executor | ||
Godeps | ||
pkg | ||
prog | ||
sys | ||
syz-ci | ||
syz-fuzzer | ||
syz-hub | ||
syz-manager | ||
tools | ||
vendor | ||
vm | ||
.clang-format | ||
.gitignore | ||
.travis.yml | ||
AUTHORS | ||
CONTRIBUTORS | ||
LICENSE | ||
Makefile | ||
README.md |
syzkaller - kernel fuzzer
syzkaller
is an unsupervised coverage-guided kernel fuzzer. Linux
kernel fuzzing has the most support, akaros
, freebsd
, fuchsia
, netbsd
and windows
are supported to varying degrees.
The project mailing list is syzkaller@googlegroups.com. You can subscribe to it with a google account or by sending an email to syzkaller+subscribe@googlegroups.com.
Documentation
Initially, syzkaller was developed with Linux kernel fuzzing in mind, but now it's being extended to support other OS kernels as well. Most of the documentation at this moment is related to the Linux kernel. For other OS kernels check: Akaros, FreeBSD, Fuchsia, NetBSD, Windows.
- How to install syzkaller
- How to use syzkaller
- How syzkaller works
- How to contribute to syzkaller
- How to report Linux kernel bugs
External Articles
- Kernel QA with syzkaller and qemu (tutorial on how to setup syzkaller with qemu)
- Syzkaller crash DEMO (tutorial on how to extend syzkaller with new syscalls)
- Coverage-guided kernel fuzzing with syzkaller (by David Drysdale)
- ubsan, kasan, syzkaller und co (video) (by Florian Westphal)
- Debugging a kernel crash found by syzkaller (by Quentin Casasnovas)
- Linux Plumbers 2016 talk slides
- syzkaller: the next gen kernel fuzzer (basics of operations, tutorial on how to run syzkaller and how to extend it to fuzz new drivers)
Disclaimer
This is not an official Google product.