From: Eric Northup Date: Thu, 8 Nov 2012 09:55:50 +0000 (-0800) Subject: [SCSI] virtio_scsi: fix memory leak on full queue condition. X-Git-Tag: Ubuntu-5.13.0-19.19~23250^2~40 X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=b56d1003512c33aa1752d84e3fa078bc76b15bf8;p=mirror_ubuntu-jammy-kernel.git [SCSI] virtio_scsi: fix memory leak on full queue condition. virtscsi_queuecommand was leaking memory when the virtio queue was full. Tested: Guest operates correctly even with very small queue sizes, validated we're not leaking kmalloc-192 sized allocations anymore. Signed-off-by: Eric Northup Acked-by: Paolo Bonzini Signed-off-by: James Bottomley --- diff --git a/drivers/scsi/virtio_scsi.c b/drivers/scsi/virtio_scsi.c index 595af1ae4421..dd8dc27fa32c 100644 --- a/drivers/scsi/virtio_scsi.c +++ b/drivers/scsi/virtio_scsi.c @@ -469,6 +469,8 @@ static int virtscsi_queuecommand(struct Scsi_Host *sh, struct scsi_cmnd *sc) sizeof cmd->req.cmd, sizeof cmd->resp.cmd, GFP_ATOMIC) >= 0) ret = 0; + else + mempool_free(cmd, virtscsi_cmd_pool); out: return ret;