Re: [PATCH 3/6] lib/bucket_locks: use kvmalloc_array()

From: Michal Hocko
Date: Thu May 31 2018 - 11:30:02 EST


On Thu 31-05-18 10:01:51, Linus Torvalds wrote:
> On Wed, May 30, 2018 at 2:42 AM Michal Hocko <mhocko@xxxxxxxxxx> wrote:
> >
> > That being sad, if you believe that silently fixing up a code like that
> > is a good idea we can do the following of course:
>
> Ack.
>
> Except for:
>
> > Linus argues that this just motivates people to do even
> > more hacks like
> > if (gfp == GFP_KERNEL)
> > kvmalloc
> > else
> > kmalloc
> >
> > I haven't seen this happening but it is true that we can grow those in
> > future.
>
> This whole discussion came from the fact that YES, THIS IS ACTUALLY HAPPENING.
>
> See lib/bucket_locks.c - it just uses gfpflags_allow_blocking()
> instead of explicitly checking for GFP_KERNEL (probably because the
> only two cases it actually deals with is GFP_ATOMIC and GFP_KERNEL).

OK, I haven't noticed this one and will fix it up. So what about the
following?