@@ -139,8 +139,8 @@ func (vrf *Verifier) RunVerifierFuzzer(ctx context.Context) error {
139139 for idx , kernel := range vrf .kernels {
140140 if idx == 0 {
141141 if kernel .cfg .HTTP != "" {
142- // Initialize HTTP server with the first kernel's configuration
143- // Aggregate information from all kernels
142+ // Initialize HTTP server with the first kernel's configuration.
143+ // Currently, only kernel 0's data is used for coverage display and fuzzer state.
144144 vrf .http = & manager.HTTPServer {
145145 Cfg : kernel .cfg ,
146146 StartTime : time .Now (),
@@ -189,6 +189,8 @@ func (vrf *Verifier) loadCorpus(enabledSyscalls map[*prog.Syscall]bool) []fuzzer
189189 return ret .Candidates
190190}
191191
192+ // corpusMinimization runs in a background goroutine (started in fuzzingLoop)
193+ // and periodically minimizes the corpus every minute.
192194func (vrf * Verifier ) corpusMinimization () {
193195 for range time .NewTicker (time .Minute ).C {
194196 vrf .mu .Lock ()
@@ -197,6 +199,9 @@ func (vrf *Verifier) corpusMinimization() {
197199 }
198200}
199201
202+ // minimizeCorpusLocked removes redundant programs from the corpus while preserving
203+ // all discovered coverage. Programs whose coverage is entirely contained in other
204+ // programs are removed to keep the corpus lean and efficient.
200205func (vrf * Verifier ) minimizeCorpusLocked () {
201206 cm := & manager.CorpusMinimizer {
202207 Corpus : vrf .corpus ,
@@ -475,12 +480,6 @@ func (vrf *Verifier) fuzzingLoop(ctx context.Context) {
475480 call0 := responses [0 ].Info .Calls [callIdx ]
476481 call1 := res .Info .Calls [callIdx ]
477482
478- // Skip comparison if either call wasn't actually executed
479- // Errno >= 512 indicates execution failure (not real kernel errno)
480- if call0 .Error >= 512 || call1 .Error >= 512 {
481- continue
482- }
483-
484483 // Only report if errno differs between successfully executed calls
485484 if call0 .Error != call1 .Error {
486485 hasMismatch = true
0 commit comments