Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

pkg/fuzzer/throttler: avoid repetitive crashes #4914

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

a-nogikh
Copy link
Collaborator

@a-nogikh a-nogikh commented Jun 20, 2024

Yet another attempt to address the problem.

The changes may conflict with #4905 a bit, but the changes to the conflicting files here are actually minimal possible, so we should be able to easily rebase these PRs either way.

TODO:

  • Finish debugging.
  • Integrate with the syz-manager web UI.

Track the crash rate for the individual syscalls and rate limit the execution of those which happen too often.

For determining the most unsafe syscalls, let's keep a sliding window of the last executed progs on every instance.

  • If a program has been evicted from the sliding window, it's safe enough.
  • If an instance crashed, all programs in the window are under suspicion.

For preventing the execution of banned syscalls, let's add a special (skip) call parameter that is understood by the executor.

The parameter is not supposed to leak into the corpus, so add appropriate assertions.

@a-nogikh a-nogikh force-pushed the features/throttle-crashes branch 6 times, most recently from 00e187b to b8e73f3 Compare June 21, 2024 16:02
Track the crash rate for the individual syscalls and rate limit the
execution of those which happen too often.

For determining the most unsafe syscalls, let's keep a sliding window of
the last executed progs on every instance.
* If a program has been evicted from the sliding window, it's safe
  enough.
* If an instance crashed, all programs in the window are under
  suspicion.

For preventing the execution of banned syscalls, let's add a special
(skip) call parameter that is understood by the executor.

The parameter is not supposed to leak into the corpus, so add
appropriate assertions.
@dvyukov dvyukov changed the title WIP: pkg/fuzzer/throttler: avoid repetitive crashes pkg/fuzzer/throttler: avoid repetitive crashes Jun 21, 2024
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.

None yet

1 participant