On Mon, Mar 06, 2017 at 11:30:24AM +0100, Michal Hocko wrote:
> +void *kvmalloc_node(size_t size, gfp_t flags, int node)
> +{
> +     gfp_t kmalloc_flags = flags;
> +     void *ret;
> +
> +     /*
> +      * vmalloc uses GFP_KERNEL for some internal allocations (e.g page 
> tables)
> +      * so the given set of flags has to be compatible.
> +      */
> +     WARN_ON_ONCE((flags & GFP_KERNEL) != GFP_KERNEL);

Hm, there are quite a few locations in the kernel that do something like:

        __vmalloc(len, GFP_NOFS, PAGE_KERNEL);

According to your patch, vmalloc can't really do GFP_NOFS, right?

-- 

Thanks,
Sasha

Reply via email to