[IPSEC]: Lock state when copying non-atomic fields to user-space
authorHerbert Xu <herbert@gondor.apana.org.au>
Tue, 9 Oct 2007 20:31:47 +0000 (13:31 -0700)
committerDavid S. Miller <davem@sunset.davemloft.net>
Wed, 10 Oct 2007 23:55:02 +0000 (16:55 -0700)
commit050f009e16f908932070313c1745d09dc69fd62b
tree2176b8034065bf2e8b401865efcfaab912bb1997
parent68325d3b12ad5bce650c2883bb878257f197efff
[IPSEC]: Lock state when copying non-atomic fields to user-space

This patch adds locking so that when we're copying non-atomic fields such as
life-time or coaddr to user-space we don't get a partial result.

For af_key I've changed every instance of pfkey_xfrm_state2msg apart from
expiration notification to include the keys and life-times.  This is in-line
with XFRM behaviour.

The actual cases affected are:

* pfkey_getspi: No change as we don't have any keys to copy.
* key_notify_sa:
+ ADD/UPD: This wouldn't work otherwise.
+ DEL: It can't hurt.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/key/af_key.c
net/xfrm/xfrm_user.c