mirror of
https://github.com/FEX-Emu/linux.git
synced 2024-12-22 09:22:37 +00:00
s390/mm: optimize randomize_et_dyn for !PF_RANDOMIZE
Skip the call to brk_rnd() if the PF_RANDOMIZE flag is not set for the process. This avoids the costly get_random_int() call. Modify arch_randomize_brk() as well to make it look like randomize_et_dyn(). Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
parent
61aa4884b7
commit
9efe4f2992
@ -261,20 +261,18 @@ static inline unsigned long brk_rnd(void)
|
||||
|
||||
unsigned long arch_randomize_brk(struct mm_struct *mm)
|
||||
{
|
||||
unsigned long ret = PAGE_ALIGN(mm->brk + brk_rnd());
|
||||
unsigned long ret;
|
||||
|
||||
if (ret < mm->brk)
|
||||
return mm->brk;
|
||||
return ret;
|
||||
ret = PAGE_ALIGN(mm->brk + brk_rnd());
|
||||
return (ret > mm->brk) ? ret : mm->brk;
|
||||
}
|
||||
|
||||
unsigned long randomize_et_dyn(unsigned long base)
|
||||
{
|
||||
unsigned long ret = PAGE_ALIGN(base + brk_rnd());
|
||||
unsigned long ret;
|
||||
|
||||
if (!(current->flags & PF_RANDOMIZE))
|
||||
return base;
|
||||
if (ret < base)
|
||||
return base;
|
||||
return ret;
|
||||
ret = PAGE_ALIGN(base + brk_rnd());
|
||||
return (ret > base) ? ret : base;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user