aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/repro/strace.go
Commit message (Collapse)AuthorAgeFilesLines
* vm/dispatcher: make pool.Run cancellableAleksandr Nogikh2025-04-231-2/+4
| | | | | | | | | | Make the pool.Run() function take a context.Context to be able to abort the callback passed to it or abort its scheduling if it's not yet running. Otherwise, if the callback is not yet started and the pool's Loop is aborted, we risk waiting for pool.Run() forever. It prevents the normal shutdown of repro.Run() and, consequently, the DiffFuzzer functionality.
* pkg/repro: accept a cancellable contextAleksandr Nogikh2024-11-131-3/+8
| | | | | | | | | | Refactor pkg/repro to accept a context.Context object. This will make it look more similar to other package interfaces and will eventually let us abort currently running repro jobs without having to shut down the whole application. Simplify the code by factoring out the parameters common both to RunSyzRepro() and RunCRepro().
* pkg/manager: set more http fields before calling ServeDmitry Vyukov2024-11-071-2/+1
| | | | | | | | | Pools and ReproLoop and always created on start, so there is no need to support lazy set for them. It only complicates code and makes it harder to reason about. Also introduce vm.Dispatcher as an alias to dispatcher.Pool, as it's the only specialization we use in the project.
* all: transition to instance.PoolAleksandr Nogikh2024-07-111-20/+27
| | | | | Rely on instance.Pool to perform fuzzing and do bug reproductions. Extract the reproduction queue logic to separate testable class.
* pkg/instance: use execprog to do basic instance testingDmitry Vyukov2024-05-271-1/+2
| | | | | | | | | | | When we accept new kernels for fuzzing we need more extensive testing, but syz-ci switched to using syz-manager for this purpose. Now instance testing is used only for bisection and patch testing, which does not need such extensive image testing (it may even harm). So just run a simple program as a testing. It also uses the same features as the target reproducer, so e.g. if the reproducer does not use wifi, we won't test it, which reduces changes of unrelated kernel bugs.
* vm: combine Run and MonitorExecutionDmitry Vyukov2024-04-111-1/+1
| | | | | | All callers of Run always call MonitorExecution right after it. Combine these 2 methods. This allows to hide some implementation details and simplify users of vm package.
* all: use special placeholder for errorsTaras Madan2023-07-241-2/+2
|
* all: run strace on each found reproducerAleksandr Nogikh2022-04-291-0/+67
If `strace_bin` is specified, syzkaller will invoke a reproducer with it and save the output. This should help in debugging. If syz-manager is attached to a dashboard, upload the strace-powered output and report.