Subject: [PATCH 1/4] mm: cma: Don't crash on allocation if CMA area can't be activated

From: [email-masked] (Laurent Pinchart)
Date: Fri, 24 Oct 2014 12:54:08 +0300

Hello,

On Friday 24 October 2014 11:50:14 Joonsoo Kim wrote:
> On Fri, Oct 24, 2014 at 10:02:49AM +0800, Weijie Yang wrote:
> > On Fri, Oct 24, 2014 at 7:42 AM, Laurent Pinchart wrote:
> > > On Thursday 23 October 2014 18:53:36 Michal Nazarewicz wrote:
> > >> On Thu, Oct 23 2014, Laurent Pinchart wrote:
> > >> > If activation of the CMA area fails its mutex won't be initialized,
> > >> > leading to an oops at allocation time when trying to lock the mutex.
> > >> > Fix this by failing allocation if the area hasn't been successfully
> > >> > actived, and detect that condition by moving the CMA bitmap
> > >> > allocation after page block reservation completion.
> > >> > 
> > >> > Signed-off-by: Laurent Pinchart
> > >> > <[email-masked]>
> > >> 
> > >> Cc: <[email-masked]>  # v3.17
> > >> Acked-by: Michal Nazarewicz <[email-masked]>
> > 
> > This patch is good, but how about add a active field in cma struct?
> > use cma->active to check whether cma is actived successfully.
> > I think it will make code more clear and readable.
> > Just my little opinion.
> 
> Or just setting cma->count to 0 would work fine.

I would prefer setting cma->count to 0 to avoid the extra field. I'll modify 
the patch accordingly.

-- 
Regards,

Laurent Pinchart