nixos/apparmor: load bpf last unconditionally

This commit is contained in:
Samuel Cobb
2026-06-19 20:46:31 +01:00
committed by Grimmauld
parent fe3a142521
commit bd022e3c5a
+15 -5
View File
@@ -1,4 +1,8 @@
{ config, lib, ... }:
{
config,
lib,
...
}:
let
cfg = config.security;
in
@@ -16,10 +20,16 @@ in
config = lib.mkMerge [
{
# We set the default LSM's here due to them not being present if set when enabling AppArmor.
security.lsm = [
"landlock"
"yama"
"bpf"
security.lsm = lib.mkMerge [
[
"landlock"
"yama"
]
# Load BPF last unconditionally. See: https://github.com/NixOS/nixpkgs/pull/533428.
# Apparmor (and potentially other modules) will load incorrectly if they are not before BPF.
# It is believed that there was a regression between kernel 6.12 and 6.18 which caused the
# passthrough stub or LSM stacking of the BPF module to interact with other modules incorrectly.
(lib.mkAfter [ "bpf" ])
];
}
(lib.mkIf (lib.lists.length cfg.lsm > 0) {