[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1ba4061a-c026-3b9e-cd91-3ed3a26fce1b@ghiti.fr>
Date: Thu, 25 Jul 2019 08:22:06 +0200
From: Alexandre Ghiti <alex@...ti.fr>
To: Andrew Morton <akpm@...ux-foundation.org>
Cc: Albert Ou <aou@...s.berkeley.edu>,
Kees Cook <keescook@...omium.org>,
Catalin Marinas <catalin.marinas@....com>,
Palmer Dabbelt <palmer@...ive.com>,
Will Deacon <will.deacon@....com>,
Russell King <linux@...linux.org.uk>,
Ralf Baechle <ralf@...ux-mips.org>,
linux-kernel@...r.kernel.org, linux-mm@...ck.org,
Paul Burton <paul.burton@...s.com>,
Alexander Viro <viro@...iv.linux.org.uk>,
James Hogan <jhogan@...nel.org>, linux-fsdevel@...r.kernel.org,
linux-riscv@...ts.infradead.org, linux-mips@...r.kernel.org,
Christoph Hellwig <hch@....de>,
linux-arm-kernel@...ts.infradead.org,
Luis Chamberlain <mcgrof@...nel.org>
Subject: Re: [PATCH REBASE v4 11/14] mips: Adjust brk randomization offset to
fit generic version
On 7/24/19 7:58 AM, 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@...omium.org>
> Signed-off-by: Alexandre Ghiti <alex@...ti.fr>
> Reviewed-by: Kees Cook <keescook@...omium.org>
> ---
> 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..faa5aa615389 100644
> --- a/arch/mips/mm/mmap.c
> +++ b/arch/mips/mm/mmap.c
> @@ -16,6 +16,7 @@
> #include <linux/random.h>
> #include <linux/sched/signal.h>
> #include <linux/sched/mm.h>
> +#include <linux/sizes.h>
>
> unsigned long shm_align_mask = PAGE_SIZE - 1; /* Sane caches */
> EXPORT_SYMBOL(shm_align_mask);
> @@ -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;
> else
> - rnd = rnd & 0xffffffful;
> + rnd = rnd & SZ_1G;
>
> return rnd;
> }
Hi Andrew,
I have just noticed that this patch is wrong, do you want me to send
another version of the entire series or is the following diff enough ?
This mistake gets fixed anyway in patch 13/14 when it gets merged with the
generic version.
Sorry about that,
Thanks,
Alex
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
@@ -16,6 +16,7 @@
#include <linux/random.h>
#include <linux/sched/signal.h>
#include <linux/sched/mm.h>
+#include <linux/sizes.h>
unsigned long shm_align_mask = PAGE_SIZE - 1; /* Sane caches */
EXPORT_SYMBOL(shm_align_mask);
@@ -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);
return rnd;
}
Powered by blists - more mailing lists