[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20121001225159.394708465@1wt.eu>
Date: Tue, 02 Oct 2012 00:52:39 +0200
From: Willy Tarreau <w@....eu>
To: linux-kernel@...r.kernel.org, stable@...r.kernel.org
Cc: Louis Rilling <louis.rilling@...labs.com>,
Jens Axboe <jens.axboe@...cle.com>, Willy Tarreau <w@....eu>
Subject: [ 042/180] block: Fix io_context leak after clone with CLONE_IO
2.6.32-longterm review patch. If anyone has any objections, please let me know.
------------------
From: Louis Rilling <louis.rilling@...labs.com>
commit 61cc74fbb87af6aa551a06a370590c9bc07e29d9 upstream
With CLONE_IO, copy_io() increments both ioc->refcount and ioc->nr_tasks.
However exit_io_context() only decrements ioc->refcount if ioc->nr_tasks
reaches 0.
Always call put_io_context() in exit_io_context().
Signed-off-by: Louis Rilling <louis.rilling@...labs.com>
Signed-off-by: Jens Axboe <jens.axboe@...cle.com>
Signed-off-by: Willy Tarreau <w@....eu>
---
block/blk-ioc.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/block/blk-ioc.c b/block/blk-ioc.c
index d4ed600..dcd0412 100644
--- a/block/blk-ioc.c
+++ b/block/blk-ioc.c
@@ -80,8 +80,8 @@ void exit_io_context(void)
ioc->aic->exit(ioc->aic);
cfq_exit(ioc);
- put_io_context(ioc);
}
+ put_io_context(ioc);
}
struct io_context *alloc_io_context(gfp_t gfp_flags, int node)
--
1.7.2.1.45.g54fbc
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists