Re: [PATCH v3 0/2] sysctl: handle overflow for file-max

From: Kees Cook
Date: Mon Dec 10 2018 - 12:51:42 EST


Hi Andrew,

Can you take this patch for -mm?

-Kees

On Sun, Dec 9, 2018 at 8:41 AM Christian Brauner
<christian.brauner@xxxxxxxxxxxxx> wrote:
>
> On Mon, Oct 29, 2018 at 10:44 PM Kees Cook <keescook@xxxxxxxxxxxx> wrote:
> >
> > On Mon, Oct 29, 2018 at 7:58 AM, Christian Brauner <christian@xxxxxxxxxx> wrote:
> > > On Wed, Oct 17, 2018 at 12:33:20AM +0200, Christian Brauner wrote:
> > >> Hey,
> > >>
> > >> Here is v3 of this patchset. Changelogs are in the individual commits.
> > >>
> > >> Currently, when writing
> > >>
> > >> echo 18446744073709551616 > /proc/sys/fs/file-max
> > >>
> > >> /proc/sys/fs/file-max will overflow and be set to 0. That quickly
> > >> crashes the system.
> > >>
> > >> The first version of this patch intended to detect the overflow and cap
> > >> at ULONG_MAX. However, we should not do this and rather return EINVAL on
> > >> overflow. The reasons are:
> > >> - this aligns with other sysctl handlers that simply reject overflows
> > >> (cf. [1], [2], and a bunch of others)
> > >> - we already do a partial fail on overflow right now
> > >> Namely, when the TMPBUFLEN is exceeded. So we already reject values
> > >> such as 184467440737095516160 (21 chars) but accept values such as
> > >> 18446744073709551616 (20 chars) but both are overflows. So we should
> > >> just always reject 64bit overflows and not special-case this based on
> > >> the number of chars.
> > >>
> > >> (This patchset is in reference to https://lkml.org/lkml/2018/10/11/585.)
> > >
> > > Just so that we don't forget, can we make sure that this gets picked
> > > into linux-next? :)
> >
> > I was hoping akpm would take this? Andrew, does the v3 look okay to you?
>
> gentle ping again :)
>
> Christian



--
Kees Cook