diff options
author | Mark Brown <broonie@kernel.org> | 2016-02-10 18:26:26 +0000 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2016-02-10 18:26:26 +0000 |
commit | b388b35a17d53dac58f2391795b823b7c5a54bac (patch) | |
tree | a8db4b571297771e191489abeede06514fe94fd3 /arch/arm64/mm/mmap.c | |
parent | 6b4fe72f6c1ab93a893a8bc2e1155d34d7689440 (diff) | |
parent | 17aa01a7059b202f893a9e7e859032640318b458 (diff) |
Merge branch 'linaro-android-3.18-lsk' of git://android.git.linaro.org/kernel/linaro-android into linux-linaro-lsk-v3.18-androidlsk-v3.18-16.02-android
Diffstat (limited to 'arch/arm64/mm/mmap.c')
-rw-r--r-- | arch/arm64/mm/mmap.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/arch/arm64/mm/mmap.c b/arch/arm64/mm/mmap.c index 54922d1275b8..a822f7d670e2 100644 --- a/arch/arm64/mm/mmap.c +++ b/arch/arm64/mm/mmap.c @@ -51,9 +51,14 @@ static unsigned long mmap_rnd(void) { unsigned long rnd = 0; - if (current->flags & PF_RANDOMIZE) - rnd = (long)get_random_int() & STACK_RND_MASK; - + if (current->flags & PF_RANDOMIZE) { +#ifdef CONFIG_COMPAT + if (test_thread_flag(TIF_32BIT)) + rnd = (unsigned long)get_random_int() & ((1 << mmap_rnd_compat_bits) - 1); + else +#endif + rnd = (unsigned long)get_random_int() & ((1 << mmap_rnd_bits) - 1); + } return rnd << PAGE_SHIFT; } |