>-----Original Message----- >From: Mike Christie [mailto:[EMAIL PROTECTED] >Sent: Wednesday, August 27, 2008 12:52 PM > >Or if fc_exch_mgr_reset ran between the time fc_seq_lookup_recip drops >the ref from the fc_exch_find and when fc_exch_recv_req runs, can >fc_exch_mgr_reset free the ep we are trying to access before the added >holds in your patch?
Yes this is another issue, this can occur just after call to lp>tt.exch_get(lp, fp) in fc_exch_resp() or fc_exch_seq_send()(this is not an issue due to upper layer locks as we discussed before). I can fix this by extending exch locking period and that would possibly require change to exch_get() and fc_exch_find() returning with exch lock held to prevent fc_exch_reset() just after call to these function. As we discussed before we should keep exch lock through out Tx path to eliminate race with fc_exch_reset() and this issue adds to same category. If required then it should be okay to call netdev xmit with exch lock held and bh disabled to avoid race with fc_exch_reset(). Any comment on this ? _______________________________________________ devel mailing list [email protected] http://www.open-fcoe.org/mailman/listinfo/devel
