On Wed 05-07-17 08:36:45, Michal Hocko wrote: > On Tue 04-07-17 16:31:52, Linus Torvalds wrote: > > On Tue, Jul 4, 2017 at 4:01 PM, Ben Hutchings <b...@decadent.org.uk> wrote: > > > > > > We have: > > > > > > bottom = 0xff803fff > > > sp = 0xffffb178 > > > > > > The relevant mappings are: > > > > > > ff7fc000-ff7fd000 rwxp 00000000 00:00 0 > > > fffdd000-ffffe000 rw-p 00000000 00:00 0 > > > [stack] > > > > Ugh. So that stack is actually 8MB in size, but the alloca() is about > > to use up almost all of it, and there's only about 28kB left between > > "bottom" and that 'rwx' mapping. > > > > Still, that rwx mapping is interesting: it is a single page, and it > > really is almost exactly 8MB below the stack. > > > > In fact, the top of stack (at 0xffffe000) is *exactly* 8MB+4kB from > > the top of that odd one-page allocation (0xff7fd000). > > Very interesting! I would be really curious whether changing ulimit to > something bigger changes the picture.
It's public holiday today here and I haven't read all new emails and I will be mostly offline today. I will catch up tomorrow. But before we go to more tricky workarounds. Could you double check that simply increasing the RLIMIT_STACK workarounds the problem here? Because if it does and other workarounds require some manual intervention then changing ulimit sounds like the least tricky one to me. -- Michal Hocko SUSE Labs