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

Commit a34b464e authored by Jiyong Park's avatar Jiyong Park Committed by Automerger Merge Worker
Browse files

Merge "init: don't touch mmap_rnd_compat_bits on 64-bit only builds" am:...

Merge "init: don't touch mmap_rnd_compat_bits on 64-bit only builds" am: 2d79c6c0 am: a9f856b1 am: 9a3b5dff

Original change: https://android-review.googlesource.com/c/platform/system/core/+/2154914



Change-Id: I8207e99bd2e7de60a266a1412c4e6ccf8116f6ee
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents aad61786 9a3b5dff
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -15,6 +15,7 @@
 */

#include "security.h"
#include "util.h"

#include <errno.h>
#include <fcntl.h>
@@ -106,12 +107,12 @@ Result<void> SetMmapRndBitsAction(const BuiltinArguments&) {
    return {};
#elif defined(__aarch64__)
    // arm64 supports 18 - 33 bits depending on pagesize and VA_SIZE
    if (SetMmapRndBitsMin(33, 24, false) && SetMmapRndBitsMin(16, 16, true)) {
    if (SetMmapRndBitsMin(33, 24, false) && (!Has32BitAbi() || SetMmapRndBitsMin(16, 16, true))) {
        return {};
    }
#elif defined(__x86_64__)
    // x86_64 supports 28 - 32 bits
    if (SetMmapRndBitsMin(32, 32, false) && SetMmapRndBitsMin(16, 16, true)) {
    if (SetMmapRndBitsMin(32, 32, false) && (!Has32BitAbi() || SetMmapRndBitsMin(16, 16, true))) {
        return {};
    }
#elif defined(__arm__) || defined(__i386__)
+5 −0
Original line number Diff line number Diff line
@@ -733,5 +733,10 @@ bool IsMicrodroid() {
    return is_microdroid;
}

bool Has32BitAbi() {
    static bool has = !android::base::GetProperty("ro.product.cpu.abilist32", "").empty();
    return has;
}

}  // namespace init
}  // namespace android
+1 −0
Original line number Diff line number Diff line
@@ -106,5 +106,6 @@ bool IsDefaultMountNamespaceReady();
void SetDefaultMountNamespaceReady();

bool IsMicrodroid();
bool Has32BitAbi();
}  // namespace init
}  // namespace android