On Wed, Sep 02, 2009 at 09:08:38AM -0500, Brad Bosch wrote: > > Assume the worker thread is executing between the dequeue in > async_chainiv_do_postponed and the clear_bit call in > async_chainiv_schedule_work. Further assume that we are processing It cannot. The worker thread can only execute when it owns the INUSE bit. In that case do_postponed will never call the schedule_work function. Perhaps you were misled by the clear_bit call in schedule_work. That is only used if we end up not scheduling the work. > Unfortunately, the offset problem is not easily reproduced with our > application, so testing long enough to be sure the problem is fixed > (assuming that it was indeed the cause of the oops) may not be > practical. All I can say at the moment is that I have not seen the > crash since I introduced the two patches I sent you. OK I'll forward this upstream then. Thanks, -- Visit Openswan at http://www.openswan.org/ Email: Herbert Xu ~{PmV>HI~} <herbert@xxxxxxxxxxxxxxxxxxx> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt -- To unsubscribe from this list: send the line "unsubscribe linux-crypto" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html