github.com/google/syzkaller@v0.0.0-20251211124644-a066d2bc4b02/tools/gvisor-smoke-test.sh (about) 1 #!/usr/bin/env bash 2 # Copyright 2024 syzkaller project authors. All rights reserved. 3 # Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file. 4 5 set -xeuo pipefail 6 7 workdir="$(mktemp -d /tmp/syzkaller-gvisor-test.XXXXXX)" 8 9 cleanup() { 10 sudo -E rm -rf "$workdir" 11 } 12 13 trap cleanup EXIT 14 15 syzdir="$(pwd)" 16 cat > "$workdir/config" <<EOF 17 { 18 "name": "gvisor", 19 "target": "linux/amd64", 20 "http": ":54321", 21 "workdir": "/$workdir/workdir/", 22 "image": "$workdir/kernel/vmlinux", 23 "kernel_obj": "$workdir/kernel/", 24 "syzkaller": "$syzdir", 25 "cover": false, 26 "procs": 1, 27 "type": "gvisor", 28 "vm": { 29 "count": 1, 30 "runsc_args": "--ignore-cgroups --network none" 31 } 32 } 33 EOF 34 35 mkdir "$workdir/kernel" 36 if [[ -z "${GVISOR_VMLINUX_PATH:-}" ]]; then 37 arch="$(uname -m)" 38 url="https://storage.googleapis.com/gvisor/releases/release/latest/${arch}" 39 curl --output "$workdir/kernel/vmlinux" "${url}/runsc" 40 chmod a+rx "$workdir/kernel/vmlinux" 41 else 42 install -m555 "$GVISOR_VMLINUX_PATH" "$workdir/kernel/vmlinux" 43 fi 44 45 sudo -E ./bin/syz-manager -config "$workdir/config" --mode smoke-test