static unsigned long mmap_upper_limit(void) { unsigned long stack_base; /* Limit stack size to 1GB - see setup_arg_pages() in fs/exec.c */ stack_base = rlimit_max(RLIMIT_STACK); if (stack_base > (1 << 30)) stack_base = 1 << 30; return PAGE_ALIGN(STACK_TOP - stack_base); }
static unsigned long mmap_upper_limit(void) { unsigned long stack_base; /* Limit stack size - see setup_arg_pages() in fs/exec.c */ stack_base = rlimit_max(RLIMIT_STACK); if (stack_base > STACK_SIZE_MAX) stack_base = STACK_SIZE_MAX; /* Add space for stack randomization. */ stack_base += (STACK_RND_MASK << PAGE_SHIFT); return PAGE_ALIGN(STACK_TOP - stack_base); }