diff options
| author | Mark Johnston <markj@FreeBSD.org> | 2025-02-18 15:12:31 +0000 |
|---|---|---|
| committer | Aleksandr Nogikh <nogikh@google.com> | 2025-02-21 17:21:17 +0000 |
| commit | d34966d146f584d390b49f213d1fccd59548dc6d (patch) | |
| tree | d400f6becc0b35195e23fccc7d87077b3eaaa4f9 /syz-cluster/README.md | |
| parent | 0808a665bc75ab0845906bfeca0d12fb520ae6eb (diff) | |
executor: fix cover_protect() on FreeBSD
During machine checks, syzkaller will execute calls with coverage
disabled, in which case per-thread coverage structures are zeroed out.
write_output() will temporarily map the coverage data as writeable via
CoverAccessScope, whether or not cover is enabled. In effect,
write_output() may trigger a call mprotect(0, kCoverSize, PROT_RW).
On FreeBSD, mprotect() silently ignores unmapped regions, so this does
not result in an error. In fact, kCoverSize is now large enough that
this ends up removing the eXecute bit from part of syz-executor's text
region.
Make CoverAccessScope a no-op if coverage is not enabled. Modify BSD
cover_protect() and cover_unprotect() to fail if invoked when coverage
is disabled.
Diffstat (limited to 'syz-cluster/README.md')
0 files changed, 0 insertions, 0 deletions
