diff options
| author | Aleksandr Nogikh <nogikh@google.com> | 2023-02-10 10:29:00 +0100 |
|---|---|---|
| committer | Aleksandr Nogikh <wp32pw@gmail.com> | 2023-02-10 14:34:44 +0100 |
| commit | 6ee7748e05514798abe915b44aeb610c0f2c5ab3 (patch) | |
| tree | d74229598d172d53c24b5db6782895cda42066b7 /pkg/subsystem/linux | |
| parent | 05159069c8cfa11417fa084a42c95716952146d4 (diff) | |
pkg/subsystem: push the base subsystem list
This list was generated using an older version of the code. It'll serve
as a baseline for further changes.
Diffstat (limited to 'pkg/subsystem/linux')
| -rw-r--r-- | pkg/subsystem/linux/subsystems.go | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/pkg/subsystem/linux/subsystems.go b/pkg/subsystem/linux/subsystems.go index 43fea3b9e..49266a4a5 100644 --- a/pkg/subsystem/linux/subsystems.go +++ b/pkg/subsystem/linux/subsystems.go @@ -35,6 +35,15 @@ func listFromRepoInner(root fs.FS, rules *customRules) ([]*entity.Subsystem, err if err != nil { return nil, err } + matrix, err := match.BuildCoincidenceMatrix(root, list, dropPatterns) + if err != nil { + return nil, err + } + list, err = parentTransformations(matrix, list) + if err != nil { + return nil, err + } + // Sort subsystems by name to keep output consistent. sort.Slice(list, func(i, j int) bool { return list[i].Name < list[j].Name }) // Sort path rules to keep output consistent. @@ -89,20 +98,16 @@ func (ctx *linuxCtx) getSubsystems() ([]*entity.Subsystem, error) { for _, raw := range ctx.groupByList() { s := &entity.Subsystem{} raw.mergeRawRecords(s) + // Skip empty subsystems. + if len(s.Syscalls)+len(s.PathRules) == 0 { + continue + } ret = append(ret, s) } if err := setSubsystemNames(ret); err != nil { return nil, fmt.Errorf("failed to set names: %w", err) } ctx.applyExtraRules(ret) - matrix, err := match.BuildCoincidenceMatrix(ctx.root, ret, nil) - if err != nil { - return nil, err - } - err = SetParents(matrix, ret) - if err != nil { - return nil, err - } return ret, nil } |
