Reapply "various: fix Scudo allocator due to LLVM update" (#444670)
This commit is contained in:
@@ -52,7 +52,7 @@ let
|
||||
or (throw "scudo not supported on ${pkgs.stdenv.hostPlatform.system}");
|
||||
in
|
||||
{
|
||||
libPath = "${pkgs.llvmPackages.compiler-rt}/lib/linux/libclang_rt.scudo-${systemPlatform}.so";
|
||||
libPath = "${pkgs.llvmPackages.compiler-rt}/lib/linux/libclang_rt.scudo_standalone-${systemPlatform}.so";
|
||||
description = ''
|
||||
A user-mode allocator based on LLVM Sanitizer’s CombinedAllocator,
|
||||
which aims at providing additional mitigations against heap based
|
||||
|
||||
@@ -39,7 +39,7 @@ in
|
||||
nix.settings.allowed-users = mkDefault [ "@users" ];
|
||||
|
||||
environment.memoryAllocator.provider = mkDefault "scudo";
|
||||
environment.variables.SCUDO_OPTIONS = mkDefault "ZeroContents=1";
|
||||
environment.variables.SCUDO_OPTIONS = mkDefault "zero_contents=true";
|
||||
|
||||
security.lockKernelModules = mkDefault true;
|
||||
|
||||
|
||||
@@ -102,7 +102,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
env = {
|
||||
NIX_CFLAGS_COMPILE = toString (
|
||||
[
|
||||
"-DSCUDO_DEFAULT_OPTIONS=DeleteSizeMismatch=0:DeallocationTypeMismatch=0"
|
||||
"-DSCUDO_DEFAULT_OPTIONS=delete_size_mismatch=false:dealloc_type_mismatch=false"
|
||||
]
|
||||
++ lib.optionals (!haveLibc) [
|
||||
# The compiler got stricter about this, and there is a usellvm patch below
|
||||
|
||||
Reference in New Issue
Block a user