On 10/28/10 4:12 PM, Robert Love wrote: > On Wed, 2010-10-27 at 20:40 +0800, Hillf Danton wrote: >> There seems info should get freed when error encountered. >> >> Signed-off-by: Hillf Danton <dhillf@xxxxxxxxx> >> --- >> >> --- a/drivers/scsi/libfc/fc_lport.c 2010-09-13 07:07:38.000000000 +0800 >> +++ b/drivers/scsi/libfc/fc_lport.c 2010-10-27 20:33:36.000000000 +0800 >> @@ -1766,8 +1766,10 @@ static int fc_lport_ct_request(struct fc >> 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); > > We cannot free the BSG info here. If you look at fc_exch_seq_send you > can see that it's attached to the exchange and then when the response is > received it is passed to the response handler, in the case > fc_lport_bsg_resp, where it is free'd. This is on failure of seq_send(). It's confusing because that returns the sequence, which is NULL on error. So, I think the kfree() is correct. > >> return -ECOMM; >> + } >> return 0; >> } >> _______________________________________________ >> devel mailing list >> devel@xxxxxxxxxxxxx >> http://www.open-fcoe.org/mailman/listinfo/devel > > > _______________________________________________ > devel mailing list > devel@xxxxxxxxxxxxx > http://www.open-fcoe.org/mailman/listinfo/devel -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html