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.
This commit is contained in:
Ben Wolsieffer
2026-05-02 22:36:04 -04:00
parent 06a1c3fd1e
commit 831b5bd6ca
+2 -2
View File
@@ -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."