Staging: hv: storvsc: Fix a bug in storvsc_command_completion()
authorK. Y. Srinivasan <kys@microsoft.com>
Thu, 1 Dec 2011 12:59:18 +0000 (04:59 -0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 1 Dec 2011 18:27:00 +0000 (10:27 -0800)
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>
drivers/staging/hv/storvsc_drv.c

index 14ecb690d3805b89b5581b6b51793a1ecc57407a..8dafe52e9a69d29eb0e3a913885f3165a9ffc459 100644 (file)
@@ -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);
-               }
        }
 
        /*