[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