aboutsummaryrefslogtreecommitdiff
path: root/dashboard/config/bits-syzbot.config
blob: 0646603b713fda0b98fc56d2b578cdb181a8adcd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
### 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