[dm-devel] [PATCH 1/2] dm thin: fix memory leak of singleton bio-prison cell

Joe Thornber thornber at redhat.com
Mon Apr 23 09:26:39 UTC 2012


On Mon, Apr 23, 2012 at 11:02:46AM +0100, Alasdair G Kergon wrote:
> On Mon, Apr 23, 2012 at 08:24:08AM +0100, Joe Thornber wrote:
> > On Thu, Apr 12, 2012 at 06:34:34PM -0400, Mike Snitzer wrote:
> > > Add missing mempool_free() to __cell_release_singleton().
> > > 
> > > This is a pretty significant leak that will accumulate to over 2GB of
> > > leaked memory just from running the full thinp-test-suite.
> > When was this introduced?  With agk's tweaks for 3.4?
>  
> I think it was here:
>   http://www.redhat.com/archives/dm-devel/2012-March/msg00080.html

Yep, this should call mempool_release:

@@ -305,22 +310,45 @@ static void cell_release(struct cell *cell, struct bio_list *bios)
  * bio may be in the cell.  This function releases the cell, and also does
  * a sanity check.
  */
+static void __cell_release_singleton(struct cell *cell, struct bio *bio)
+{
+	hlist_del(&cell->list);
+	BUG_ON(cell->holder != bio);
+	BUG_ON(!bio_list_empty(&cell->bios));
+}
+




More information about the dm-devel mailing list