Skip to content

virtio-linux-detonation: 6.18.36 -> 6.18.42 (six LTS releases of fixes) - #583

Merged
bryan-minimal merged 1 commit into
mainfrom
bryan/detonation-6.18.42
Aug 7, 2026
Merged

virtio-linux-detonation: 6.18.36 -> 6.18.42 (six LTS releases of fixes)#583
bryan-minimal merged 1 commit into
mainfrom
bryan/detonation-6.18.42

Conversation

@bryan-minimal

@bryan-minimal bryan-minimal commented Aug 7, 2026

Copy link
Copy Markdown
Member

This package was update-dark until yesterday: no source_provenance, no repology_project, and 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. 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 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 — 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:

  • The four files the build starts from are untouchedarch/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 specifically because scripts/config --enable on an unknown symbol is a silent no-op — a rename would produce an observability-blind kernel that builds perfectly.
  • The LSM hook table did change — purely additively. New backing_file_alloc / backing_file_free / mmap_backing_file hooks plus 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 produced BTFIDS + Image.gz, so pahole handled BTF against the new tree — and min check: 15/15 Pass.

Worth being explicit: standalone tests...Pass is worth nothing here, because this package 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 actual evidence the observability config landed on 6.18.42.

Deliberately left for separate PRs

  • Four dead CONFIG names in build.shVIRTIO_SCSI/VIRTIO_GPU should be SCSI_VIRTIO/DRM_VIRTIO_GPU, so arm64 currently ships without virtio-scsi and virtio-gpu (x86 masks it because x86_64_defconfig sets both independently). Fixing that changes the arm64 kernel's contents and must not ride a version bump.
  • The missing tests.

Summary by CodeRabbit

  • Maintenance
    • Updated the bundled Linux kernel to version 6.18.42.
    • Refreshed the source verification checksum for the new kernel release.
    • Updated release-line documentation to reflect the 6.18 long-term support status.

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
@coderabbitai

coderabbitai Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

The 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.

Changes

Kernel update

Layer / File(s) Summary
Update kernel metadata
packages/virtio-linux-detonation/build.ncl
The build declaration now uses Linux kernel 6.18.42, includes its source archive SHA-256 checksum, and documents the updated 6.18 longterm status.

Estimated code review effort: 1 (Trivial) | ~2 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely identifies the package and its primary change from Linux 6.18.36 to 6.18.42.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch bryan/detonation-6.18.42

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
packages/virtio-linux-detonation/build.ncl (1)

17-18: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Keep the kernel baseline documentation consistent.

packages/virtio-linux-detonation/build.sh still says that this package uses the same 6.12.43 source as virtio-linux. This declaration now targets the 6.18 line. 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

📥 Commits

Reviewing files that changed from the base of the PR and between c6a4493 and 2c2d451.

📒 Files selected for processing (1)
  • packages/virtio-linux-detonation/build.ncl

@bryan-minimal
bryan-minimal added this pull request to the merge queue Aug 7, 2026
Merged via the queue into main with commit 7ee8fe5 Aug 7, 2026
10 checks passed
@bryan-minimal
bryan-minimal deleted the bryan/detonation-6.18.42 branch August 7, 2026 21:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants