aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/manager
diff options
context:
space:
mode:
authorGrigory Bazilevich <g.bazilevich@ispras.ru>2025-09-29 00:33:58 +0300
committerGrigory Bazilevich <g.bazilevich@ispras.ru>2026-03-12 12:15:10 +0300
commitde2ea465e0fa9bd820feb6493445870ece9bacc5 (patch)
tree4abc7d0da515f6a75f005c923b805e50cbe2311f /pkg/manager
parent2d88ab014d9ef9a6133ad5a5851bb4fd42959ad3 (diff)
syz-manager: always save crashes and repros locally
Save crashes and repros with corresponding kernel and syzkaller configs locally in syz-manager even when they are published to syz-dashboard, to be able to share the crashes with Linux Verification Center (linuxtesting.org). Signed-off-by: Grigory Bazilevich <g.bazilevich@ispras.ru> Signed-off-by: Sergey Zotov <svzotov@ispras.ru> Co-authored-by: Sergey Zotov <svzotov@ispras.ru>
Diffstat (limited to 'pkg/manager')
-rw-r--r--pkg/manager/crash.go10
1 files changed, 10 insertions, 0 deletions
diff --git a/pkg/manager/crash.go b/pkg/manager/crash.go
index 6d0858837..cbc49580e 100644
--- a/pkg/manager/crash.go
+++ b/pkg/manager/crash.go
@@ -23,6 +23,7 @@ import (
type CrashStore struct {
Tag string
+ Ctag []byte
BaseDir string
MaxCrashLogs int
MaxReproLogs int
@@ -35,8 +36,14 @@ const straceFileName = "strace.log"
const MaxReproAttempts = 3
func NewCrashStore(cfg *mgrconfig.Config) *CrashStore {
+ ctag := "syzkaller-" + cfg.CtagSyzkaller
+ if cfg.CtagKernel != "" {
+ ctag = ctag + "\nlinux-" + cfg.CtagKernel
+ }
+
return &CrashStore{
Tag: cfg.Tag,
+ Ctag: []byte(ctag),
BaseDir: cfg.Workdir,
MaxCrashLogs: cfg.MaxCrashLogs,
MaxReproLogs: MaxReproAttempts,
@@ -91,6 +98,9 @@ func (cs *CrashStore) SaveCrash(crash *Crash) (bool, error) {
writeOrRemove("tag", []byte(cs.Tag))
writeOrRemove("report", report.MergeReportBytes(reps))
writeOrRemove("machineInfo", crash.MachineInfo)
+ writeOrRemove("time", []byte(time.Now().Format("01-02-2006 15:04:05")))
+ writeOrRemove("ctag", cs.Ctag)
+
if err := report.AddTitleStat(filepath.Join(dir, "title-stat"), reps); err != nil {
return false, fmt.Errorf("report.AddTitleStat: %w", err)
}