aboutsummaryrefslogtreecommitdiffstats
path: root/tools/syz-query-subsystems/query_subsystems.go
diff options
context:
space:
mode:
authorAleksandr Nogikh <nogikh@google.com>2023-02-06 17:32:06 +0100
committerAleksandr Nogikh <wp32pw@gmail.com>2023-02-10 14:34:44 +0100
commit2c11641f1503869bc85a9560d94f8187f9665c92 (patch)
tree7abe8085c2b04b6a9661da5cd757526dcf1d10b9 /tools/syz-query-subsystems/query_subsystems.go
parent6ee7748e05514798abe915b44aeb610c0f2c5ab3 (diff)
tools/syz-query-subsystems: record the HEAD commit info
This will make the auto generated file diffs a bit more informative.
Diffstat (limited to 'tools/syz-query-subsystems/query_subsystems.go')
-rw-r--r--tools/syz-query-subsystems/query_subsystems.go18
1 files changed, 17 insertions, 1 deletions
diff --git a/tools/syz-query-subsystems/query_subsystems.go b/tools/syz-query-subsystems/query_subsystems.go
index 12431d831..54ef93d35 100644
--- a/tools/syz-query-subsystems/query_subsystems.go
+++ b/tools/syz-query-subsystems/query_subsystems.go
@@ -9,6 +9,7 @@ package main
import (
"flag"
+ "fmt"
"path/filepath"
"regexp"
"strings"
@@ -16,6 +17,7 @@ import (
"github.com/google/syzkaller/pkg/osutil"
"github.com/google/syzkaller/pkg/subsystem/linux"
"github.com/google/syzkaller/pkg/tool"
+ "github.com/google/syzkaller/pkg/vcs"
)
var (
@@ -52,7 +54,8 @@ func main() {
if err = osutil.MkdirAll(folder); err != nil {
tool.Failf("failed to create %s: %v", folder, err)
}
- code, err := generateSubsystemsFile(*flagName, list)
+ commitInfo := determineCommitInfo(*flagKernelRepo)
+ code, err := generateSubsystemsFile(*flagName, list, commitInfo)
if err != nil {
tool.Failf("failed to generate code: %s", err)
}
@@ -61,3 +64,16 @@ func main() {
tool.Failf("failed to save the code: %s", err)
}
}
+
+func determineCommitInfo(dir string) string {
+ // Best effort only.
+ repo, err := vcs.NewRepo(*flagOS, "", dir, vcs.OptPrecious, vcs.OptDontSandbox)
+ if err != nil {
+ return fmt.Sprintf("failed to open repo: %v", err)
+ }
+ commit, err := repo.HeadCommit()
+ if err != nil {
+ return fmt.Sprintf("failed to get HEAD commit: %v", err)
+ }
+ return fmt.Sprintf(`Commit %s, "%.32s"`, commit.Hash, commit.Title)
+}