Thread (10 messages) 10 messages, 6 authors, 2017-04-25

Re: [kernel-hardening] Re: [PATCH v2] powerpc/mm: Add support for runtime configuration of ASLR limits

From: Michael Ellerman <mpe@ellerman.id.au>
Date: 2017-04-24 22:44:21

Kees Cook [off-list ref] writes:
On Mon, Apr 24, 2017 at 7:29 AM, Michael Ellerman [off-list ref] wrote:
quoted
Balbir Singh [off-list ref] writes:
quoted
quoted
diff --git a/arch/powerpc/mm/mmap.c b/arch/powerpc/mm/mmap.c
index a5d9ef59debe..6141cfff634e 100644
--- a/arch/powerpc/mm/mmap.c
+++ b/arch/powerpc/mm/mmap.c
@@ -59,13 +59,14 @@ static inline int mmap_is_legacy(void)

 unsigned long arch_mmap_rnd(void)
 {
-    unsigned long rnd;
+    unsigned long shift, rnd;

-    /* 8MB for 32bit, 1GB for 64bit */
+    shift = mmap_rnd_bits;
+#ifdef CONFIG_COMPAT
     if (is_32bit_task())
-            rnd = get_random_long() % (1<<(23-PAGE_SHIFT));
-    else
-            rnd = get_random_long() % (1UL<<(30-PAGE_SHIFT));
+            shift = mmap_rnd_compat_bits;
+#endif
+    rnd = get_random_long() % (1 << shift);
Nitpick, 1 should be 1UL?
Nice catch!
quoted
No, shift can only be 29 at most IIRC?
The largest value in the kconfigs is 33?
Yeah you're right, for the 4K page kernel it can be 33.

Will fix.

cheers
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help