UPSTREAM: arm64: add macro to extract ESR_ELx.EC
[firefly-linux-kernel-4.4.55.git] / arch / arm64 / mm / mmap.c
index ed177475dd8ce6abbee845f40e1cdbe3ebe72adb..232f787a088ae8e992c52cba450159a43a900174 100644 (file)
@@ -51,8 +51,12 @@ unsigned long arch_mmap_rnd(void)
 {
        unsigned long rnd;
 
-       rnd = (unsigned long)get_random_int() & STACK_RND_MASK;
-
+#ifdef CONFIG_COMPAT
+       if (test_thread_flag(TIF_32BIT))
+               rnd = get_random_long() & ((1UL << mmap_rnd_compat_bits) - 1);
+       else
+#endif
+               rnd = get_random_long() & ((1UL << mmap_rnd_bits) - 1);
        return rnd << PAGE_SHIFT;
 }