Re: [PATCH 2/2] execve: check the VM has enough memory at first

From: KOSAKI Motohiro
Date: Thu Sep 16 2010 - 01:52:07 EST


> > On Wed, Sep 8, 2010 at 10:04 PM, KOSAKI Motohiro
> > <kosaki.motohiro@xxxxxxxxxxxxxx> wrote:
> > >
> > > After this patch, execve() expand stack at first and receive to
> > > check vm_enough_memory() properly. then, too long argument of
> > > execve() than the machine memory return EFAULT properly.
> >
> > This is horrible. We don't want to walk the arguments one more time
> > just for this. Let's just improve the checks that we do as we go
> > along.
> >
> > Linus
>
> Okey. I'll consider new way in this night.

After while thinking, I decided to just drop this idea. because
1) If one pass check is must, we can't reuse vm-overcommit check.
2) Glibc has the duplicated hueristic, then we can't change it nor
introduce new hard limit. (Sh*t)
3) This is not must fix, it only mitigate a pain when accidental large
argv case. Only OOM fixes enough care intended attack case.
4) distro can change default of rlim_max of RLIMIT_STACK. It protect
from RLIM_INFINITY smash.

Briefly says, to introduce new limit has bad benefit/risk balance. Sadly.



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/