aboutsummaryrefslogtreecommitdiffstats
path: root/syz-cluster/pkg/controller
Commit message (Collapse)AuthorAgeFilesLines
* syz-cluster: only retest findings with reproducersAleksandr Nogikh2026-03-041-0/+8
| | | | | There are findings without one (e.g. build errors), and it makes no sense to rerun them.
* syz-cluster: deduplicate findings during reportingAleksandr Nogikh2026-03-041-3/+3
| | | | | | | | Now that the same bug could be found on in multiple session tests (e.g. during fuzzing and during repro retesting), ensure that we do not report it twice. Add a test and fix the logic.
* syz-cluster: introduce test stepsAleksandr Nogikh2026-03-042-12/+73
| | | | | | | | Test steps constitute sub-steps of a particular test step. These will be used for pesisting the information about the reproducers that are rerun on newer patch series and about individual kernel tests (if/when we add integrate it will kunit/kselftests/other testing utilities).
* syz-cluster: add ListPreviousFindings APIAleksandr Nogikh2026-03-042-0/+121
| | | | | The API call returns an aggregated list of findings in all previous versions of the specified patch series.
* syz-cluster: add GetFinding APIAleksandr Nogikh2026-03-042-0/+53
| | | | | The API method can be used to query more details about a finding by its UUID.
* syz-cluster/pkg/api: rename TestResult to SessionTestAleksandr Nogikh2026-02-233-4/+4
| | | | This change will reduce confusion when we add nested tests.
* syz-cluster: rename NewFinding to RawFindingAleksandr Nogikh2026-02-203-8/+8
| | | | This will simplify further changes.
* all: use any instead of interface{}Dmitry Vyukov2025-12-221-5/+5
| | | | Any is the preferred over interface{} now in Go.
* syz-cluster: support multiple campaigns per fuzz targetAleksandr Nogikh2025-10-071-1/+1
| | | | | | | | During triage, process each fuzzing campaign separately as they may have different base kernel revisions (e.g. if the newest revisions of the kernel no longer build/boot under the specific kernel configuration). Refactor the representation of the fuzzing targets in api.go.
* syz-cluster: collect information about base crashesAleksandr Nogikh2025-08-212-10/+83
| | | | Track base crashes for (commit hash, config, arch) tuples.
* syz-cluster: split tree and fuzz config selectionAleksandr Nogikh2025-07-311-1/+2
| | | | | | | | Not always are fuzzing targets well represented by their own kernel trees, so let's select a kernel tree and a fuzzing config separately. Drop explicit priorities and instead just sort the lists of trees and configs.
* syz-cluster: allow finding resubmissionAleksandr Nogikh2025-07-291-2/+39
| | | | | | | | | | Permit the following scenario: a finding is first submitted without a C reproducer and then resubmitted again, now with one. Ensure that it's only possible as long as the session is still in progress. Refactor Finding repository and service and adjust the tests.
* syz-cluster: always upload triage logsAleksandr Nogikh2025-07-281-4/+4
| | | | | | | | We used to only upload them on triage failure, but let's improve the inspectability even for successfully finished triage jobs. Slightly refactor the controller API around the triage result submission.
* syz-cluster: remember LKML series tagsAleksandr Nogikh2025-07-221-2/+4
| | | | | Sometimes the patch series directly hint at the kernel tree they should be applied to. Extract and remember this information.
* syz-cluster: keep only one Cc list in SessionReportAleksandr Nogikh2025-07-171-3/+5
| | | | | | | | | Currently, the list was both within the Series object and within the SessionReport object that also encloses Series. And, since only was was actually filled, we were unable to actually Cc the people from the series. Keep only the Cc list in the Series object and adjust the tests.
* syz-cluster: remember and share kernel tree URLsAleksandr Nogikh2025-07-172-7/+7
| | | | | | | | Share not just the tree name (mainline, net, etc), but also the full URL to check out the repository. For that, add one more field to the Build entity and adjust email reporting templates.
* syz-cluster: upload and share build config and logAleksandr Nogikh2025-07-141-3/+16
|
* syz-cluster: generate web dashboard URLs for reportsAleksandr Nogikh2025-07-142-17/+29
| | | | | Take web dashboard URL from the config and use it to generate links for logs, reproducers, etc.
* syz-cluster: make reports more detailedAleksandr Nogikh2025-07-141-5/+8
| | | | | | | Fill in build details per each finding and display that information in the report email. Extend the test that verifies how api.SessionReport is filled.
* syz-cluster: save and display reproducers for findingsAleksandr Nogikh2025-06-231-4/+7
|
* syz-cluster/pkg: refactor testsAleksandr Nogikh2025-05-091-1/+69
| | | | | | | Move more API-related helpers to the controller package to reduce code duplication in tests. Enable other packages to use pkg/reporter in their tests.
* syz-cluster: provide API for uploading artifacts archiveAleksandr Nogikh2025-04-112-0/+50
| | | | | | | | | | | The archive would be a useful source of debugging information. Provide an HTTP endpoint that accepts a multipart form request with the archived data. Provide an *api.Client method to encapsulate the encoding of the data. Add a test.
* syz-cluster: build latest revisions of base kernelsAleksandr Nogikh2025-02-182-1/+9
| | | | | | Once a new kernel revision becomes available, build it to figure out whether it's buildable. This information will be used in the triage step to figure out the right base kernel revision.
* syz-cluster/pkg/controller: sort the handlersAleksandr Nogikh2025-02-141-5/+5
|
* syz-cluster: report session resultsAleksandr Nogikh2025-02-142-43/+14
| | | | | | | | | | | | Provide an API to set up the reporting of finished sessions for which syz-cluster collected reportable findings. The actual sending of the results is to be done in a separate component that would: 1) Call Next() to get the next report to send. 2) Call Confirm() to confirm that the report has been sent. 3) Call Upstream() if the report has been moderated and needs to be sent to e.g. public mailing lists.
* syz-cluster/controller: move the API server to pkg/controllerAleksandr Nogikh2025-02-143-0/+349
This will facilitate its reuse in tests.