From 849f08f1a2bd1b75449eba7285a3045271b97e5a Mon Sep 17 00:00:00 2001 From: Krzysztof Mazur Date: Tue, 14 Feb 2012 21:41:58 +0100 Subject: [PATCH 76/84] lsbd: fix queued rewrite request removal leak When the queued rewrite request was removed, because sector was written by user, the request was not freed. Signed-off-by: Krzysztof Mazur --- drivers/block/lsbd.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/block/lsbd.c b/drivers/block/lsbd.c index 1b37e60..3117c9f 100644 --- a/drivers/block/lsbd.c +++ b/drivers/block/lsbd.c @@ -1645,6 +1645,12 @@ static int lsbd_queue_bh(struct lsbd *p, struct buffer_head *bh, /* remove pending rewrite request */ __lsbd_req_remove(p, r2); p->queue_move_drop++; + + unlock_buffer(r2->bh); + brelse(r2->bh); + lsbd_put_buffer(p, r2->bh); + r2->bh = NULL; + kfree(r2); break; } } -- 1.8.4.652.g0d6e0ce