From de2ea465e0fa9bd820feb6493445870ece9bacc5 Mon Sep 17 00:00:00 2001 From: Grigory Bazilevich Date: Mon, 29 Sep 2025 00:33:58 +0300 Subject: 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 Signed-off-by: Sergey Zotov Co-authored-by: Sergey Zotov --- pkg/manager/crash.go | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'pkg/manager') 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) } -- cgit mrf-deployment