syzkaller is an open-source, coverage-guided, structure-aware kernel fuzzer with strong accent on automation, currently supported for 7 operating systems. In this talk, Dmitry will describe history and motivation behind the project; outline main guiding principles for the project and challenges of kernel fuzzing as compared to more developed user-space fuzzing (coverage flakiness, test isolation, enormous inputs space). Dmitry will then talk about the main design decisions that enabled overcoming the challenges, including interface description language, syzkaller program notation and interpretation, code coverage support. The talk will continue with unexpected (at the time) results, thousands of bugs uncovered by syzkaller in the Linux kernel and automation required to handle the stream of bugs. The final part of the talk is dedicated to potential future improvements and touches on syzkaller/Windows/WSL integration.