aboutsummaryrefslogtreecommitdiffstats
path: root/executor
diff options
context:
space:
mode:
authorSabyrzhan Tasbolatov <snovitoll@gmail.com>2024-08-20 12:42:25 +0500
committerAleksandr Nogikh <nogikh@google.com>2024-08-21 11:45:23 +0000
commitb840654d3ada1d4c3ade855affaa8b53cdd92346 (patch)
treeeac6c27a98b8b8dd4724a0d36507db4edeff8167 /executor
parentd504e3fd900ecc041a690a1389982c7e9c1560fd (diff)
syz-manager: sync saveRepro() and needLocalRepro()
There is a race condition of saving and accessing "repro.prog" file in processFuzzingResults() goroutine. needRepro() which is called from reproMgr.Loop() or upon <-externalReproQueue, or at the end of saveCrash() can be called before saveRepro(). Removed reproMgr.Done channel and moved to post-processing of *ReproResult to runRepro(). This should guarantee the order of RW operations on "repro.prog" file. $ stress ./syz-manager.test -test.run=TestReproRWRace 5s: 16 runs so far, 0 failures, 8 active 10s: 40 runs so far, 0 failures, 8 active 15s: 64 runs so far, 0 failures, 8 active 20s: 80 runs so far, 0 failures, 8 active 25s: 96 runs so far, 0 failures, 8 active 30s: 112 runs so far, 0 failures, 8 active 35s: 136 runs so far, 0 failures, 8 active 40s: 152 runs so far, 0 failures, 8 active 45s: 168 runs so far, 0 failures, 8 active 50s: 184 runs so far, 0 failures, 8 active 55s: 200 runs so far, 0 failures, 8 active 1m0s: 216 runs so far, 0 failures, 8 active Fixes: https://github.com/google/syzkaller/issues/5157
Diffstat (limited to 'executor')
0 files changed, 0 insertions, 0 deletions