[RFC/PROPOSAL] Shifting the x.y.z Stable Tree to a Continuous, Signed Patch-Stream Model

From: Artem S. Tashkinov

Date: Sun May 24 2026 - 05:39:19 EST


Hi all,

The relentless cadence of critical vulnerability disclosures and public exploits over the past month—including Copy Fail (CVE-2026-31431), Dirty Frag (CVE-2026-43284/500), Fragnesia (CVE-2026-46300), and the ptrace exit race (CVE-2026-46333)—has highlighted a severe structural bottleneck in how we package and distribute stable backports.

When fatal logic flaws or memory corruptions strike core subsystems, our current point-release model fractures. Spinning up whole new point releases (7.0.4, 7.0.5, 7.0.7) in a matter of days just to address incomplete fixes, subsystem regressions, or independent public disclosures (such as the recent GRO managed-frag UAF exploit dropped directly to GitHub gists by researchers) creates massive administrative fatigue for maintainers and downstream teams alike.

Upstream has long maintained that the stable tree is effectively a continuous stream of fixes, and that users should track the tip of the stable branch rather than cherry-picking. It is time our release infrastructure matches this reality.

### The Proposal

I propose transitioning the stable tree (`linux-x.y.y`) away from manual,discrete point-release tarballs (`x.y.z`). Instead, we should treat the stable sub-version purely as an append-only, continuous, git-native patch stream.

Major releases (e.g., 7.0, 7.1) remain the foundational code boundaries, but sub-versions are eliminated as monolithic manual artifacts.

### The Implementation: How It Works

To ensure downstream distributions, enterprise compliance engines, and automated testing rings can still securely ingest code, we can replace the manual tarball with a decoupled, automated asset pipeline:

1. **The Git-First Stream:** The stable branch (`linux-7.0.y`) remains the single source of truth. Commits are pushed as soon as they pass stable criteria and automated sanity testing.

2. **The Signed Patch-Stream Archive:** Instead of packaging the entire 30M+ line source code tree into a new tarball for every quick fix, upstream infrastructure maintains a rolling, cumulative patch sequence for the major cycle:

linux-7.0-stable.series = \sum (patch_1 + patch_2 + ... + patch_n)

Every time a fix is merged to the stable branch, the patch is appended to a publicly accessible, cryptographically signed manifest file
(`linux-7.0-stable-patches.tar.bz2` or a standard `series` file) alongside a detached signature.

3. **Automated Snapshot Tags:** If the industry strictly requires an immutable archive for compliance, point-release numbers can be replaced by automated, time-stamped git tags and machine-generated source snapshots cut on a strict, automated interval (e.g., every 48 hours), removing human maintainers entirely from the release timing.

### Why This Benefits the Ecosystem

* **Eliminates Churn and Latency:**

When a patch introduces an edge-case regression or requires an immediate follow-up (a common reason for rapid point-release sequences), maintainers do not need to coordinate a whole new release event. The follow-up fix is simply patch $n+1$. Downstream CI pipelines ingest it natively via standard git fetches.

* **Maintains Git-Native Debugging:**

Debugging stable regressions via `git bisect` has always been patch-based, not release-based. Since point releases are meant strictly for backported bug fixes, removing the arbitrary `x.y.z` release tags changes nothing about a developer's ability to isolate a regression. If anything, it prevents downstream vendors from pulling out-of-order patches that complicate bisection across distros.

* **Eases Downstream Automation:**

Modern tracking distributions (Arch, Fedora snapshotting, etc.) can switch to trunk-based intake, automatically building from the signed tip.

For enterprise distributions (RHEL, Ubuntu LTS) where constant kernel packaging and reboots are untenable, a fluid patch stream allows vendor security teams to more rapidly feed live-patching infrastructure (`kpatch`, `kgraft`), applying critical CVE fixes directly to runtime memory without changing the base package version.

* **Bridges the Compliance Gap:**

Embedded, automotive, or medical compliance pipelines
that legally require a static, verifiable code artifact can validate their software against the base major release tarball ($7.0.0$) plus the cryptographically signed, append-only stable patch series manifest.

The manual compilation, testing, and cutting of sub-version tarballs is an administrative artifact of the late 1990s. Shifting to an explicit, signed patch-stream architecture acknowledges the velocity of modern vulnerability research, strips away artificial latency, and frees our stable maintainers to focus on code quality rather than release management overhead.

I would love to hear thoughts, architectural blockers, or feedback from the stable maintainers and distribution teams on the feasibility of this transition.

Best regards,
Artem S. Tashkinov