aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSpace Meyer <spm@google.com>2023-04-19 11:27:04 +0200
committerSpace Meyer <git@the-space.agency>2023-04-20 11:47:01 +0200
commit58ccdc6d2b7c77f7d38f3c856d0ed0f3453119b8 (patch)
tree21000ee7eeb15329a43a6b642151ee55733eeeb6
parenta219f34e4d6fca2f29542585ada7b6e911999d69 (diff)
pkg/bisect: set linux gcc bisection cutoff to v4.18
The buildroot images deployed after #2820 can only boot v4.19+ kernels. This has caused lots of bad bisection results, see #3224. We either need a new universal image or a kernel version dependant image selection. For now we stop at v4.19+. FATAL: kernel too old [ 8.076311] Kernel panic - not syncing: Attempted to kill init! exitcode=0x00007f00
-rw-r--r--docs/syzbot.md2
-rw-r--r--pkg/vcs/linux.go8
2 files changed, 7 insertions, 3 deletions
diff --git a/docs/syzbot.md b/docs/syzbot.md
index c3a84621b..c0c30077b 100644
--- a/docs/syzbot.md
+++ b/docs/syzbot.md
@@ -187,7 +187,7 @@ using `#syz fix: commit-title` commands.
can reproduce the bug and then goes back release-by-release to find the first
release where kernel does not crash. Once such release is found, `syzbot` starts
bisection on that range. `syzbot` has limitation of how far back in time it can
-go (currently `v4.1`), going back in time is [very hard](/pkg/vcs/linux.go)
+go (currently `v4.19`), going back in time is [very hard](/pkg/vcs/linux.go)
because of incompatible compiler/linker/asm/perl/make/libc/etc, kernel
build/boot breakages and large amounts of bugs.
diff --git a/pkg/vcs/linux.go b/pkg/vcs/linux.go
index 5e2ccf3e1..2ec37b3b1 100644
--- a/pkg/vcs/linux.go
+++ b/pkg/vcs/linux.go
@@ -64,12 +64,16 @@ func (ctx *linux) PreviousReleaseTags(commit, compilerType string) ([]string, er
//
// We used to use 4.1 as the oldest tested release (it works in general).
// However, there is correlation between how far back we go and probability
- // of getting correct result (see #1532). So we now stop at 4.6.
+ // of getting correct result (see #1532). So we then stopped at 4.6.
// 4.6 is somewhat arbitrary, we've seen lots of wrong results in 4.5..4.6 range,
// but there is definitive reason for 4.6. Most likely later we want to bump it
// even more (as new releases are produced). Next good candidate may be 4.11
// because then we won't need gcc 5.5.
- cutoff = "v4.5"
+ //
+ // TODO: The buildroot images deployed after #2820 can only boot v4.19+ kernels.
+ // This has caused lots of bad bisection results, see #3224. We either need a new
+ // universal image or a kernel version dependant image selection.
+ cutoff = "v4.18"
} else if compilerType == "clang" {
// v5.3 was the first release with solid clang support, however I was able to
// compile v5.1..v5.3 using a newer defconfig + make oldconfig. Everything older