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

Commit c09eee09 authored by Mao Han's avatar Mao Han Committed by Elliott Hughes
Browse files

Add mmap_rnd_bits routine for riscv64



Signed-off-by: default avatarMao Han <han_mao@linux.alibaba.com>
Change-Id: Ide793f4365fee67f30e35302365c4a7a5ba1f021
parent 0d77b388
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -116,6 +116,13 @@ Result<void> SetMmapRndBitsAction(const BuiltinArguments&) {
    if (SetMmapRndBitsMin(33, 24, false) && (!Has32BitAbi() || SetMmapRndBitsMin(16, 16, true))) {
        return {};
    }
#elif defined(__riscv)
    // TODO: sv48 and sv57 were both added to the kernel this year, so we
    // probably just need some kernel fixes to enable higher ASLR randomization,
    // but for now 24 is the maximum that the kernel supports.
    if (SetMmapRndBitsMin(24, 18, false)) {
        return {};
    }
#elif defined(__x86_64__)
    // x86_64 supports 28 - 32 rnd bits, but Android wants to ensure that the
    // theoretical maximum of 32 bits is always supported and used.