Skip to content

Conversation

@markjdb
Copy link
Contributor

@markjdb markjdb commented Feb 26, 2025

After some time, my FreeBSD fuzzing runs start to hit frequent "coverage filter is full" SYZFAILs, caused by garbage PC values. Some assertions in kcov convinced me that PC values exported by the kernel are in the expected range, so it appears that the executor is corrupting them somehow. In particular, we leave the first page of each kcov mapping writeable since the interface to clear the trace buffer involves overwriting the first quadword.

Sanitize kernel PC values so that we don't fill up the coverage filter with bogus values.

After some time, my FreeBSD fuzzing runs start to hit frequent "coverage
filter is full" SYZFAILs, caused by garbage PC values.  Some assertions
in kcov convinced me that PC values exported by the kernel are in the
expected range, so it appears that the executor is corrupting them
somehow.  In particular, we leave the first page of each kcov mapping
writeable since the interface to clear the trace buffer involves
overwriting the first quadword.

Sanitize kernel PC values so that we don't fill up the coverage filter
with bogus values.
@a-nogikh a-nogikh added this pull request to the merge queue Feb 28, 2025
Merged via the queue into google:master with commit 17d36e5 Feb 28, 2025
17 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants