diff --git a/configs/fragment.M13 b/configs/fragment.M13 index be32cc9..ed3c194 100644 --- a/configs/fragment.M13 +++ b/configs/fragment.M13 @@ -28,5 +28,5 @@ CONFIG_PANIC_ON_OOPS=y CONFIG_KUNIT=y CONFIG_KUNIT_ALL_TESTS=y -# The kunit_fault suite oopses on purpose to check that KUnit catches it, which PANIC_ON_OOPS turns into a dead machine. The 7.2.8 cells show it skipping itself there, so only this era needs it off. +# The kunit_fault suite oopses on purpose to check that KUnit catches it, which PANIC_ON_OOPS turns into a dead machine. CONFIG_KUNIT_FAULT_TEST=n diff --git a/configs/fragment.M14 b/configs/fragment.M14 index 35bfc48..33b161d 100644 --- a/configs/fragment.M14 +++ b/configs/fragment.M14 @@ -1,4 +1,4 @@ -# The test fragment for era M14, kernels 6.15 on (spec 07.2). It is merged after the configuration target and only turns things on, except for the four switches at the top. +# The test fragment for era M14, kernels 6.15 on (spec 07.2). It is merged after the configuration target and only turns things on, except for the four switches at the top and the KUnit fault test. # Off everywhere, so that every column of a row gets the same configuration. WERROR is already off in defconfig and is stated so that allmodconfig agrees. Plugins need headers the bundles do not have. BTF needs a pahole of the kernel's era, a host tool that varies on its own. CONFIG_WERROR=n @@ -27,3 +27,6 @@ CONFIG_PANIC_ON_OOPS=y # Every KUnit suite built in and run at boot, so the rig needs no modprobe. CONFIG_KUNIT=y CONFIG_KUNIT_ALL_TESTS=y + +# The kunit_fault suite oopses on purpose to check that KUnit catches it, which PANIC_ON_OOPS turns into a dead machine. 7.2.8 skips it on its own, but 6.18 does not. +CONFIG_KUNIT_FAULT_TEST=n diff --git a/docs/spec/07-build-and-boot.md b/docs/spec/07-build-and-boot.md index 8c4c84c..cba1e1f 100644 --- a/docs/spec/07-build-and-boot.md +++ b/docs/spec/07-build-and-boot.md @@ -59,7 +59,7 @@ The fragment turns two things off, `CONFIG_WERROR` and `CONFIG_GCC_PLUGINS`. Tha `CONFIG_DEBUG_INFO_BTF=n` keeps `pahole` out of the build. BTF generation depends on the pahole version, a host tool with its own history of breaking kernels, and that is not the question here. -Era fragments drop what the era does not have: KUnit before 5.5, devtmpfs before 2.6.32, `PANIC_ON_OOPS` before 2.6.x, the PL011 console for trees without it. The M13 fragment also turns off `KUNIT_FAULT_TEST`, whose suite oopses on purpose and so panics a kernel built with `PANIC_ON_OOPS`. The first M13 cell, 6.12.111 with gcc-12.2.0, died that way in its KUnit boots. `configs/fragment.` holds each, and `gk` records which requested options did not take effect after the configuration step. An option that did not take effect with the era GCC is expected. One that took effect with the era GCC and not with another column is a finding: it means a Kconfig compiler probe disagreed, which document 11.3 wants. +Era fragments drop what the era does not have: KUnit before 5.5, devtmpfs before 2.6.32, `PANIC_ON_OOPS` before 2.6.x, the PL011 console for trees without it. The M13 and M14 fragments also turn off `KUNIT_FAULT_TEST`, whose suite oopses on purpose and so panics a kernel built with `PANIC_ON_OOPS`. The first M13 cell, 6.12.111 with gcc-12.2.0, died that way in its KUnit boots, and so did the M14 era cell for 6.18.54. 7.2.8 skips the suite by itself. `configs/fragment.` holds each, and `gk` records which requested options did not take effect after the configuration step. An option that did not take effect with the era GCC is expected. One that took effect with the era GCC and not with another column is a finding: it means a Kconfig compiler probe disagreed, which document 11.3 wants. Two kinds of configuration differences between columns are expected and not failures: `CC_VERSION_TEXT`, `GCC_VERSION`, `AS_VERSION`, `LD_VERSION` and the `CC_HAS_*` family that probes the compiler. They are what the configuration differential measures.