| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
| |
Use the "v6.2" release.
|
| |
|
|
| |
We've put too much under the "fs" tag.
|
| |
|
|
|
|
|
| |
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.
|
| | |
|
| |
|
|
| |
Let the Service also serve the child subsystem query requests.
|
| |
|
|
| |
There were cases when subsystems did not get reasonable enough names.
|
| |
|
|
| |
Take the counts from the cache, include links to the filtered bug views.
|
| |
|
|
|
| |
This might happen if the user forgot to import pkg/subsystem/lists. Make
the problem more visible by panicking in ServiceList().
|
| |
|
|
| |
Now it's no longer needed.
|
| |
|
|
|
|
| |
After each saved crash, invoke the new pkg/subsystem machinery to infer
the subsystem list. Use 5 crashes with biggest priority to base the
inference on.
|
| |
|
|
|
|
| |
For the subsystem itself, we take both maintainers and lists. But from
all parents we only take lists, because otherwise too many unrelated
people might be notified.
|
| |
|
|
|
|
| |
Add a few more prefixes to strip. Remove dots from the resulting names.
Regenerate the list of Linux subsystems.
|
| |
|
|
| |
Add a test to verify that the function works as intended.
|
| |
|
|
|
|
| |
Remove the entity and match subpackages.
Regenerate the linux.go file.
|
| | |
|
| |
|
|
| |
This lets us reduce the amount of code in parents.go.
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
|
| |
And regenerate the Linux rules file.
|
| |
|
|
|
|
| |
linux-security-module is too long, we could use just lsm.
Also, overlayfs had a different name, therefore we cannot infer it from
the mailing list as is.
|
| |
|
|
| |
The list is based on v6.2-rc7.
|
| |
|
|
| |
Simplify the code by removing the unnecessary itermediate structures.
|
| |
|
|
|
|
| |
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.
|
| |
|
|
|
| |
This list was generated using an older version of the code. It'll serve
as a baseline for further changes.
|
| |
|
|
|
| |
Instead of just assigning parents, also remove small and highly
overlapping subsystems.
|
| |
|
|
|
| |
We don't really care about Documentation/ and similar folders. Exclude
such path matching rules after parsing MAINTAINERS.
|
| |
|
|
|
|
|
|
| |
For now, let's use a straightforward approach:
1) Extract all subsystems for each guilty path and syz reproducer.
2) If there are both parents and children in the list, remove parents.
3) Count the remaining subsystems.
4) Pick the ones that appear most often.
|
| |
|
|
|
|
| |
Users of the pkg/subsystem are only interested in
1) Fetching the list of subsystems for a given OS.
2) Matching a crash against the extracted set of subsystems.
|
| |
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
| |
Otherwise we can get too many mailing lists at the same time.
|
| |
|
|
|
|
|
| |
We'll need it for determining overlapping subsystems and for the
inferece of parent-child relationships.
Add the code to calculate a coincidence matrix from a filesystem.
|
| |
|
|
|
| |
Now that we have subsystem names, it's easy to test whether syzkaller
extract and groups the path matching rules correctly.
|
| |
|
|
| |
This information will let us extract subsystems from reproducers.
|
| |
|
|
|
|
|
|
|
| |
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.
|
| | |
|
| |
|
|
| |
Take care of the corner cases and add extensive tests.
|
| |
|
|
|
| |
Additionally, optimize the matching by joining the rules without
exclusion (that is, almost all MAINTAINER records).
|
| | |
|
| |
|
|
| |
It will help gradually switch to the new code, once it's fully ready.
|
| | |
|
| |
|
|
|
| |
As we can easily do the subsystem <-> path mapping, let's also use it
for determining the actual involved filesystem.
|
| |
|
|
| |
This will help route filesystem bugs to the right people.
|
| |
|
|
|
| |
Dump the mapping between the currently available pseudo syscalls and the
corresponding subsystems.
|
| |
|
|
|
|
|
| |
Invoke the extractor code at pkg/subsystem and store the result into the
Bug entity.
Augment the Maintainers content by per-subsystem emails.
|
|
|
For now, recognize just the vfs subsystem and support per-repro-call
subsystem inference.
|