aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/report
diff options
context:
space:
mode:
authorTaras Madan <tarasmadan@google.com>2025-07-03 12:03:34 +0200
committerTaras Madan <tarasmadan@google.com>2025-07-03 10:28:37 +0000
commita55c0058ebb614a710cb236c1b47f30aeb88ab12 (patch)
tree8b81f4c32cdb5d7951296fb1b10c78ce3760dc14 /pkg/report
parent39f27708bb399ebd3ba5d8c9558d4bc4bfdcf7a0 (diff)
pkg/report: split crash.KMSAN
Diffstat (limited to 'pkg/report')
-rw-r--r--pkg/report/crash/types.go8
-rw-r--r--pkg/report/title_to_type.go26
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: "},