s390/mm: optimize randomize_et_dyn for !PF_RANDOMIZE
[pandora-kernel.git] / arch / s390 / kernel / process.c
index 7ed0d4e..dd14532 100644 (file)
@@ -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;
 }