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

From: Linus Torvalds
Date: Thu May 31 2018 - 11:02:10 EST


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).

Linus