blob: 0646603b713fda0b98fc56d2b578cdb181a8adcd [file] [log] [blame]
### Common config fragments required by syzbot for all kernels
### Machine processor and bus support
CONFIG_MCORE2=y
CONFIG_PCI=y
CONFIG_PCI_MSI=y
CONFIG_PROCESSOR_SELECT=y
CONFIG_SMP=y
# CONFIG_CPU_SUP_CENTAUR is not set
# CONFIG_HT_IRQ is not set
### We don't need lots, but some configs set it to 2 which is too low.
CONFIG_NR_CPUS=8
### syzbot uses own compiler, it usually produces new warnings.
# CONFIG_ERROR_ON_WARNING is not set
### Block device support
CONFIG_ATA=y
CONFIG_ATA_PIIX=y
CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_SD=y
CONFIG_SCSI=y
### Virtualization support
CONFIG_HYPERVISOR_GUEST=y
CONFIG_HZ_100=y
CONFIG_KVM_CLOCK=y
CONFIG_KVM_GUEST=y
CONFIG_PARAVIRT=y
CONFIG_PARAVIRT_SPINLOCKS=y
CONFIG_SCSI_LOWLEVEL=y
CONFIG_SCSI_VIRTIO=y
CONFIG_VIRTIO_CONSOLE=y
CONFIG_VIRTIO_NET=y
CONFIG_VIRTIO_PCI=y
### Network device support
CONFIG_NETDEVICES=y
CONFIG_ETHERNET=y
CONFIG_NET_VENDOR_INTEL=y
CONFIG_E1000=y
CONFIG_NET_CORE=y
### Serial console support
CONFIG_EARLY_PRINTK=y
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_EXTENDED=y
CONFIG_SERIAL_8250_NR_UARTS=32
CONFIG_SERIAL_8250_MANY_PORTS=y
CONFIG_SERIAL_8250_SHARE_IRQ=y
CONFIG_TTY=y
# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
### Coverage features
CONFIG_KCOV=y
CONFIG_KCOV_INSTRUMENT_ALL=y
CONFIG_KCOV_ENABLE_COMPARISONS=y
CONFIG_DEBUG_FS=y
# CONFIG_RANDOMIZE_BASE is not set
### For detection of supported syscalls
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_ALL=y
CONFIG_KALLSYMS_ABSOLUTE_PERCPU=y
CONFIG_KALLSYMS_BASE_RELATIVE=y
### KPROBES pollute coverage and needlessly slow down execution
# CONFIG_KPROBES is not set
### Slows down execution and sometimes fuzzer actually enables it
# CONFIG_FUNCTION_TRACER is not set
### Slows down execution
# CONFIG_RETPOLINE is not set
# CONFIG_PAGE_TABLE_ISOLATION is not set
### For 'namespace' sandbox
CONFIG_NAMESPACES=y
CONFIG_USER_NS=y
CONFIG_UTS_NS=y
CONFIG_IPC_NS=y
CONFIG_PID_NS=y
CONFIG_NET_NS=y
### Debugging features (from kernel_configs.md, do not alpha sort)
CONFIG_DEBUG_BUGVERBOSE=y
CONFIG_PANIC_TIMEOUT=86400
CONFIG_SCHED_STACK_END_CHECK=y
CONFIG_LOCKDEP=y
CONFIG_PROVE_LOCKING=y
CONFIG_DEBUG_ATOMIC_SLEEP=y
CONFIG_PROVE_RCU=y
CONFIG_DEBUG_VM=y
CONFIG_DEBUG_VM_VMACACHE=y
CONFIG_DEBUG_VM_RB=y
CONFIG_REFCOUNT_FULL=y
CONFIG_FORTIFY_SOURCE=y
CONFIG_HARDENED_USERCOPY=y
CONFIG_LOCKUP_DETECTOR=y
CONFIG_SOFTLOCKUP_DETECTOR=y
CONFIG_HARDLOCKUP_DETECTOR=y
CONFIG_DETECT_HUNG_TASK=y
CONFIG_WQ_WATCHDOG=y
CONFIG_RCU_CPU_STALL_TIMEOUT=100
CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=140
### More debugging features
CONFIG_BASE_FULL=y
CONFIG_BOOTPARAM_HARDLOCKUP_PANIC=y
CONFIG_BOOTPARAM_HUNG_TASK_PANIC=y
CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC=y
CONFIG_DEBUG_DEVRES=y
CONFIG_DEBUG_INFO=y
CONFIG_DEBUG_LIST=y
CONFIG_DEBUG_MEMORY_INIT=y
CONFIG_DEBUG_NOTIFIERS=y
CONFIG_DEBUG_OBJECTS=y
CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1
CONFIG_DEBUG_OBJECTS_FREE=y
CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER=y
CONFIG_DEBUG_OBJECTS_RCU_HEAD=y
CONFIG_DEBUG_OBJECTS_TIMERS=y
CONFIG_DEBUG_OBJECTS_WORK=y
CONFIG_DEBUG_PI_LIST=y
CONFIG_DEBUG_RT_MUTEXES=y
CONFIG_DEBUG_STACKOVERFLOW=y
CONFIG_DEBUG_STACK_USAGE=y
CONFIG_PRINTK=y
CONFIG_PRINTK_TIME=y
CONFIG_SND_DEBUG=y
# CONFIG_DEBUG_OBJECTS_SELFTEST is not set
### Fault injection
CONFIG_FAULT_INJECTION=y
CONFIG_FAILSLAB=y
CONFIG_FAIL_PAGE_ALLOC=y
CONFIG_FAIL_MAKE_REQUEST=y
CONFIG_FAIL_IO_TIMEOUT=y
CONFIG_FAIL_FUTEX=y
CONFIG_FAULT_INJECTION_DEBUG_FS=y
### KASAN support
CONFIG_KASAN=y
CONFIG_KASAN_INLINE=y
CONFIG_SPARSEMEM_VMEMMAP=y
### 32-on-64 support
CONFIG_IA32_EMULATION=y
### Options enabled to boot Debian Wheezy
CONFIG_X86_VSYSCALL_EMULATION=y
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_INOTIFY_USER=y
CONFIG_UEVENT_HELPER=y
### Options enabled to boot Debian Stretch
CONFIG_CONFIGFS_FS=y
CONFIG_SECURITYFS=y
### Enable some control groups for better sandboxing
CONFIG_CGROUP_PIDS=y
CONFIG_MEMCG=y
### If syzkaller gets to /dev/{mem,kmem,ioport}, it will destroy the machine.
### It managed to do so with some mount's, chdir's and bogus file names.
### These are not needed for fuzzing, so completely disabling them is
### the simplest and the most reliable option.
# CONFIG_DEVMEM is not set
# CONFIG_DEVKMEM is not set
# CONFIG_DEVPORT is not set
### Print thread and CPU ids
CONFIG_PRINTK_CALLER=y