| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| |
|
|
|
|
|
|
|
|
| |
The egrep command has been deprecated in GNU Grep since 2007, and nowadays
using egrep rather than grep -E will print a warning to the user, which is
very annoying.
Replace all usages of egrep with grep -E.
Signed-off-by: Andrew Donnellan <ajd@linux.ibm.com>
|
| |
|
|
|
|
|
| |
Some debug features, like dynamic mutex cycle
detection, are no longer included by the default
build config. Add the --debug flag to fx set in
order to turn these features back on.
|
| |
|
|
|
|
|
| |
Fuchsia product bundles have switched to including only sparse fxfs images,
and the --image-type flag value that we were previously passing to
ffx product get-image-path is now obsolete. Replaced with the name of the
new option referring to the sparse image.
|
| |
|
|
| |
Signed-off-by: Andrei Vagin <avagin@google.com>
|
| |
|
|
| |
Add a rust error regexp and a test to verify the resulting report.
|
| |
|
|
|
| |
This was recently enabled by default and depends on external tools not
present on the syzkaller instances.
|
| |
|
|
|
| |
After this change it fits more naturally into the Go's error
functionality.
|
| |
|
|
|
|
|
|
|
|
| |
Enable external abortion of the instance creation process. This is
especially useful for the qemu case where we retry the creation/boot up
to 1000 times, which can take significant time (e.g. it timeouts
syz-cluster pods on unstable kernels).
The context can be further propagated to WaitForSSH, but that requires
another quite significant vm/ refactoring.
|
| |
|
|
|
|
|
|
|
| |
When determining whether a patch series is worth fuzzing, consider not
only the hashes of .text symbols, but also the hashes of the global
(static and non-static) variables.
As before, calculate the hashes during build and process them at the
beginning of the fuzz step.
|
| | |
|
| |
|
|
|
|
|
| |
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.
|
| |
|
|
|
| |
When set as env variables, these don't seem to have any effect, but
start to work as indended when passed as explicit make arguments.
|
| |
|
|
|
|
|
|
|
| |
Hash the code section of the individual symbols from vmlinux.o and use
it to determine the functions that changed their bodies between the base
and the patched build.
If the number of affected symbols is reasonable (<5%), fuzz it with the
highest priority.
|
| |
|
|
| |
Update #2297
|
| |
|
|
| |
./tools/syz-env bin/golangci-lint run ./... --fix
|
| |
|
|
|
| |
This enables BBLog for all TCP endpoints using the CONTINUAL mode.
This stores the most recent events at each TCP endpoint.
|
| |
|
|
| |
It allows to use context as a single termination signal source.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This is the standard way now.
Since our configuration permits multiple parameter value combinations,
explicitly check for the compiler and linker that were to be passed via
CC and LD, and replace that with LLVM=1 if they were clang and ld.lld
correspondingly.
Update syz-kconf to rely on pkg/build's exported functionality for
generating Linux kernel build arguments.
|
| | |
|
| |
|
|
| |
Record the logs from the build and fuzzing steps.
|
| |
|
|
|
|
|
|
| |
filepath.Walk calls os.Lstat for every file or directory to retrieve os.FileInfo.
filepath.WalkDir avoids unnecessary system calls since it provides a fs.DirEntry,
which includes file type information without requiring a stat call.
This improves performance by reducing redundant system calls.
|
| | |
|
| | |
|
| |
|
|
| |
Co-authored-by: eep@google.com
|
| |
|
|
|
|
| |
Now that clean functions take a params, like builds, it makes sense to
use the BuildCPUs parameter rather than let each OS build implementation
extract the number of CPUs.
|
| |
|
|
|
|
|
|
|
|
| |
When refactoring the Clean() function to share more code with Image(),
there is logic I forgot to replicate, like setting a default number of
CPUs to build/clean with. I imagine that not setting the default tracer
could end up being a subtle issue in the future too.
To avoid missing these cases in the future, refactor the parameters
sanitization into a helper function called by both.
|
| |
|
|
|
|
| |
This unifies the build() and clean() interfaces such that if a custom
compiler or make binary is provided in the manager or bisection config,
they can be taken into account by the clean() interface.
|
| |
|
|
|
|
| |
Certain environments might need a specific make command or wrap make
calls with extra logic. This lets users provide a path to a custom make
binary.
|
| |
|
|
|
|
|
| |
Handle SIGKILL (exit code = 137) on osutil.Run() during Linux kernel image
building and return build.InfraError without reporting.
Fixes: https://github.com/google/syzkaller/issues/5317
|
| |
|
|
| |
Add calls to Close() from all locations that call Create().
|
| |
|
|
|
| |
Copy Cuttlefish module objects to be used
in coverage report generation.
|
| |
|
|
| |
The latter is a better suitable name.
|
| |
|
|
|
| |
This parameter defines the number of cores dedicated to the kernel build
process. By default, it's equal to the number of available CPUs.
|
| |
|
|
| |
Signed-off-by: Richard Smith <happyercat@gmail.com>
|
| |
|
|
|
| |
Lint started warning about duplicate "gvisor" const in pkg/cover.
Add gvisor/starnix consts to sys/targets package to avoid duplication.
|
| | |
|
| |
|
|
|
| |
Fix checking of Logf, it has string in 0-th arg.
Add checking of t.Errorf/Fatalf.
|
| |
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
All callers of Run always call MonitorExecution right after it.
Combine these 2 methods. This allows to hide some implementation
details and simplify users of vm package.
|
| |
|
|
| |
We used to do that before, but somehow we now pass the -enable-kvm flag.
|
| |
|
|
|
|
|
|
|
| |
Supporting configs from syz-kconf has increased complexity in
reproducing builds, and not caused any quantifiable increase in
fuzzing efficacy or crashes.
Reverting the Cuttlefish build to use upstream build commands
to increase ease in reproduction.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
More recent Android kernels may not use the DEFCONFIG_FRAGMENT and
BUILD_TARGET environment variables. Instead, they may require passing
additional flags the build script.
This allows specifying those additional flags and makes the
previously-required (and no longer used) configuration fields optional.
The older values can now be set via the new EnvVars field when needed.
We also need to look for the `autoconf.h` file in a different location.
This can now be configured using the `autoconf_path` configuration
field.
|
| |
|
|
|
| |
Copy unstripped module files in the output directory to be stored
in the object dir, to be used when generating module coverage.
|
| |
|
|
| |
vm now expects SysTarget to be present.
|
| |
|
|
|
|
|
|
| |
It's prohibited by the Go testing library. Use T.Error() instead.
Cc #4315
Reported-by: Andrew Donnellan
|
| |
|
|
| |
It contributes to #4317 unblocking.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
Sometimes it can take a while for a root block device to appear when
backed by hardware that is slow to initialise, e.g. the ibmvfc Virtual
Fibre Channel interface.
Use the "rootwait" option to have the kernel wait for a disk to appear
rather than panicking immediately.
Signed-off-by: Andrew Donnellan <ajd@linux.ibm.com>
|