pkg/mgrconfig, pkg/cover: introduce the android_split_build flag

Source files for Pixel devices are split between the common AOSP kernel
(path/to/kernel/aosp) and the device-specific drivers residing in a
separate dir (path/to/kernel/private/google-modules for Android 14
and path/to/kernel/gs/google-modules for older Android versions).
See https://source.android.com/docs/setup/build/building-pixel-kernels
for details.

Android build system may reference these dirs in various ways, for which
syzkaller cannot always understand where it should look for the source.

The newly introduced android_split_build flags handles the problem by adding a
list of "delimiters" used when normalizing the kernel source paths.
If the path contains any of such delimiters, then everything preceding the last
delimiter in the path is replaced with the contents of "kernel_src" from the
manager config.

By default we only support "/aosp/" and "/private/" corresponding to
modern Android systems as delimiters.
6 files changed
tree: c4f084da4a457dc9d0b2d6dc99d57f98ea3a0058
  1. .github/
  2. dashboard/
  3. docs/
  4. executor/
  5. pkg/
  6. prog/
  7. sys/
  8. syz-ci/
  9. syz-fuzzer/
  10. syz-hub/
  11. syz-manager/
  12. syz-runner/
  13. syz-verifier/
  14. tools/
  15. vendor/
  16. vm/
  17. .clang-format
  18. .gitattributes
  19. .gitignore
  20. .golangci.yml
  21. AUTHORS
  22. CODE_OF_CONDUCT.md
  23. codecov.yml
  24. CONTRIBUTORS
  25. go.mod
  26. go.sum
  27. LICENSE
  28. Makefile
  29. README.md
README.md

syzkaller - kernel fuzzer

CI Status OSS-Fuzz Go Report Card Coverage Status GoDoc License

syzkaller ([siːzˈkɔːlə]) is an unsupervised coverage-guided kernel fuzzer.
Supported OSes: Akaros, FreeBSD, Fuchsia, gVisor, Linux, NetBSD, OpenBSD, Windows.

Mailing list: syzkaller@googlegroups.com (join on web or by email).

Found bugs: Akaros, Darwin/XNU, FreeBSD, Linux, NetBSD, OpenBSD, Windows.

Documentation

Initially, syzkaller was developed with Linux kernel fuzzing in mind, but now it's being extended to support other OS kernels as well. Most of the documentation at this moment is related to the Linux kernel. For other OS kernels check: Akaros, Darwin/XNU, FreeBSD, Fuchsia, NetBSD, OpenBSD, Starnix, Windows, gVisor.

Disclaimer

This is not an official Google product.