Message ID | 20170523234854.21452-18-bart.vanassche@sandisk.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 24/05/17 01:48, Bart Van Assche wrote: > Target drivers must guarantee that struct se_cmd and struct se_tmr_req > exist as long as target_tmr_work() is in progress. Since the last > access by the LIO core is a call to .check_stop_free() and since the > Xen scsiback .check_stop_free() drops a reference to the TMF, it is > already guaranteed that the struct se_cmd that corresponds to the TMF > exists as long as target_tmr_work() is in progress. Hence change the > second argument of transport_generic_free_cmd() from 1 into 0. > > Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com> > Cc: Juergen Gross <jgross@suse.com> > Cc: Christoph Hellwig <hch@lst.de> > Cc: Hannes Reinecke <hare@suse.com> > Cc: David Disseldorp <ddiss@suse.de> > Cc: xen-devel@lists.xenproject.org Acked-by: Juergen Gross <jgross@suse.com> Juergen -- To unsubscribe from this list: send the line "unsubscribe target-devel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Tue, 2017-05-23 at 16:48 -0700, Bart Van Assche wrote: > Target drivers must guarantee that struct se_cmd and struct se_tmr_req > exist as long as target_tmr_work() is in progress. Since the last > access by the LIO core is a call to .check_stop_free() and since the > Xen scsiback .check_stop_free() drops a reference to the TMF, it is > already guaranteed that the struct se_cmd that corresponds to the TMF > exists as long as target_tmr_work() is in progress. Hence change the > second argument of transport_generic_free_cmd() from 1 into 0. > > Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com> > Cc: Juergen Gross <jgross@suse.com> > Cc: Christoph Hellwig <hch@lst.de> > Cc: Hannes Reinecke <hare@suse.com> > Cc: David Disseldorp <ddiss@suse.de> > Cc: xen-devel@lists.xenproject.org > --- > drivers/xen/xen-scsiback.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) Applied. -- To unsubscribe from this list: send the line "unsubscribe target-devel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/xen/xen-scsiback.c b/drivers/xen/xen-scsiback.c index 4cb33a0916a8..7bc88fd43cfc 100644 --- a/drivers/xen/xen-scsiback.c +++ b/drivers/xen/xen-scsiback.c @@ -614,7 +614,7 @@ static void scsiback_device_action(struct vscsibk_pend *pending_req, SUCCESS : FAILED; scsiback_do_resp_with_sense(NULL, err, 0, pending_req); - transport_generic_free_cmd(&pending_req->se_cmd, 1); + transport_generic_free_cmd(&pending_req->se_cmd, 0); return; err:
Target drivers must guarantee that struct se_cmd and struct se_tmr_req exist as long as target_tmr_work() is in progress. Since the last access by the LIO core is a call to .check_stop_free() and since the Xen scsiback .check_stop_free() drops a reference to the TMF, it is already guaranteed that the struct se_cmd that corresponds to the TMF exists as long as target_tmr_work() is in progress. Hence change the second argument of transport_generic_free_cmd() from 1 into 0. Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com> Cc: Juergen Gross <jgross@suse.com> Cc: Christoph Hellwig <hch@lst.de> Cc: Hannes Reinecke <hare@suse.com> Cc: David Disseldorp <ddiss@suse.de> Cc: xen-devel@lists.xenproject.org --- drivers/xen/xen-scsiback.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)