diff options
Diffstat (limited to 'mm')
-rw-r--r-- | mm/mmap.c | 10 |
1 files changed, 9 insertions, 1 deletions
@@ -254,7 +254,15 @@ SYSCALL_DEFINE1(brk, unsigned long, brk) | |||
254 | down_write(&mm->mmap_sem); | 254 | down_write(&mm->mmap_sem); |
255 | 255 | ||
256 | #ifdef CONFIG_COMPAT_BRK | 256 | #ifdef CONFIG_COMPAT_BRK |
257 | min_brk = mm->end_code; | 257 | /* |
258 | * CONFIG_COMPAT_BRK can still be overridden by setting | ||
259 | * randomize_va_space to 2, which will still cause mm->start_brk | ||
260 | * to be arbitrarily shifted | ||
261 | */ | ||
262 | if (mm->start_brk > PAGE_ALIGN(mm->end_data)) | ||
263 | min_brk = mm->start_brk; | ||
264 | else | ||
265 | min_brk = mm->end_data; | ||
258 | #else | 266 | #else |
259 | min_brk = mm->start_brk; | 267 | min_brk = mm->start_brk; |
260 | #endif | 268 | #endif |