From 831b5bd6ca06488d6a3f4cc3cd26de337e687b58 Mon Sep 17 00:00:00 2001 From: Ben Wolsieffer Date: Fri, 1 May 2026 12:03:08 -0400 Subject: [PATCH] nixos: unset vm.mmap_rnd_compat_bits on 32-bit architectures vm.mmap_rnd_compat_bits is used for 32-bit compatibility on 64-bit architectures, therefore it is not present on 32-bit architectures. --- nixos/modules/config/sysctl.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos/modules/config/sysctl.nix b/nixos/modules/config/sysctl.nix index 4a2ecd11e103..df4165fbbec5 100644 --- a/nixos/modules/config/sysctl.nix +++ b/nixos/modules/config/sysctl.nix @@ -81,8 +81,8 @@ in fi echo "vm.mmap_rnd_bits=$mmap_rnd_bits_max" >> $out '' - # HAVE_ARCH_MMAP_RND_COMPAT_BITS is not defined for LoongArch64 - + lib.optionalString (!pkgs.stdenv.hostPlatform.isLoongArch64) '' + # HAVE_ARCH_MMAP_RND_COMPAT_BITS is not defined on 32-bit architectures or LoongArch64 + + lib.optionalString (with pkgs.stdenv.hostPlatform; (!is32bit && !isLoongArch64)) '' mmap_rnd_compat_bits_max=$(grep "^CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=" $configfile | grep --only-matching "[0-9]*$") if [[ -z "$mmap_rnd_compat_bits_max" ]]; then echo "Unable to determine mmap_rnd_compat_bits_max. Check your kernel configfile is valid."