Thread (5 messages) flat view 5 messages, 2 authors, 2012-08-20

Re: [PATCH 1/3 v2] crypto: caam - fix possible deadlock condition

From: Herbert Xu <herbert@gondor.apana.org.au>
Date: 2012-08-20 08:30:55

On Thu, Aug 09, 2012 at 07:00:14PM -0500, Kim Phillips wrote:
On Mon, 30 Jul 2012 15:56:04 +0800
Herbert Xu [off-list ref] wrote:
quoted
On Fri, Jul 13, 2012 at 06:04:23PM -0500, Kim Phillips wrote:
quoted
commit "crypto: caam - use non-irq versions of spinlocks for job rings"
made two bad assumptions:

(a) The caam_jr_enqueue lock isn't used in softirq context.
Not true: jr_enqueue can be interrupted by an incoming net
interrupt and the received packet may be sent for encryption,
via caam_jr_enqueue in softirq context, thereby inducing a
deadlock.

This is evidenced when running netperf over an IPSec tunnel
between two P4080's, with spinlock debugging turned on:
All patches applied.  Thanks Kim.
Herbert, just wanted to make sure that at least the first patch in
this series were also applied to the crypto tree, i.e., for 3.6
release because it fixes a potential deadlock condition.  The second
patch should, too, but it's less important IMO.

These are the commits to cherry pick from cryptodev into crypto:

4a90507 crypto: caam - fix possible deadlock condition
95bcaa3 crypto: caam - add backward compatible string sec4.0 (optional)
OK, I'll add these two patches to crypto-2.6.

Thanks,
-- 
Email: Herbert Xu [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