diff options
| author | Taras Madan <tarasmadan@google.com> | 2025-07-03 12:03:34 +0200 |
|---|---|---|
| committer | Taras Madan <tarasmadan@google.com> | 2025-07-03 10:28:37 +0000 |
| commit | a55c0058ebb614a710cb236c1b47f30aeb88ab12 (patch) | |
| tree | 8b81f4c32cdb5d7951296fb1b10c78ce3760dc14 /pkg | |
| parent | 39f27708bb399ebd3ba5d8c9558d4bc4bfdcf7a0 (diff) | |
pkg/report: split crash.KMSAN
Diffstat (limited to 'pkg')
| -rw-r--r-- | pkg/report/crash/types.go | 8 | ||||
| -rw-r--r-- | pkg/report/title_to_type.go | 26 |
2 files changed, 30 insertions, 4 deletions
diff --git a/pkg/report/crash/types.go b/pkg/report/crash/types.go index 161950415..cae824161 100644 --- a/pkg/report/crash/types.go +++ b/pkg/report/crash/types.go @@ -23,7 +23,10 @@ const ( KCSAN = Type("KCSAN") KCSANDataRace = Type("DATARACE") KFENCE = Type("KFENCE") - KMSAN = Type("KMSAN") + KMSANInfoLeak = Type("KMSAN-INFO-LEAK") + KMSANUninitValue = Type("KMSAN-UNINIT-VALUE") + KMSANUnknown = Type("KMSAN-UNKNOWN") + KMSANUseAfterFreeRead = Type("KMSAN-USE-AFTER-FREE-READ") LockdepBug = Type("LOCKDEP") MemoryLeak = Type("LEAK") MemorySafetyBUG = Type("MEMORY_SAFETY_BUG") @@ -52,7 +55,8 @@ func (t Type) IsKASAN() bool { } func (t Type) IsKMSAN() bool { - return t == KMSAN + return slices.Contains([]Type{ + KMSANUninitValue, KMSANInfoLeak, KMSANUseAfterFreeRead, KMSANUnknown}, t) } func (t Type) IsKCSAN() bool { diff --git a/pkg/report/title_to_type.go b/pkg/report/title_to_type.go index 5dc332cd2..fc87e4069 100644 --- a/pkg/report/title_to_type.go +++ b/pkg/report/title_to_type.go @@ -13,6 +13,29 @@ var titleToType = []struct { }{ { includePrefixes: []string{ + "KMSAN: uninit-value", + }, + crashType: crash.KMSANUninitValue, + }, + { + includePrefixes: []string{ + // keep-sorted start + "KMSAN: kernel-infoleak-after-free", + "KMSAN: kernel-usb-infoleak-after-free", + "KMSAN: use-after-free", + // keep-sorted end + }, + crashType: crash.KMSANUseAfterFreeRead, + }, + { + includePrefixes: []string{ + "KMSAN: kernel-infoleak", + "KMSAN: kernel-usb-infoleak", + }, + crashType: crash.KMSANInfoLeak, + }, + { + includePrefixes: []string{ // keep-sorting start "KASAN: global-out-of-bounds Write", "KASAN: null-ptr-deref Write", @@ -52,7 +75,6 @@ var titleToType = []struct { }, crashType: crash.KASANInvalidFree, }, - { includePrefixes: []string{ "KASAN: slab-use-after-free Read", @@ -222,7 +244,7 @@ var titleToType = []struct { }, { includePrefixes: []string{"KMSAN: "}, - crashType: crash.KMSAN, + crashType: crash.KMSANUnknown, }, { includePrefixes: []string{"UBSAN: "}, |
