2019-04-04 06:20:53

by Alexandre Ghiti

[permalink] [raw]
Subject: [PATCH] s390: mmap base does not depend on ADDR_NO_RANDOMIZE personality

randomize_stack_top() checks for current task flag PF_RANDOMIZE in order
to use stack randomization and PF_RANDOMIZE is set when
ADDR_NO_RANDOMIZE is unset, so no need to check for ADDR_NO_RANDOMIZE
in stack_maxrandom_size.

Signed-off-by: Alexandre Ghiti <[email protected]>
---
arch/s390/mm/mmap.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/arch/s390/mm/mmap.c b/arch/s390/mm/mmap.c
index 687f2a4d3459..5185ed0a0463 100644
--- a/arch/s390/mm/mmap.c
+++ b/arch/s390/mm/mmap.c
@@ -24,8 +24,7 @@ static unsigned long stack_maxrandom_size(void)
{
if (!(current->flags & PF_RANDOMIZE))
return 0;
- if (current->personality & ADDR_NO_RANDOMIZE)
- return 0;
+
return STACK_RND_MASK << PAGE_SHIFT;
}

--
2.20.1


2019-06-01 10:57:11

by Heiko Carstens

[permalink] [raw]
Subject: Re: [PATCH] s390: mmap base does not depend on ADDR_NO_RANDOMIZE personality

On Thu, Apr 04, 2019 at 02:19:56AM -0400, Alexandre Ghiti wrote:
> randomize_stack_top() checks for current task flag PF_RANDOMIZE in order
> to use stack randomization and PF_RANDOMIZE is set when
> ADDR_NO_RANDOMIZE is unset, so no need to check for ADDR_NO_RANDOMIZE
> in stack_maxrandom_size.
>
> Signed-off-by: Alexandre Ghiti <[email protected]>
> ---
> arch/s390/mm/mmap.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/arch/s390/mm/mmap.c b/arch/s390/mm/mmap.c
> index 687f2a4d3459..5185ed0a0463 100644
> --- a/arch/s390/mm/mmap.c
> +++ b/arch/s390/mm/mmap.c
> @@ -24,8 +24,7 @@ static unsigned long stack_maxrandom_size(void)
> {
> if (!(current->flags & PF_RANDOMIZE))
> return 0;
> - if (current->personality & ADDR_NO_RANDOMIZE)
> - return 0;
> +
> return STACK_RND_MASK << PAGE_SHIFT;

Applied, thanks.