From 0a81695ed15a8e71634694e3439043abad5fd949 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Thu, 19 Apr 2018 11:58:25 +0200 Subject: Update kernel_configs.md --- docs/linux/kernel_configs.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'docs/linux') diff --git a/docs/linux/kernel_configs.md b/docs/linux/kernel_configs.md index 8c54ccbf1..d0d001988 100644 --- a/docs/linux/kernel_configs.md +++ b/docs/linux/kernel_configs.md @@ -8,8 +8,14 @@ To enable coverage collection, which is extremely important for effective fuzzin ``` CONFIG_KCOV=y CONFIG_KCOV_INSTRUMENT_ALL=y +CONFIG_KCOV_ENABLE_COMPARISONS=y CONFIG_DEBUG_FS=y ``` +Note that `CONFIG_KCOV_ENABLE_COMPARISONS` feature also requires `gcc8+` and the following commits if you are testing an old kernel: +``` + kcov: support comparison operands collection + kcov: fix comparison callback signature +``` To show code coverage in web interface: ``` @@ -46,6 +52,23 @@ CONFIG_KASAN=y CONFIG_KASAN_INLINE=y ``` +For testing with fault injection enable the following configs (syzkaller will pick it up automatically): +``` +CONFIG_FAULT_INJECTION=y +CONFIG_FAULT_INJECTION_DEBUG_FS=y +CONFIG_FAILSLAB=y +CONFIG_FAIL_PAGE_ALLOC=y +CONFIG_FAIL_MAKE_REQUEST=y +CONFIG_FAIL_IO_TIMEOUT=y +CONFIG_FAIL_FUTEX=y +``` +Note: you also need the following commits if you are testing an old kernel: +``` + fault-inject: support systematic fault injection + fault-inject: simplify access check for fail-nth + fault-inject: fix wrong should_fail() decision in task context +``` + Any other debugging configs, the more the better, here are some that proved to be especially useful: ``` CONFIG_LOCKDEP=y -- cgit mrf-deployment