From 55dd3954907e38447140fb63bfe77110f7e50246 Mon Sep 17 00:00:00 2001 From: Maxime Bizon Date: Thu, 16 Jul 2009 06:32:52 +0000 Subject: [PATCH] ide: fix memory leak when flush command is issued I'm using ide on 2.6.30.1 with xfs filesystem. I noticed a kernel memory leak after writing lots of data, the kmalloc-96 slab cache keeps growing. It seems the struct ide_cmd kmalloced by idedisk_prepare_flush is never kfreed. Commit c60f4658f14c2bcc2a442143d4f3f7ebffb92a54 ("ide: move request type specific code from ide_end_drive_cmd() to callers (v3)") and 9cbd75bf9d610ad1fa5584357ca3ac82fce235eb ("ide: fix barriers support") cause this regression, cmd->rq must now be set for ide_complete_cmd to honor the IDE_TFLAG_DYN flag. Signed-off-by: Maxime Bizon Acked-by: Bartlomiej Zolnierkiewicz Signed-off-by: David S. Miller --- drivers/ide/ide-disk.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/ide/ide-disk.c b/drivers/ide/ide-disk.c index 695181120cdb9..7f878017b736f 100644 --- a/drivers/ide/ide-disk.c +++ b/drivers/ide/ide-disk.c @@ -455,6 +455,7 @@ static void idedisk_prepare_flush(struct request_queue *q, struct request *rq) rq->cmd_type = REQ_TYPE_ATA_TASKFILE; rq->special = cmd; + cmd->rq = rq; } ide_devset_get(multcount, mult_count); -- 2.39.5