Re: [PATCH -next] mm: delete oversized WARN_ON() in kvmalloc() calls

From: Andrew Morton
Date: Thu Dec 02 2021 - 17:03:50 EST


On Thu, 2 Dec 2021 13:23:13 -0800 Kees Cook <keescook@xxxxxxxxxxxx> wrote:

> > > I think we have two cases:
> > >
> > > - limiting kvmalloc allocations to INT_MAX
> > > - issuing a WARN when that limit is exceeded
> > >
> > > The argument for the having the WARN is "that amount should never be
> > > allocated so we want to find the pathological callers".
> > >
> > > But if the actual issue is that >INT_MAX is _acceptable_, then we have
> > > to do away with the entire check, not just the WARN.
> >
> > First we need to get rid from WARN_ON(), which is completely safe thing to do.
> >
> > Removal of the check can be done in second step as it will require audit
> > of whole kvmalloc* path.
>
> If those are legit sizes, I'm fine with dropping the WARN. (But I still
> think if they're legit sizes, we must also drop the INT_MAX limit.)

Can we suppress the WARN if the caller passed __GFP_NOWARN?