From 7a9baae4e77185420cd523ffa6a614ed841d7317 Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Sat, 23 Aug 2025 20:03:55 +0200 Subject: [PATCH] linux_6_15: remove EOL upstream. We only have one hardened kernel at the moment now because LTS == latest available. This situation would've also happened before the cleanup since 6.13/6.14 were removed in June already[1]. [1] 23b573705de96bf400a30d22bc195acb0763ac12 (cherry picked from commit 510532e9ae384493070086dc525bb6e7af2129d2) --- .../configuration/linux-kernel.chapter.md | 6 ++++++ nixos/tests/kernel-generic.nix | 2 -- .../linux/kernel/hardened/patches.json | 20 ------------------- .../os-specific/linux/kernel/kernels-org.json | 5 ----- pkgs/top-level/linux-kernels.nix | 13 ++++-------- 5 files changed, 10 insertions(+), 36 deletions(-) diff --git a/nixos/doc/manual/configuration/linux-kernel.chapter.md b/nixos/doc/manual/configuration/linux-kernel.chapter.md index dcd47e0126e0..2046fd38d291 100644 --- a/nixos/doc/manual/configuration/linux-kernel.chapter.md +++ b/nixos/doc/manual/configuration/linux-kernel.chapter.md @@ -24,6 +24,12 @@ abandoned by the kernel developers, even on stable NixOS versions. If you pin your kernel onto a non-longterm version, expect your evaluation to fail as soon as the version is out of maintenance. +A kernel will be removed from nixpkgs when the first batch of stable kernels +_after_ the final release is published. E.g. when 6.15.11 is the final release +of the 6.15 series and is released together with 6.16.3 and 6.12.43, it will be +removed on the release of 6.16.4 and 6.12.44. Custom kernel variants such +as linux-hardened are also affected by this. + Longterm versions of kernels will be removed before the next stable NixOS that will exceed the maintenance period of the kernel version. diff --git a/nixos/tests/kernel-generic.nix b/nixos/tests/kernel-generic.nix index 34e0597777a6..43e744206997 100644 --- a/nixos/tests/kernel-generic.nix +++ b/nixos/tests/kernel-generic.nix @@ -41,8 +41,6 @@ let linux_6_1_hardened linux_6_6_hardened linux_6_12_hardened - linux_6_13_hardened - linux_6_14_hardened linux_rt_5_4 linux_rt_5_10 linux_rt_5_15 diff --git a/pkgs/os-specific/linux/kernel/hardened/patches.json b/pkgs/os-specific/linux/kernel/hardened/patches.json index a2c9452954c0..0b7cf6152e63 100644 --- a/pkgs/os-specific/linux/kernel/hardened/patches.json +++ b/pkgs/os-specific/linux/kernel/hardened/patches.json @@ -49,26 +49,6 @@ "sha256": "0kf2f3r96npzs01kdq3q2ag7zg8l3avfyqwv5qbs9v373wwgxwx7", "version": "6.12.34" }, - "6.13": { - "patch": { - "extra": "-hardened1", - "name": "linux-hardened-v6.13.12-hardened1.patch", - "sha256": "0i9raq3qcc6pxvs9l6yn5b6k8kiywwlis33kkpd8byqhs57aqsic", - "url": "https://github.com/anthraxx/linux-hardened/releases/download/v6.13.12-hardened1/linux-hardened-v6.13.12-hardened1.patch" - }, - "sha256": "0hhj49k3ksjcp0dg5yiahqzryjfdpr9c1a9ph6j9slzmkikbn7v1", - "version": "6.13.12" - }, - "6.14": { - "patch": { - "extra": "-hardened1", - "name": "linux-hardened-v6.14.11-hardened1.patch", - "sha256": "07f0d76rag6jcclxdl24w70545fb8jrqy98xcdmgxwjabclaa1lp", - "url": "https://github.com/anthraxx/linux-hardened/releases/download/v6.14.11-hardened1/linux-hardened-v6.14.11-hardened1.patch" - }, - "sha256": "06rvydmc2yfspidnsay5hin3i8p4fxy3bvzwnry7gjf9dl5cs71z", - "version": "6.14.11" - }, "6.6": { "patch": { "extra": "-hardened1", diff --git a/pkgs/os-specific/linux/kernel/kernels-org.json b/pkgs/os-specific/linux/kernel/kernels-org.json index 7234a4bf12a1..9ba0087f00b2 100644 --- a/pkgs/os-specific/linux/kernel/kernels-org.json +++ b/pkgs/os-specific/linux/kernel/kernels-org.json @@ -34,11 +34,6 @@ "hash": "sha256:1bmx2vpxy6nkxnmm2a3zmv9smaajfhvslj6id54j4yq2sc722l5n", "lts": true }, - "6.15": { - "version": "6.15.11", - "hash": "sha256:14sxwrvw9p4ybizb8ky1rgahc62q0aw5qkmzqp3cpnavqfgldaw9", - "lts": false - }, "6.16": { "version": "6.16.4", "hash": "sha256:08mnd8qir2vxjmgblhnqfrfbv2zlig68f4r5askk7d8h3b3y79fn", diff --git a/pkgs/top-level/linux-kernels.nix b/pkgs/top-level/linux-kernels.nix index 966eaf60ad44..6fbc3f79b7f4 100644 --- a/pkgs/top-level/linux-kernels.nix +++ b/pkgs/top-level/linux-kernels.nix @@ -211,14 +211,6 @@ in ]; }; - linux_6_15 = callPackage ../os-specific/linux/kernel/mainline.nix { - branch = "6.15"; - kernelPatches = [ - kernelPatches.bridge_stp_helper - kernelPatches.request_key_helper - ]; - }; - linux_6_16 = callPackage ../os-specific/linux/kernel/mainline.nix { branch = "6.16"; kernelPatches = [ @@ -319,6 +311,7 @@ in linux_6_11 = throw "linux 6.11 was removed because it has reached its end of life upstream"; linux_6_13 = throw "linux 6.13 was removed because it has reached its end of life upstream"; linux_6_14 = throw "linux 6.14 was removed because it has reached its end of life upstream"; + linux_6_15 = throw "linux 6.15 was removed because it has reached its end of life upstream"; linux_4_19_hardened = throw "linux 4.19 was removed because it will reach its end of life within 24.11"; linux_6_9_hardened = throw "linux 6.9 was removed because it has reached its end of life upstream"; @@ -326,6 +319,7 @@ in linux_6_11_hardened = throw "linux 6.11 was removed because it has reached its end of life upstream"; linux_6_13_hardened = throw "linux 6.13 was removed because it has reached its end of life upstream"; linux_6_14_hardened = throw "linux 6.14 was removed because it has reached its end of life upstream"; + linux_6_15_hardened = throw "linux 6.15 was removed because it has reached its end of life upstream"; linux_ham = kernels.linux_latest; } @@ -744,7 +738,6 @@ in linux_6_1 = recurseIntoAttrs (packagesFor kernels.linux_6_1); linux_6_6 = recurseIntoAttrs (packagesFor kernels.linux_6_6); linux_6_12 = recurseIntoAttrs (packagesFor kernels.linux_6_12); - linux_6_15 = recurseIntoAttrs (packagesFor kernels.linux_6_15); linux_6_16 = recurseIntoAttrs (packagesFor kernels.linux_6_16); } // lib.optionalAttrs config.allowAliases { @@ -754,6 +747,7 @@ in linux_6_11 = throw "linux 6.11 was removed because it reached its end of life upstream"; # Added 2025-03-23 linux_6_13 = throw "linux 6.13 was removed because it reached its end of life upstream"; # Added 2025-06-22 linux_6_14 = throw "linux 6.14 was removed because it reached its end of life upstream"; # Added 2025-06-22 + linux_6_15 = throw "linux 6.15 was removed because it reached its end of life upstream"; # Added 2025-08-23 }; rtPackages = { @@ -809,6 +803,7 @@ in linux_ham = recurseIntoAttrs (packagesFor kernels.linux_latest); linux_6_13_hardened = throw "linux 6.13 was removed because it has reached its end of life upstream"; linux_6_14_hardened = throw "linux 6.14 was removed because it has reached its end of life upstream"; + linux_6_15_hardened = throw "linux 6.15 was removed because it has reached its end of life upstream"; } );