Re: [PATCH v3 -next 1/9] DMA, CMA: fix possible memory leak

2014-06-16 Thread Minchan Kim
Hi, Joonsoo

On Mon, Jun 16, 2014 at 02:40:43PM +0900, Joonsoo Kim wrote:
 We should free memory for bitmap when we find zone mis-match,
 otherwise this memory will leak.
 
 Additionally, I copy code comment from PPC KVM's CMA code to inform
 why we need to check zone mis-match.
 
 * Note
 Minchan suggested to add a tag for the stable, but, I don't do it,
 because I found this possibility during code-review and, IMO,
 this patch isn't suitable for stable tree.

Nice idea to put the comment in here. Thanks Joonsoo.

It seems you obey It must fix a real bug that bothers people
on Documentation/stable_kernel_rules.txt but it's a really obvious
bug and hard to get a report from people because limited user and
hard to detect small such small memory leak.

In my experince, Andrew perfered stable marking for such a obvious
problem but simple fix like this but not sure so let's pass the decision
to him and will learn a lesson from him and will follow the decision
from now on.

Thanks.

Acked-by: Minchan Kim minc...@kernel.org

 
 Acked-by: Zhang Yanfei zhangyan...@cn.fujitsu.com
 Reviewed-by: Michal Nazarewicz min...@mina86.com
 Reviewed-by: Aneesh Kumar K.V aneesh.ku...@linux.vnet.ibm.com
 Signed-off-by: Joonsoo Kim iamjoonsoo@lge.com
 
 diff --git a/drivers/base/dma-contiguous.c b/drivers/base/dma-contiguous.c
 index 83969f8..6467c91 100644
 --- a/drivers/base/dma-contiguous.c
 +++ b/drivers/base/dma-contiguous.c
 @@ -176,14 +176,24 @@ static int __init cma_activate_area(struct cma *cma)
   base_pfn = pfn;
   for (j = pageblock_nr_pages; j; --j, pfn++) {
   WARN_ON_ONCE(!pfn_valid(pfn));
 + /*
 +  * alloc_contig_range requires the pfn range
 +  * specified to be in the same zone. Make this
 +  * simple by forcing the entire CMA resv range
 +  * to be in the same zone.
 +  */
   if (page_zone(pfn_to_page(pfn)) != zone)
 - return -EINVAL;
 + goto err;
   }
   init_cma_reserved_pageblock(pfn_to_page(base_pfn));
   } while (--i);
  
   mutex_init(cma-lock);
   return 0;
 +
 +err:
 + kfree(cma-bitmap);
 + return -EINVAL;
  }
  
  static struct cma cma_areas[MAX_CMA_AREAS];
 -- 
 1.7.9.5
 
 --
 To unsubscribe, send a message with 'unsubscribe linux-mm' in
 the body to majord...@kvack.org.  For more info on Linux MM,
 see: http://www.linux-mm.org/ .
 Don't email: a href=mailto:d...@kvack.org; em...@kvack.org /a

-- 
Kind regards,
Minchan Kim
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Re: [PATCH v3 -next 1/9] DMA, CMA: fix possible memory leak

2014-06-16 Thread Joonsoo Kim
On Mon, Jun 16, 2014 at 03:27:19PM +0900, Minchan Kim wrote:
 Hi, Joonsoo
 
 On Mon, Jun 16, 2014 at 02:40:43PM +0900, Joonsoo Kim wrote:
  We should free memory for bitmap when we find zone mis-match,
  otherwise this memory will leak.
  
  Additionally, I copy code comment from PPC KVM's CMA code to inform
  why we need to check zone mis-match.
  
  * Note
  Minchan suggested to add a tag for the stable, but, I don't do it,
  because I found this possibility during code-review and, IMO,
  this patch isn't suitable for stable tree.
 
 Nice idea to put the comment in here. Thanks Joonsoo.
 
 It seems you obey It must fix a real bug that bothers people
 on Documentation/stable_kernel_rules.txt but it's a really obvious
 bug and hard to get a report from people because limited user and
 hard to detect small such small memory leak.
 
 In my experince, Andrew perfered stable marking for such a obvious
 problem but simple fix like this but not sure so let's pass the decision
 to him and will learn a lesson from him and will follow the decision
 from now on.

Yes, I intended to pass the decision to others. :)

 
 Thanks.
 
 Acked-by: Minchan Kim minc...@kernel.org

Thanks.
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev