You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
pkg/fuzzer, pkg/managerconfig, prog, syz-manager: flag to enforce syscall dependencies
Syzkaller often breaks dependencies across syscalls (e.g., due minimization, stochastic resource
generation, and mutation) when generating programs, thus failing to build fuzzing inputs that
exercise deep states in the target program.
This patch addresses this issue by adding a Boolean (called PromoteDeps), which if
set, certain measures are taken to enforce that syscall dependencies are respected in any generated
program: Mutation does not break dependencies, Resource generation is no longer stochastic, and
if a minimized program has broken dependencies, it gets discarded.
To this end, I introduced two optional fields in the config file: promote_syscalls_dependency,
and dynamic_promote_syscalls_dependency. The former flag is a boolean and when set to true will
enable the PromoteDeps flag. The latter field, contains a time expressed in minutes (e.g, 30).
Once the manager starts, it sets a timer with the value contained in this flag. Once the timer
reaches the 0, the Boolean PromoteDep is switched (i.e., if it contained false it now contains true,
and vice versa), and the timer starts again. This switch allows us to introduce more
randomness in the generated programs achieving the best of both worlds.
0 commit comments