aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/subsystem/linux/subsystems.go
Commit message (Collapse)AuthorAgeFilesLines
* pkg/subsystem: export debug infoAleksandr Nogikh2026-01-201-11/+15
| | | | | | | | Make it possible to print more debugging information when (re)generating a subsystem list. Include parent inference details to the source code itself and add a -debug flag to list the source files assigned to each subsystem.
* pkg/subsystem: fix dangling entries in the rules listAleksandr Nogikh2025-05-211-0/+31
| | | | | | | | | There was a mistake in the Linux subsystem generation rules that led to the exclusion of exfat-related syz_mount_image calls from the resulting subsystem descriptions. Verify the rules before applying them. Fix other problems found by the check.
* pkg/subsystem: don't Cc some parent subsystemsAleksandr Nogikh2024-05-071-0/+1
| | | | | | Our fs is more generic than it was defined in MAINTAINERS. Let's not spam its mailing lists with bugs from individual filesystem implementations.
* pkg/subsystem: move wireless under netAleksandr Nogikh2023-11-221-3/+28
| | | | It will help keep more generic reports in "net".
* pkg/subsystem: do not reuse customly grouped recordsAleksandr Nogikh2023-09-081-5/+16
| | | | | If a record was specified in a custom subsystem list, do not consider it while grouping records by mailing list.
* pkg/subsystem: optionally disable monthly reportsAleksandr Nogikh2023-04-131-0/+1
| | | | | | For some subsystems (e.g. `kernel`) such reports just don't make much sense, since there are too many incorrectly classified bugs in there. Make it possible to exclude such subsystems from periodic reminders.
* pkg/subsystem: recognize more maintainersAleksandr Nogikh2023-03-291-18/+56
| | | | | | | | | | | | | Earlier we only took maintainers if there was just one MAINTAINERS record, but that was a very severe limitation. Let's try a more elaborate approach. It's also not perfect, but allows us to extract many more maintainers, while keeping false positives at zero. Group raw MAINTAINER records by their T: entries. If there's just one set of T: values per group mailing list, take the intersection of M: entries from there.
* pkg/subsystem/linux: support custom subsystem groupingAleksandr Nogikh2023-02-231-4/+39
| | | | | | | There are cases when a subsystem doesn't have a mailing list and yet we'd prefer not to merge it with others. Let's add the ability to add custom rules that join several specified MAINTAINERS records into one Subsystem.
* pkg/subsystem: restructure the packageAleksandr Nogikh2023-02-101-10/+9
| | | | | | Remove the entity and match subpackages. Regenerate the linux.go file.
* pkg/subsystem: extract names after all preprocessingAleksandr Nogikh2023-02-101-4/+4
| | | | | | | | In the previous steps we eliminate some of the extracted subsystems. It helps to have fewer contention while assigning the names. As a result, we need to only rely on emails during parents trasnformations.
* pkg/subsystem/linux: refactor groupByList and getSubsystemsAleksandr Nogikh2023-02-101-40/+15
| | | | Simplify the code by removing the unnecessary itermediate structures.
* pkg/subsystem/linux: add a list of non-subsystem emailsAleksandr Nogikh2023-02-101-0/+7
| | | | | | Despite the automatic logic we already have, there are still a few emails that slip the check. For now let's keep them in a separate array, maybe later we'll figure out a pattern.
* pkg/subsystem: push the base subsystem listAleksandr Nogikh2023-02-101-8/+13
| | | | | This list was generated using an older version of the code. It'll serve as a baseline for further changes.
* pkg/subsystem: remove unneeded paths from matching rulesAleksandr Nogikh2023-02-101-0/+8
| | | | | We don't really care about Documentation/ and similar folders. Exclude such path matching rules after parsing MAINTAINERS.
* pkg/subsystem/linux: determine parent-child relationsAleksandr Nogikh2023-02-101-0/+9
| | | | | | | | | For that, extract a coincidence count matrix from a path coverage, then apply the following rule. Subsystem A is a child of B if both hold true: 1) More than 2/3 of paths that relate to A also relate to B. 2) B covers more directory tree entities than A.
* pkg/subsystem/linux: keep one list for list-merged groupsAleksandr Nogikh2023-02-101-8/+11
| | | | Otherwise we can get too many mailing lists at the same time.
* pkg/subsystem/linux: add custom call listsAleksandr Nogikh2023-02-101-0/+10
| | | | This information will let us extract subsystems from reproducers.
* pkg/subsystem/linux: extract names for subsystemsAleksandr Nogikh2023-02-101-0/+4
| | | | | | | | | Extract the short subsystem name from the mailing list email. Stip the common prefixes and suffixes and make sure there are no duplicates. As a fallback, assign the whole list email address as a subsystem name.
* pkg/subsystem/linux: add the basic subsystem extraction codeAleksandr Nogikh2023-02-101-0/+124