Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit eeeacd44 authored by Kostya Kortchinsky's avatar Kostya Kortchinsky Committed by android-build-merger
Browse files

Merge "Use specific RSS check under 64-bit Scudo" am: 90a050ec am: a01574e5

am: be802d88

Change-Id: I86b6da6177973a9654660df0b82f74b1faac68ea
parents 59409356 be802d88
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@
#include "MediaUtils.h"

extern "C" size_t __cfi_shadow_size();
extern "C" void __scudo_set_rss_limit(size_t, int) __attribute__((weak));

namespace android {

@@ -65,6 +66,14 @@ void limitProcessMemory(
        maxMem = propVal;
    }

    // If 64-bit Scudo is in use, enforce the hard RSS limit (in MB).
    if (maxMem != SIZE_MAX && sizeof(void *) == 8 &&
        &__scudo_set_rss_limit != 0) {
      __scudo_set_rss_limit(maxMem >> 20, 1);
      ALOGV("Scudo hard RSS limit set to %zu MB", maxMem >> 20);
      return;
    }

    // Increase by the size of the CFI shadow mapping. Most of the shadow is not
    // backed with physical pages, and it is possible for the result to be
    // higher than total physical memory. This is fine for RLIMIT_AS.