···533 # Enable Rust and features that depend on it
534 # Use a lower priority to allow these options to be overridden in hardened/config.nix
535 rust = lib.optionalAttrs withRust {
536- RUST = lib.mkDefault yes;
537538 # These don't technically require Rust but we probably want to get some more testing
539 # on the whole DRM panic setup before shipping it by default.
540 DRM_PANIC = whenAtLeast "6.12" yes;
541 DRM_PANIC_SCREEN = whenAtLeast "6.12" (freeform "kmsg");
542543- DRM_PANIC_SCREEN_QR_CODE = lib.mkDefault (whenAtLeast "6.12" yes);
544 };
545546 sound =
···1256 LIRC = yes;
12571258 SCHED_CORE = whenAtLeast "5.14" yes;
1259- SCHED_CLASS_EXT = lib.mkDefault (whenAtLeast "6.12" yes);
12601261 LRU_GEN = whenAtLeast "6.1" yes;
1262 LRU_GEN_ENABLED = whenAtLeast "6.1" yes;
···533 # Enable Rust and features that depend on it
534 # Use a lower priority to allow these options to be overridden in hardened/config.nix
535 rust = lib.optionalAttrs withRust {
536+ RUST = yes;
537538 # These don't technically require Rust but we probably want to get some more testing
539 # on the whole DRM panic setup before shipping it by default.
540 DRM_PANIC = whenAtLeast "6.12" yes;
541 DRM_PANIC_SCREEN = whenAtLeast "6.12" (freeform "kmsg");
542543+ DRM_PANIC_SCREEN_QR_CODE = whenAtLeast "6.12" yes;
544 };
545546 sound =
···1256 LIRC = yes;
12571258 SCHED_CORE = whenAtLeast "5.14" yes;
1259+ SCHED_CLASS_EXT = whenAtLeast "6.12" yes;
12601261 LRU_GEN = whenAtLeast "6.1" yes;
1262 LRU_GEN_ENABLED = whenAtLeast "6.1" yes;
-11
pkgs/os-specific/linux/kernel/hardened/config.nix
···38 DEBUG_PLIST = whenAtLeast "5.2" yes;
39 DEBUG_SG = yes;
40 DEBUG_VIRTUAL = yes;
41- # Set in common config as whenAtLeast "6.12" yes; Currently errors during config
42- SCHED_CLASS_EXT = whenAtLeast "6.12" (option yes);
43 SCHED_STACK_END_CHECK = yes;
4445 REFCOUNT_FULL = whenOlder "5.4.208" yes;
···68 PANIC_TIMEOUT = freeform "-1";
6970 GCC_PLUGINS = yes; # Enable gcc plugin options
71- # Gather additional entropy at boot time for systems that may not have appropriate entropy sources.
72- GCC_PLUGIN_LATENT_ENTROPY = yes;
7374 GCC_PLUGIN_STRUCTLEAK = option yes; # A port of the PaX structleak plugin
75 GCC_PLUGIN_STRUCTLEAK_BYREF_ALL = option yes; # Also cover structs passed by address
···87 UBSAN_LOCAL_BOUNDS = option yes; # clang only
88 CFI_CLANG = option yes; # clang only Control Flow Integrity since 6.1
8990- # Same as GCC_PLUGIN_RANDSTRUCT*, but has been renamed to `RANDSTRUCT*` in 5.19.
91- RANDSTRUCT = whenAtLeast "5.19" yes;
92- RANDSTRUCT_PERFORMANCE = whenAtLeast "5.19" yes;
93-94 # Disable various dangerous settings
95 ACPI_CUSTOM_METHOD = whenOlder "6.9" no; # Allows writing directly to physical memory
96 PROC_KCORE = no; # Exposes kernel text image layout
···118119 # not needed for less than a decade old glibc versions
120 LEGACY_VSYSCALL_NONE = yes;
121-122- RUST = option yes; # Yes currently erros on 6.12
123- DRM_PANIC_SCREEN_QR_CODE = whenAtLeast "6.12" (option yes);
124}
···38 DEBUG_PLIST = whenAtLeast "5.2" yes;
39 DEBUG_SG = yes;
40 DEBUG_VIRTUAL = yes;
0041 SCHED_STACK_END_CHECK = yes;
4243 REFCOUNT_FULL = whenOlder "5.4.208" yes;
···66 PANIC_TIMEOUT = freeform "-1";
6768 GCC_PLUGINS = yes; # Enable gcc plugin options
006970 GCC_PLUGIN_STRUCTLEAK = option yes; # A port of the PaX structleak plugin
71 GCC_PLUGIN_STRUCTLEAK_BYREF_ALL = option yes; # Also cover structs passed by address
···83 UBSAN_LOCAL_BOUNDS = option yes; # clang only
84 CFI_CLANG = option yes; # clang only Control Flow Integrity since 6.1
85000086 # Disable various dangerous settings
87 ACPI_CUSTOM_METHOD = whenOlder "6.9" no; # Allows writing directly to physical memory
88 PROC_KCORE = no; # Exposes kernel text image layout
···110111 # not needed for less than a decade old glibc versions
112 LEGACY_VSYSCALL_NONE = yes;
000113}