Add mmap_rnd_bits routine for riscv64
Signed-off-by: Mao Han <han_mao@linux.alibaba.com> Change-Id: Ide793f4365fee67f30e35302365c4a7a5ba1f021
This commit is contained in:
parent
0d77b388f5
commit
c09eee098b
1 changed files with 7 additions and 0 deletions
|
|
@ -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.
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue