Re: [RFC 2/4] mm: separate memory allocation and actual work in alloc_vmap_area()

From: Joe Perches
Date: Fri Dec 14 2018 - 14:40:52 EST


On Fri, 2018-12-14 at 10:13 -0800, Matthew Wilcox wrote:
> On Fri, Dec 14, 2018 at 10:07:18AM -0800, Roman Gushchin wrote:
> > +/*
> > + * Allocate a region of KVA of the specified size and alignment, within the
> > + * vstart and vend.
> > + */
> > +static struct vmap_area *alloc_vmap_area(unsigned long size,
> > + unsigned long align,
> > + unsigned long vstart,
> > + unsigned long vend,
> > + int node, gfp_t gfp_mask)
> > +{
> > + struct vmap_area *va;
> > + int ret;
> > +
> > + va = kmalloc_node(sizeof(struct vmap_area),
> > + gfp_mask & GFP_RECLAIM_MASK, node);
> > + if (unlikely(!va))
> > + return ERR_PTR(-ENOMEM);
> > +
> > + ret = init_vmap_area(va, size, align, vstart, vend, node, gfp_mask);
> > + if (ret) {
> > + kfree(va);
> > + return ERR_PTR(ret);
> > + }
> > +
> > + return va;
> > }
> >
> > +
>
> Another spurious blank line?

I don't think so.

I think it is the better style to separate
the error return from the normal return.

> With these two fixed,
> Reviewed-by: Matthew Wilcox <willy@xxxxxxxxxxxxx>
>