executor: prevent non-null expected warnings

The added test triggers warnings like these:

<stdin>: In function ‘syz_mount_image.constprop’:
<stdin>:298:3: error: argument 1 null where non-null expected [-Werror=nonnull]
In file included from <stdin>:26:0:
/usr/include/x86_64-linux-gnu/sys/stat.h:320:12: note: in a call to function ‘mkdir’ declared here
 extern int mkdir (const char *__path, __mode_t __mode)
            ^~~~~
cc1: all warnings being treated as errors

<stdin>: In function ‘syz_open_procfs.constprop’:
<stdin>:530:41: error: ‘%s’ directive argument is null [-Werror=format-truncation=]
<stdin>:85:110: note: in definition of macro ‘NONFAILING’
<stdin>:532:41: error: ‘%s’ directive argument is null [-Werror=format-truncation=]
<stdin>:85:110: note: in definition of macro ‘NONFAILING’
<stdin>:534:41: error: ‘%s’ directive argument is null [-Werror=format-truncation=]
<stdin>:85:110: note: in definition of macro ‘NONFAILING’

Use volatile for all arguments of syz_ functions to prevent
compiler from treating the arguments as constants in reproducers.

Popped up during bisection that used a repro that previously worked.
Update #501
9 files changed
tree: 9dee8506297bc249f11073feebfad12b2e0f2fea
  1. dashboard/
  2. docs/
  3. executor/
  4. Godeps/
  5. pkg/
  6. prog/
  7. sys/
  8. syz-ci/
  9. syz-fuzzer/
  10. syz-hub/
  11. syz-manager/
  12. tools/
  13. vendor/
  14. vm/
  15. .clang-format
  16. .gitignore
  17. .gometalinter.json
  18. .travis.yml
  19. AUTHORS
  20. CODE_OF_CONDUCT.md
  21. CONTRIBUTORS
  22. fuzz.yaml
  23. LICENSE
  24. Makefile
  25. README.md
README.md

syzkaller - kernel fuzzer

Build Status Go Report Card Coverage Status GoDoc License

syzkaller 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, Windows, gVisor.

External Articles

Disclaimer

This is not an official Google product.