ci: kernel-tracing runtime gate on a stock (no CONFIG_CONSTRUCTORS) kernel (1.7.5)#41
Merged
Conversation
Adds a CI job that boots the clltk kernel modules in QEMU on the stock distro kernel - which is built WITHOUT CONFIG_CONSTRUCTORS - and checks that tracing registers and produces trace files. This locks in the module-notifier init path (1.7.4): if registration ever regresses to depending on constructors, this job fails. No kernel build: the distro kernel-core package provides a bootable image and kernel-devel the matching build tree. On x86_64 the image is a bzImage QEMU boots directly; on aarch64 it is an EFI zboot (zstd) wrapper, so the raw Image is extracted from the zboot payload. Runs under TCG, no KVM required. Verified in the CI container: stock kernel (CONFIG_CONSTRUCTORS off), 5 trace files, zero invalid-offset errors. Signed-off-by: Jo5ta <jo5ta@mail.de>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds the CI regression gate for the module-notifier init path (1.7.4), and closes the "runtime kernel test" thread.
What it does: a new
kernel-runtimejob boots the clltk kernel modules in QEMU on the stock distro kernel — which is built withoutCONFIG_CONSTRUCTORS— and checks that tracing actually registers (trace files created, zeroinvalid in_file_offseterrors). If registration ever regresses to depending on the constructor, this job fails.No kernel build. It uses the distro
kernel-corepackage (bootable image) pluskernel-devel(matching build tree). On x86_64 the image is abzImageQEMU boots directly; on aarch64 the image is an EFI zboot (zstd) wrapper, so the script extracts the rawImagefrom the zboot payload. Runs under TCG — no KVM required.Verified in the CI container (aarch64 path): stock kernel with
CONFIG_CONSTRUCTORSoff, 5 trace files, zero invalid-offset errors →STOCK_KERNEL_TRACE_OK. The x86_64 CI runners take the simpler native-bzImage path.This complements the existing
build-kernel-modulejob (compile/link across kernel headers) with an actual runtime check on a realistic kernel config.