Re: Crypto oops in async_chainiv_do_postponed
From: Herbert Xu <herbert@gondor.apana.org.au>
Date: 2009-09-02 21:57:14
Also in:
linux-crypto
From: Herbert Xu <herbert@gondor.apana.org.au>
Date: 2009-09-02 21:57:14
Also in:
linux-crypto
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~} [off-list ref] Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt