On Mon, 2017-07-10 at 20:16 +0200, Michal Hocko wrote: > OK, I misread the code. 32b applications on 64b systems do top down > by > default and only if they override this by ADDR_COMPAT_LAYOUT > personality. For some reason I thought that 32b userspace goes a > different path and makes sure that they are always doing bottom up. > > Anyway even if somebody really needs to grow stack really large we > have > the personality to give them the legacy layout.
I think what will happen when rlimit_stack is RLIMIT_INFINITY is that mmap_base will end up placing mm->mmap_base at 512MB (task_size / 6 * 5 below the top of address space) for 32 bit kernels, and we eventually fall back to a bottom-up search if the space below mmap_base is exhausted (if it ever is).