Re: [PATCH v6 11/14] mips: Adjust brk randomization offset to fit generic version

From: Alexandre Ghiti
Date: Fri Aug 09 2019 - 05:45:58 EST


On 8/8/19 11:19 AM, Sergei Shtylyov wrote:
Hello!

On 08.08.2019 9:17, Alexandre Ghiti wrote:

This commit simply bumps up to 32MB and 1GB the random offset
of brk, compared to 8MB and 256MB, for 32bit and 64bit respectively.

Suggested-by: Kees Cook <keescook@xxxxxxxxxxxx>
Signed-off-by: Alexandre Ghiti <alex@xxxxxxxx>
Acked-by: Paul Burton <paul.burton@xxxxxxxx>
Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx>
Reviewed-by: Luis Chamberlain <mcgrof@xxxxxxxxxx>
---
 arch/mips/mm/mmap.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/arch/mips/mm/mmap.c b/arch/mips/mm/mmap.c
index a7e84b2e71d7..ff6ab87e9c56 100644
--- a/arch/mips/mm/mmap.c
+++ b/arch/mips/mm/mmap.c
[...]
@@ -189,11 +190,11 @@ static inline unsigned long brk_rnd(void)
ÂÂÂÂÂ unsigned long rnd = get_random_long();
 Â rnd = rnd << PAGE_SHIFT;
-ÂÂÂ /* 8MB for 32bit, 256MB for 64bit */
+ÂÂÂ /* 32MB for 32bit, 1GB for 64bit */
ÂÂÂÂÂ if (TASK_IS_32BIT_ADDR)
-ÂÂÂÂÂÂÂ rnd = rnd & 0x7ffffful;
+ÂÂÂÂÂÂÂ rnd = rnd & (SZ_32M - 1);
ÂÂÂÂÂ else
-ÂÂÂÂÂÂÂ rnd = rnd & 0xffffffful;
+ÂÂÂÂÂÂÂ rnd = rnd & (SZ_1G - 1);

ÂÂ Why not make these 'rnd &= SZ_* - 1', while at it anyways?


You're right, I could have. Again, this code gets removed afterwards, so I think it's ok
to leave it as is.

Anyway, thanks for your remarks Sergei !

Alex



[...]

MBR, Sergei

_______________________________________________
linux-riscv mailing list
linux-riscv@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/linux-riscv