aboutsummaryrefslogtreecommitdiffstats
path: root/tools/docker/syzbot/Dockerfile
Commit message (Collapse)AuthorAgeFilesLines
* tools/docker/syzbot: set llvm-link as an alias for llvm-link-21Pimyn Girgis2026-01-201-0/+1
| | | | Fixes a build error for android-6.12 where llvm-link is not found.
* tools/docker: install binutils-goldAndrei Vagin2026-01-131-1/+1
| | | | | | It is required to build gvsior. Signed-off-by: Andrei Vagin <avagin@google.com>
* tools/docker: update to debian trixiePimyn Girgis2025-12-031-33/+30
| | | | | Update our docker containers to Debian Trixie. Fixes #6432
* tools/docker: install bazelisk instead of bazelKonstantin Bogomolov2025-08-281-3/+6
| | | | | | | The needed Bazel version to build gVisor got bumped. However, instead of doing the same bump in two places whenever this happens, we can simply use bazelisk in syzkaller to determine which bazel version to use automatically.
* tools/docker: update golang to 1.24.4Taras Madan2025-07-011-1/+1
|
* tools/docker: add rust compilerAleksandr Nogikh2025-05-201-4/+16
| | | | | Add the new dependencies necessary for generating RUST=y Linux configs and for building RUST=y kernels.
* tools/docker: migrate to llvm-20Aleksandr Nogikh2025-04-241-14/+17
| | | | | | | clang-15 is now the minimum required version, so we're already on the verge of not being able to compile the Linux kernel. But keep clang-15 anyway - it will be used during bisections.
* tools/docker: golang toolchain is autoupdated since 1.21Taras Madan2025-02-061-0/+2
| | | | "go mod go@1.23" updates go.mod to the latest 1.23.*.
* tools/docker: add libdw-dev to the syzbot containerAleksandr Nogikh2025-02-031-1/+3
| | | | | | | | | | | | | | Linux-next now offers a choice between using `CONFIG_GENDWARFKSYMS` and `CONFIG_GENKSYMS`. See: Docs: https://www.kernel.org/doc/html/next/kbuild/gendwarfksyms.html Series: https://patchwork.kernel.org/project/linux-kbuild/list/?series=922143 We could either enforce CONFIG_GENKSYMS=y and keep things as they used to be or we could add a libdw-dev dependency to the container and be more flexible. CONFIG_GENDWARFKSYMS offers a slight advantage in that it will be better if/when we start fuzzing Rust code in the kernel.
* tools/docker: add various fsck-like commands to the environmentFlorent Revest2024-11-291-0/+4
| | | | | | As part of #5518, I'm adding fsck logs as annotation to the mounted file system assets. For this, I need a variety of fsck-like commands in the ci environment as well as eventually in the production environment.
* tools/docker: add QEMU packages to ARM64 docker containerAlexander Potapenko2024-10-211-3/+7
| | | | | | | | ARM64 instances may require running QEMU, so add them to the container. Do not install packages for MIPS/PPC/s390, as we currently do not need them. Also fix a minor nit in the comment: Debian Bookworm seems to be providing QEMU 7.2, not 7.4.
* tooks/docker/syzbot: git config --system not --globalTaras Madan2024-10-181-1/+1
| | | | | | We need these changes to be available for syzkaller user. Let's make it a system wide config to also enable it for root. It'll be easier to copy-paste it later to syz-env (just in case).
* tools/docker/syzbot: add llvm-strip and llvm-readelf alternativesFlorent Revest2024-10-141-0/+2
| | | | | Some builds require these tools and update-alternatives lets us use these tools without hardcoding the LLVM version suffix.
* syz-ci: introduce gitArchive parametersTaras Madan2024-10-101-0/+7
| | | | | | | Some commits don't live long remotely. It sometimes happens we need them later to: 1. Merge coverage. 2. Mention during communication.
* tools/docker: update Go in the containersAleksandr Nogikh2024-09-101-1/+1
| | | | Use 1.22.7.
* tools/docker/syzbot: add run-syz-command.shTaras Madan2024-06-071-0/+2
| | | | | It enables us to use CloudRun. The goal is to run syzkaller tools as a gcp job.
* tools/docker/syzbot: update bazel to 7.1.2Andrei Vagin2024-05-131-1/+1
| | | | Signed-off-by: Andrei Vagin <avagin@google.com>
* pkg/symbolizer: use llvm-addr2lineDmitry Vyukov2024-04-091-0/+1
| | | | | | | | | Use llvm-addr2line instead of addr2line if it's available. llvm-addr2line seems to be way faster than llvm-addr2line and consumes less memory on syzbot's vmlinux. Also move the detection logic to sys/targets since that's where we generally do this type of logic. This also allows to reuse addr2line binary in other packages if needed.
* tools/docker/syzbot: add libbpf-dev to DockerfileKevin Krakauer2023-12-181-1/+1
| | | | | | | | | | | | | | gVisor relies on eBPF since the following 2 commits, so libbpf-dev is required when building: - https://github.com/google/gvisor/commit/2ae19ffb - https://github.com/google/gvisor/commit/f6d380ad Without this change, syzkaller can't build gVisor and gets the following error: tools/xdp/cmd/bpf/redirect_host.ebpf.c:15:10: fatal error: 'bpf/bpf_endian.h' file not found FAILED: Build did NOT complete successfully
* go: update to 1.20.11 and 1.21.4Taras Madan2023-11-281-1/+1
| | | | 1.22 release is expected in Feb 2024. We'll go 1.21 - 1.22 then.
* tools/docker: upgrade qemu binariesAleksandr Nogikh2023-10-121-6/+13
| | | | | | | qemu 7.4 (default for bookworm) is not able to boot syzbot's arm64 MTE kernels. Use qemu 8 from the backports instead.
* tools/docker: install llvm package and add some tools to pathSpace Meyer2023-08-011-1/+5
| | | | These are required for building linux with LLVM=1.
* tools/docker: update to bookworm imagesAleksandr Nogikh2023-07-111-12/+4
| | | | | | | Closes #3973. As Python 2.7 is no longer present in the packages, build it directly in Dockerfile. It's rather small and doesn't take much time.
* tools/docker: update bazel to 6.2.0Andrei Vagin2023-05-171-1/+1
| | | | | | | gVisor requires at least 5.4.0. Reported-by: syzbot+50dd4616360299e7de26@syzkaller.appspotmail.com Signed-off-by: Andrei Vagin <avagin@google.com>
* tools/docker: update git versionMarco Vanotti2023-05-041-1/+2
| | | | | | The git version used in bullseye is too old and is not compatible with Fuchsia. This change modifies the dockerfile to install git from bullseye-backports, which is more recent.
* tools/docker: use pahole v1.22 from backportsSpace Meyer2023-03-211-0/+6
|
* tools/docker: install cross tools for amd64 and arm64 (#3734)Andrei Vagin2023-03-071-1/+3
| | | | | They are required to compile gVisor. Signed-off-by: Andrei Vagin <avagin@google.com>
* tools/docker: use go1.19.6 and go1.20.1Taras Madan2023-02-241-1/+1
| | | | | env and syzbot containers will use go1.20.1 big-env and old-env containers will use go1.19.6
* tools/docker: delete clang-kmsanAlexander Potapenko2023-02-081-6/+0
| | | | We are using stock Clang to build KMSAN now
* tools/docker: switch to Clang 15Alexander Potapenko2023-02-071-11/+8
| | | | | | This is a prerequisite for building KMSAN-instrumented kernels. Now that https://github.com/google/syzkaller/pull/3649 is landed, the tests should be passing.
* Revert "tools/docker: switch to Clang 15"Alexander Potapenko2023-01-271-7/+7
| | | | | | | | The new compiler introduced some test failures, so we had to roll back the containers. Revert the patch to Docker specs, so that they reflect the actual state of the things. This reverts commit 3d904c7acdbdd69b8c6e85799af7565955025201.
* tools/docker: switch to Clang 15Alexander Potapenko2023-01-241-7/+7
| | | | This is a prerequisite for building KMSAN-instrumented kernels.
* tools/docker: adjust the syzbot dockerfile for arm64Andrei Vagin2023-01-191-12/+12
| | | | Signed-off-by: Andrei Vagin <avagin@google.com>
* tools/docker: add ld.lld to syzbotAleksandr Nogikh2022-10-201-1/+2
| | | | | Now that we have the ability to specify the linker, make it possible to choose between ld and ld.lld.
* tools/docker: create syzkaller homeDmitry Vyukov2022-09-131-1/+1
| | | | | | | | | | Fuchsia build fails inside of syzbot container b/c syzkaller user does not have home dir: $ out/x64/host_x64/fpublish --help Could not initialize SDK mkdir /home/syzkaller Create syzkaller home.
* tools/docker: add libarchive-tools to DockerfileKris Alder2022-06-291-1/+1
| | | | | The fetch_cvd tool used for fetching Cuttlefish expects /usr/bin/bsdtar to be available.
* tools/docker: update Clang for KMSANAlexander Potapenko2022-06-171-1/+1
| | | | | | Switch to the upstream Clang version 610139d2d9ce. This retires the custom -msan-pass-caller-to-runtime flag, but instead allows us to use -fsanitize-memory-param-retval on syzbot.
* tools/docker: add rsync to the syzbot dockerAleksandr Nogikh2022-06-021-1/+3
| | | | We need it to build Cuttlefish images.
* tools/docker: update Clang for KMSANAlexander Potapenko2022-05-251-1/+1
| | | | | | | Switch to a custom Clang version built from LLVM trunk 9ffb5944a699 with a patch on top of it implementing the -msan-pass-caller-to-runtime flag. This flag is needed to detect noinstr->instr transitions in the kernel. Once it is tested on syzbot, it will be added to upstream Clang.
* tools/docker: configure an alias for clang++Aleksandr Nogikh2022-04-191-0/+1
| | | | It's required by the NetBSD-KMSAN instance.
* tools/docker: use clang-13Aleksandr Nogikh2022-04-061-1/+12
|
* docker: make clang-kmsan hermeticAlexander Potapenko2022-02-111-3/+3
| | | | | The existing build lacked some headers, which prevented us from being able to configure newer kernels.
* tools/docker: download custom clang to build KMSANAlexander Potapenko2022-01-271-0/+6
| | | | | | Until KMSAN compiler API is finalized, we often need to use ToT Clang to build the kernel. Download the latest compiler build from GS, and put it under /syzkaller/clang-kmsan.
* tools/docker/syzbot: switch to Go 1.17Dmitry Vyukov2021-12-211-1/+4
| | | | | | Currently we use the default distro Go, which is 1.15 in Bullseye. Switch to 1.17 which has register-based calling convention and is significantly faster.
* tools/docker: use apt-get update --allow-releaseinfo-changeDmitry Vyukov2021-09-301-2/+2
| | | | | | | | | Without this flag I am getting: D: Repository 'http://security.debian.org/debian-security buster/updates InRelease' changed its 'Suite' value from 'stable' to 'oldstable' Error: Process completed with exit code 100.
* tools/docker/syzbot: install bazel from the official bazel repoAndrei Vagin2021-08-161-2/+9
| | | | | | | The debian repo contains an old version and it can't build gVisor: external/rules_pkg/private/pkg_files.bzl:315:12: name 'json' is not defined Signed-off-by: Andrei Vagin <avagin@google.com>
* tools/docker/syzbot: add fake GRTE pythonDmitry Vyukov2021-06-091-0/+3
| | | | | Not really GRTE, but it's enough to run some scripts that hardcode the path.
* tools/docker/syzbot: add cpioDmitry Vyukov2021-02-011-1/+1
| | | | | | It's used by kernel/gen_kheaders.sh. Update #2096
* tools/docker/syzbot: include ccacheDmitry Vyukov2021-01-291-1/+1
| | | | Update #2096
* tools/docker/syzbot: remove grub packagesDmitry Vyukov2021-01-291-3/+1
| | | | | Don't install grub packages, grub is not working inside of containers. Add psmisc for ps.