I am trying to use `syz-extract` (instead of make extract) to run on a single file for a single arch but it runs into errors.
I've a kernel driver (which exposes a file) that interacts with the kvm subsystem and requires kvm's fd_kvmvm resource.
Essentially no new syscall but a new file (open$customfile) and ioctls (ioctl$customioctls on customfile)
Since one of the ioctl require a fd_kvmfd, I added new descriptions in dev_kvm.txt
However when I try to extract using `syz-extract`, I run into something like below
$: ~/tools/gopath/src/github.com/google/syzkaller$ ./bin/syz-extract -os linux -arch amd64 -sourcedir $KERNEL_SRC -builddir $BUILD_DIR dev_kvm.txt
generating linux/amd64...
dev_kvm.txt: failed to run compiler: gcc [-nostdinc -w -fmessage-length=0 -O3 -I. -D__KERNEL__ -DKBUILD_MODNAME="-" -I<snipped>/linux/arch/x86/include -I<snipped>/build-x86_64/linux/arch/x86/include/generated/uapi -I<snipped>/build-x86_64/linux/arch/x86/include/generated -I<snipped>/linux/arch/x86/include/asm/mach-malta -I<snipped>/linux/arch/x86/include/asm/mach-generic -I<snipped>/build-x86_64/linux/include -I<snipped>/linux/include -I<snipped>/linux/arch/x86/include/uapi -I<snipped>/build-x86_64/linux/arch/x86/include/generated/uapi -I<snipped>/linux/include/uapi -I<snipped>/build-x86_64/linux/include/generated/uapi -I<snipped>/linux -I<snipped>/linux/include/linux -I<snipped>/build-x86_64/linux/syzkaller -include <snipped>/linux/include/linux/kconfig.h -m64 -O2 -pthread -Wall -Werror -Wparentheses -Wunused-const-variable -Wframe-larger-than=16384 -static]
exit status 1
In file included from <snipped>/linux/arch/x86/include/asm/mmu.h:5:0,
from <snipped>/linux/arch/x86/include/asm/acpi.h:14,
from <snipped>/linux/arch/x86/include/asm/fixmap.h:40,
from <snipped>/linux/arch/x86/include/asm/apic.h:11,
from <snipped>/linux/arch/x86/include/asm/smp.h:13,
from <snipped>/linux/include/linux/smp.h:68,
from <snipped>/linux/include/linux/percpu.h:7,
from <snipped>/linux/include/linux/context_tracking_state.h:5,
from <snipped>/linux/include/linux/vtime.h:5,
from <snipped>/linux/include/linux/hardirq.h:8,
from <snipped>/linux/include/linux/kvm_host.h:7,
from <stdin>:9:
<snipped>/linux/include/linux/spinlock.h:60:10: fatal error: asm/mmiowb.h: No such file or directory
#include <asm/mmiowb.h>
^~~~~~~~~~~~~~
compilation terminated
If I find mmiowb.h
$: find . -name mmiowb.h | grep x86
./arch/x86/include/generated/asm/mmiowb.h
Any help on how I should troubleshoot this, will be helpful.
-Deepak