xfrm: Force a dst refcount before entering the xfrm type handlers
authorSteffen Klassert <steffen.klassert@secunet.com>
Tue, 15 Mar 2011 21:08:28 +0000 (21:08 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 28 Mar 2011 00:55:01 +0000 (17:55 -0700)
commit3bc07321ccc236f693ce1b6a8786f0a2e38bb87e
treeb20b9171ccfb5eb869d3f4c5f005eb7c221b9f70
parent1fbc78439291627642517f15b9b91f3125588143
xfrm: Force a dst refcount before entering the xfrm type handlers

Crypto requests might return asynchronous. In this case we leave
the rcu protected region, so force a refcount on the skb's
destination entry before we enter the xfrm type input/output
handlers.

This fixes a crash when a route is deleted whilst sending IPsec
data that is transformed by an asynchronous algorithm.

Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/xfrm/xfrm_input.c
net/xfrm/xfrm_output.c