Thread (11 messages) 11 messages, 2 authors, 2009-09-03

Re: Crypto oops in async_chainiv_do_postponed

From: Herbert Xu <herbert@gondor.apana.org.au>
Date: 2009-08-31 22:04:59
Also in: netdev

On Mon, Aug 31, 2009 at 11:11:42AM -0500, Brad Bosch wrote:
OK.  I was looking for something subtle because the crash takes a long
time to happen.  But do you agree that the race I described above also
a real bug?
No I don't think it is.  CHAINV_STATE_INUSE guarantees that only
one entity can use ctx->err at any time.
Yes, I see that this bug must be the bug we would likely encounter first.
Apparently, async_chainiv_do_postponed was never tested?  But I don't
see how the patch you proposed below helps.  We still don't seem to be
returning NULL from skcipher_dequeue_givcrypt when we reach the end of
the queue because __crypto_dequeue_request is not checking for NULL
before it subtracts offset.
Where we subtract the offset the pointer can never be NULL.  Please
try my patch.

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help