| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
Fixes a build error for android-6.12 where llvm-link is not found.
|
| |
|
|
|
|
| |
It is required to build gvsior.
Signed-off-by: Andrei Vagin <avagin@google.com>
|
| |
|
|
|
|
|
|
|
|
| |
Debian bullseye is now oldoldstable, so update the default release to
trixie.
While we're at it, update documentation references to old Debian releases
to match.
Signed-off-by: Andrew Donnellan <ajd@linux.ibm.com>
|
| |
|
|
|
| |
Update our docker containers to Debian Trixie.
Fixes #6432
|
| |
|
|
|
|
|
| |
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.
|
| | |
|
| |
|
|
|
| |
Add the new dependencies necessary for generating RUST=y Linux configs
and for building RUST=y kernels.
|
| |
|
|
|
| |
It requires appengine dependency update to match golang versions.
gcloud-appengine-python patching is needed to fix #4785.
|
| |
|
|
|
|
|
| |
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.
|
| |
|
|
|
| |
We use the env container to update kernel configs and the lack of ld.lld
in it prevents the usage of LLVM=1.
|
| |
|
|
| |
"go mod go@1.23" updates go.mod to the latest 1.23.*.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
| |
Prevent Go from downloading all external dependencies each time syz-env
is called. It will become a problem once vendor/ is deleted.
|
| |
|
|
|
| |
DOCKER_BUILDKIT=1 ensures that the Docker builder parallelizes the build
steps (whenever it's possible).
|
| |
|
|
| |
This allows for better caching and parallelization.
|
| | |
|
| |
|
|
|
| |
It allows for better caching/parallelization.
Also, the resulting image is now ~100MB smaller.
|
| |
|
|
|
|
|
| |
This reverts commit 8c86a475f5d807fe4cf26fb366871a55402e38d6.
Apparently binfmt_misc cannot be mounted within the Docker container,
so we don't need these hooks.
|
| |
|
|
| |
This is needed to be able to run alien binaries in tests under qemu-user
|
| |
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
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).
|
| |
|
|
|
| |
Some builds require these tools and update-alternatives lets us use
these tools without hardcoding the LLVM version suffix.
|
| |
|
|
|
|
|
| |
Some commits don't live long remotely.
It sometimes happens we need them later to:
1. Merge coverage.
2. Mention during communication.
|
| |
|
|
| |
Use 1.22.7.
|
| |
|
|
|
|
|
|
|
|
| |
act(https://github.com/nektos/act) is used to build github workflow locally.
When running `act -j build` in local host, it reports:
exec failed: unable to start container process: exec: "node": executable file
not found in $PATH: unknown.
Adding nodejs package can fix the build error.
Updated docs with act usage too.
|
| |
|
|
|
| |
It enables us to use CloudRun.
The goal is to run syzkaller tools as a gcp job.
|
| |
|
|
|
|
|
|
|
| |
16.04 has extremly old gcc (5.4), which don't support C++17.
Switch to 20.04 (gcc 9).
Split apt commands to separate lines to improve docker caching,
otherwise it's takes lots of time to iterate on package set
and unclear what exact package causes problems.
|
| |
|
|
| |
Signed-off-by: Andrei Vagin <avagin@google.com>
|
| |
|
|
|
|
| |
Also update to Go1.22 while we are here.
We've bumped min Go version to 1.21 in old-env,
so we ought to test with 1.22 in other containers.
|
| |
|
|
|
|
|
|
|
|
| |
Go 1.22 is already released.
We try to support up 2 latest Go releases,
so we can switch to 1.21 for old-env.
Go 1.21 has a number of useful things like
new slices/maps/cmp/slog packages,
min/max builtin functions, PGO builds.
|
| |
|
|
|
|
|
| |
Akaros support is unused, it was shutdown on syzbot for a while,
the akaros development seems to be frozen for years as well.
We have a bunch of hacks for Akaros since it supported
only super old gcc and haven't supported Go. Remove it.
|
| |
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
1.22 release is expected in Feb 2024. We'll go 1.21 - 1.22 then.
|
| |
|
|
|
|
|
| |
qemu 7.4 (default for bookworm) is not able to boot syzbot's arm64 MTE
kernels.
Use qemu 8 from the backports instead.
|
| |
|
|
| |
These are required for building linux with LLVM=1.
|
| |
|
|
|
| |
By mistake, we're installing Go twice in this Dockerfile. Remove the
1.19 installation and only leave the 1.20 one.
|
| |
|
|
| |
Use just env instead of that.
|
| |
|
|
| |
There's not much sense to keep both.
|
| |
|
|
|
| |
As we're using a new Debian image now, there's no sense to take git from
backports. It's new enough.
|
| |
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
gVisor requires at least 5.4.0.
Reported-by: syzbot+50dd4616360299e7de26@syzkaller.appspotmail.com
Signed-off-by: Andrei Vagin <avagin@google.com>
|
| |
|
|
|
|
| |
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.
|
| | |
|
| | |
|
| |
|
|
|
| |
They are required to compile gVisor.
Signed-off-by: Andrei Vagin <avagin@google.com>
|
| |
|
|
|
| |
env and syzbot containers will use go1.20.1
big-env and old-env containers will use go1.19.6
|
| |
|
|
| |
We are using stock Clang to build KMSAN now
|
| |
|
|
|
|
| |
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.
|