diff options
author | K. Y. Srinivasan <kys@microsoft.com> | 2011-12-01 04:59:18 -0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2011-12-01 10:27:00 -0800 |
commit | a768a76d55c2798bbd86b81f50ef740312d69935 (patch) | |
tree | a0610e0b55a01fb57557168e36939a59b405bfbb /drivers/staging | |
parent | 2781866484624fabbe373b95cfd20d44d2c9a69e (diff) | |
download | op-kernel-dev-a768a76d55c2798bbd86b81f50ef740312d69935.zip op-kernel-dev-a768a76d55c2798bbd86b81f50ef740312d69935.tar.gz |
Staging: hv: storvsc: Fix a bug in storvsc_command_completion()
Fix a bug in storvsc_command_completion() that leaks memory when scatter/gather
lists are used on the "write" side.
Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging')
-rw-r--r-- | drivers/staging/hv/storvsc_drv.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/staging/hv/storvsc_drv.c b/drivers/staging/hv/storvsc_drv.c index 14ecb69..8dafe52 100644 --- a/drivers/staging/hv/storvsc_drv.c +++ b/drivers/staging/hv/storvsc_drv.c @@ -1123,13 +1123,12 @@ static void storvsc_command_completion(struct hv_storvsc_request *request) vm_srb = &request->vstor_packet.vm_srb; if (cmd_request->bounce_sgl_count) { - if (vm_srb->data_in == READ_TYPE) { + if (vm_srb->data_in == READ_TYPE) copy_from_bounce_buffer(scsi_sglist(scmnd), cmd_request->bounce_sgl, scsi_sg_count(scmnd)); - destroy_bounce_buffer(cmd_request->bounce_sgl, + destroy_bounce_buffer(cmd_request->bounce_sgl, cmd_request->bounce_sgl_count); - } } /* |