virtio-linux-detonation: 6.18.36 -> 6.18.42 (six LTS releases of fixes) - #583
Conversation
This package was UPDATE-DARK until yesterday: no source_provenance, no
repology_project, and it was missing from the kernel-LTS override arm, so
`check` reported "no upstream source found" and SKIPPED it. It could never be
offered a bump and nothing said so. supply-chain#391 routed it; this is the
bump that was waiting behind it.
Six point releases behind (6.18.42 shipped 2026-08-03).
## Not 7.x, deliberately
The instinct to move to the newest series is reasonable and wrong here:
kernel.org lists 7.1.6 as `stable` and marks exactly six lines `longterm` —
6.18, 6.12, 6.6, 6.1, 5.15, 5.10. **6.18 IS the newest longterm**, i.e. the line
this package is already on. Moving to 7.1 would leave LTS for a line that dies
when 7.2 ships (7.2-rc6 tagged 2026-08-02), buying a newer BPF verifier the
observer has no demonstrated need for in exchange for a two-arch config + boot
revalidation every ~9 weeks. Revisit when a 7.x line is marked longterm —
historically the last release of the calendar year.
## Risk read
sha256 read from kernel.org's SIGNED sha256sums.asc; the currently-pinned
6.18.36 digest matches that same file exactly, which validates the read.
Diffed the six incremental patches (36->42, 141k lines) against what this build
actually depends on:
- the four files the build starts from are UNTOUCHED:
arch/x86/configs/{x86_64_,}defconfig, arch/arm64/configs/defconfig,
kernel/configs/kvm_guest.config
- NONE of the 14 CONFIG_ symbols the build sets or asserts was removed or
renamed — this matters because `scripts/config --enable` on an unknown
symbol is a SILENT no-op
- the LSM hook table did change, but purely ADDITIVELY: new
backing_file_alloc / backing_file_free / mmap_backing_file hooks and BTF
plumbing in kernel/bpf/bpf_lsm.c. No removals or renames of file_open /
bprm_* / socket_*, and no change to BPF_MAP_TYPE_RINGBUF — the surface the
in-VM observer attaches through is intact.
build.ncl only. No build.sh change, no CONFIG_ change.
## Verification
Built in a clean session (arm64: BTFIDS + Image.gz produced, so pahole handled
BTF against the new tree) and `min check`: 15/15 Pass.
Note that `standalone tests...Pass` is worth nothing for this package — it has
NO tests. The real gate is build.sh:219, which fails the build outright if any
of BPF_LSM / DEBUG_INFO_BTF / AUDIT / DYNAMIC_FTRACE_WITH_ARGS /
FTRACE_SYSCALLS fails to survive olddefconfig. That assertion passing IS the
evidence the observability config landed on 6.18.42.
Left for separate PRs, deliberately:
- four dead CONFIG names in build.sh (VIRTIO_SCSI/VIRTIO_GPU should be
SCSI_VIRTIO/DRM_VIRTIO_GPU) — that CHANGES the arm64 kernel's contents and
must not ride a version bump
- the missing tests
📝 WalkthroughWalkthroughThe virtio Linux package updates its kernel baseline from 6.18.36 to 6.18.42, replaces the source archive checksum, and revises the longterm-status comments. ChangesKernel update
Estimated code review effort: 1 (Trivial) | ~2 minutes 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
packages/virtio-linux-detonation/build.ncl (1)
17-18: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick winKeep the kernel baseline documentation consistent.
packages/virtio-linux-detonation/build.shstill says that this package uses the same6.12.43source asvirtio-linux. This declaration now targets the6.18line. Update the companion comment or remove the stale fixed version.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@packages/virtio-linux-detonation/build.ncl` around lines 17 - 18, Update the kernel baseline comment in build.ncl to document the 6.18 line consistently with the package’s current target, or remove the stale fixed 6.12.43 reference; keep the surrounding BPF verifier and longterm-kernel context accurate.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In `@packages/virtio-linux-detonation/build.ncl`:
- Around line 17-18: Update the kernel baseline comment in build.ncl to document
the 6.18 line consistently with the package’s current target, or remove the
stale fixed 6.12.43 reference; keep the surrounding BPF verifier and
longterm-kernel context accurate.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 5ac307e8-1058-41d7-bbb9-1a33513a49d3
📒 Files selected for processing (1)
packages/virtio-linux-detonation/build.ncl
This package was update-dark until yesterday: no
source_provenance, norepology_project, and missing from the kernel-LTS override arm — socheckreported "no upstream source found" and skipped it. It could never be offered a bump and nothing said so. gominimal/minimal-supply-chain#391 routed it; this is the bump that was waiting behind it.Six point releases behind — 6.18.42 shipped 2026-08-03.
Not 7.x, deliberately
Moving to the newest series is a reasonable instinct and wrong here. kernel.org lists 7.1.6 as
stableand marks exactly six lineslongterm: 6.18, 6.12, 6.6, 6.1, 5.15, 5.10.6.18 IS the newest longterm — the line this package is already on. Moving to 7.1 would leave LTS for a line that dies when 7.2 ships (7.2-rc6 tagged 2026-08-02), buying a newer BPF verifier the observer has no demonstrated need for, in exchange for a two-arch config + boot revalidation every ~9 weeks. Revisit when a 7.x line is marked longterm — historically the last release of the calendar year.
Risk read
sha256 read from kernel.org's signed
sha256sums.asc. The currently-pinned 6.18.36 digest matches that same file exactly, which validates the read.Diffed all six incremental patches (36→42, 141k lines) against what this build actually depends on:
arch/x86/configs/{x86_64_,}defconfig,arch/arm64/configs/defconfig,kernel/configs/kvm_guest.configscripts/config --enableon an unknown symbol is a silent no-op — a rename would produce an observability-blind kernel that builds perfectly.backing_file_alloc/backing_file_free/mmap_backing_filehooks plus BTF plumbing inkernel/bpf/bpf_lsm.c. No removals or renames offile_open/bprm_*/socket_*, and no change toBPF_MAP_TYPE_RINGBUF— the surface the in-VM observer attaches through is intact.build.ncl only. No build.sh change, no CONFIG_ change.
Verification
Built in a clean session — arm64 produced
BTFIDS+Image.gz, so pahole handled BTF against the new tree — andmin check: 15/15 Pass.Worth being explicit:
standalone tests...Passis worth nothing here, because this package has no tests. The real gate isbuild.sh:219, which fails the build outright if any ofBPF_LSM/DEBUG_INFO_BTF/AUDIT/DYNAMIC_FTRACE_WITH_ARGS/FTRACE_SYSCALLSfails to surviveolddefconfig. That assertion passing is the actual evidence the observability config landed on 6.18.42.Deliberately left for separate PRs
VIRTIO_SCSI/VIRTIO_GPUshould beSCSI_VIRTIO/DRM_VIRTIO_GPU, so arm64 currently ships without virtio-scsi and virtio-gpu (x86 masks it becausex86_64_defconfigsets both independently). Fixing that changes the arm64 kernel's contents and must not ride a version bump.Summary by CodeRabbit