1{ lib, fetchpatch, fetchurl }:
2
3{
4 ath_regd_optional = rec {
5 name = "ath_regd_optional";
6 patch = fetchpatch {
7 name = name + ".patch";
8 url = "https://github.com/openwrt/openwrt/raw/ed2015c38617ed6624471e77f27fbb0c58c8c660/package/kernel/mac80211/patches/ath/402-ath_regd_optional.patch";
9 sha256 = "1ssDXSweHhF+pMZyd6kSrzeW60eb6MO6tlf0il17RC0=";
10 postFetch = ''
11 sed -i 's/CPTCFG_/CONFIG_/g' $out
12 sed -i '/--- a\/local-symbols/,$d' $out
13 '';
14 };
15 };
16
17 bridge_stp_helper =
18 { name = "bridge-stp-helper";
19 patch = ./bridge-stp-helper.patch;
20 };
21
22 request_key_helper =
23 { name = "request-key-helper";
24 patch = ./request-key-helper.patch;
25 };
26
27 request_key_helper_updated =
28 { name = "request-key-helper-updated";
29 patch = ./request-key-helper-updated.patch;
30 };
31
32 modinst_arg_list_too_long =
33 { name = "modinst-arglist-too-long";
34 patch = ./modinst-arg-list-too-long.patch;
35 };
36
37 cpu-cgroup-v2 = import ./cpu-cgroup-v2-patches;
38
39 hardened = let
40 mkPatch = kernelVersion: { version, sha256, patch }: let src = patch; in {
41 name = lib.removeSuffix ".patch" src.name;
42 patch = fetchurl (lib.filterAttrs (k: v: k != "extra") src);
43 extra = src.extra;
44 inherit version sha256;
45 };
46 patches = lib.importJSON ./hardened/patches.json;
47 in lib.mapAttrs mkPatch patches;
48
49 # Adapted for Linux 5.4 from:
50 # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=04896832c94aae4842100cafb8d3a73e1bed3a45
51 rtl8761b_support =
52 { name = "rtl8761b-support";
53 patch = ./rtl8761b-support.patch;
54 };
55
56 export-rt-sched-migrate = {
57 name = "export-rt-sched-migrate";
58 patch = ./export-rt-sched-migrate.patch;
59 };
60}