From 0c075d67fcfde8d048cca2f751a82db97ebc3754 Mon Sep 17 00:00:00 2001 From: Aleksandr Nogikh Date: Wed, 30 Jul 2025 15:43:58 +0200 Subject: syz-cluster: add a kvm config Add a config to fuzz kvm patches. Listen on the kvm mailing list. --- syz-cluster/overlays/gke/prod/global-config.yaml | 1 + syz-cluster/pkg/api/api.go | 6 +++++ syz-cluster/workflow/configs/kvm/base.cfg | 34 ++++++++++++++++++++++++ syz-cluster/workflow/configs/kvm/patched.cfg | 10 +++++++ 4 files changed, 51 insertions(+) create mode 100644 syz-cluster/workflow/configs/kvm/base.cfg create mode 100644 syz-cluster/workflow/configs/kvm/patched.cfg diff --git a/syz-cluster/overlays/gke/prod/global-config.yaml b/syz-cluster/overlays/gke/prod/global-config.yaml index 5fc5a4cea..9918cb105 100644 --- a/syz-cluster/overlays/gke/prod/global-config.yaml +++ b/syz-cluster/overlays/gke/prod/global-config.yaml @@ -14,6 +14,7 @@ data: - bpf - linux-ext4 - netfilter-devel + - kvm emailReporting: name: "syzbot ci" sender: dashapi diff --git a/syz-cluster/pkg/api/api.go b/syz-cluster/pkg/api/api.go index 363ee45fb..93ef0eae3 100644 --- a/syz-cluster/pkg/api/api.go +++ b/syz-cluster/pkg/api/api.go @@ -209,6 +209,12 @@ const ( // The list is ordered by decreasing importance. var FuzzConfigs = []*FuzzConfig{ + { + Name: `kvm`, + EmailLists: []string{`kvm@vger.kernel.org`}, + KernelConfig: `upstream-apparmor-kasan.config`, + CorpusURL: allCorpusURL, + }, { Name: `bpf`, EmailLists: []string{`bpf@vger.kernel.org`}, diff --git a/syz-cluster/workflow/configs/kvm/base.cfg b/syz-cluster/workflow/configs/kvm/base.cfg new file mode 100644 index 000000000..e0bf135b1 --- /dev/null +++ b/syz-cluster/workflow/configs/kvm/base.cfg @@ -0,0 +1,34 @@ +{ + "name": "base", + "target": "linux/amd64", + "kernel_obj": "/base/obj", + "kernel_build_src": "/workdir", + "image": "/base/image", + "syzkaller": "/syzkaller", + "workdir": "/workdir", + "type": "qemu", + "enable_syscalls": [ + "openat$kvm", + "openat$sev", + "close", + "ioctl$KVM*", + "syz_kvm*", + "mmap$KVM_VCPU", + "munmap", + "syz_memcpy_off$KVM_EXIT_MMIO", + "syz_memcpy_off$KVM_EXIT_HYPERCALL", + "eventfd2", + "write$eventfd" + ], + "procs": 3, + "sandbox": "none", + "experimental": {"cover_edges": false}, + "vm": { + "count": 4, + "cmdline": "root=/dev/sda1 kvm-intel.nested=1", + "kernel": "/base/kernel", + "cpu": 2, + "mem": 3072, + "qemu_args": "-machine q35,nvdimm=on,accel=kvm,kernel-irqchip=split -cpu max,migratable=off -enable-kvm -smp 2,sockets=2,cores=1" + } +} diff --git a/syz-cluster/workflow/configs/kvm/patched.cfg b/syz-cluster/workflow/configs/kvm/patched.cfg new file mode 100644 index 000000000..9c2efd8ba --- /dev/null +++ b/syz-cluster/workflow/configs/kvm/patched.cfg @@ -0,0 +1,10 @@ +{ + "name": "patched", + "target": "linux/amd64", + "kernel_obj": "/patched/obj", + "image": "/patched/image", + "vm": { + "count": 10, + "kernel": "/patched/kernel" + } +} -- cgit mrf-deployment