aboutsummaryrefslogtreecommitdiffstats
path: root/pkg
diff options
context:
space:
mode:
Diffstat (limited to 'pkg')
-rw-r--r--pkg/vminfo/linux.go5
1 files changed, 4 insertions, 1 deletions
diff --git a/pkg/vminfo/linux.go b/pkg/vminfo/linux.go
index 52f6982b2..d32823c29 100644
--- a/pkg/vminfo/linux.go
+++ b/pkg/vminfo/linux.go
@@ -120,7 +120,10 @@ func linuxParseCoreKernel(files filesystem) (uint64, uint64, error) {
if err != nil {
return 0, 0, fmt.Errorf("address parsing error in /proc/kallsyms for _stext: %w", err)
}
- re = regexp.MustCompile(`([a-fA-F0-9]+) [DT] _etext\n`)
+ // _etext symbol points to the _next_ section, so it has type of the next section.
+ // It can be at least T, D, or R in some cases:
+ // https://groups.google.com/g/syzkaller/c/LSx6YIK_Eeo
+ re = regexp.MustCompile(`([a-fA-F0-9]+) . _etext\n`)
m = re.FindSubmatch(_Text)
if m == nil {
return 0, 0, fmt.Errorf("failed to get _etext symbol")