aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/libfc
diff options
context:
space:
mode:
authorHillf Danton <dhillf@gmail.com>2010-11-30 16:18:54 -0800
committerJames Bottomley <James.Bottomley@suse.de>2010-12-21 12:24:23 -0600
commit2d6dfb005e24d7e3404f4c0d333a94b050059173 (patch)
tree0695eb258a1cb9860a5dccf9a21e899025e843c9 /drivers/scsi/libfc
parent05fee645e96e732a79ad083cab8ddd4efd108e2c (diff)
downloadkernel_samsung_smdk4412-2d6dfb005e24d7e3404f4c0d333a94b050059173.zip
kernel_samsung_smdk4412-2d6dfb005e24d7e3404f4c0d333a94b050059173.tar.gz
kernel_samsung_smdk4412-2d6dfb005e24d7e3404f4c0d333a94b050059173.tar.bz2
[SCSI] libfc: fix memory leakage in local port
There seems info should get freed when error encountered. Signed-off-by: Hillf Danton <dhillf@gmail.com> Signed-off-by: Robert Love <robert.w.love@intel.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/scsi/libfc')
-rw-r--r--drivers/scsi/libfc/fc_lport.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/scsi/libfc/fc_lport.c b/drivers/scsi/libfc/fc_lport.c
index 9be63ed..9c1d6b8 100644
--- a/drivers/scsi/libfc/fc_lport.c
+++ b/drivers/scsi/libfc/fc_lport.c
@@ -1762,8 +1762,10 @@ static int fc_lport_ct_request(struct fc_bsg_job *job,
info->sg = job->reply_payload.sg_list;
if (!lport->tt.exch_seq_send(lport, fp, fc_lport_bsg_resp,
- NULL, info, tov))
+ NULL, info, tov)) {
+ kfree(info);
return -ECOMM;
+ }
return 0;
}