diff options
author | Herbert Xu <herbert@gondor.apana.org.au> | 2006-02-22 14:47:13 -0800 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2006-02-23 16:10:53 -0800 |
commit | 21380b81ef8699179b535e197a95b891a7badac7 (patch) | |
tree | 1a6be9864cabbed59db6357b2f0244413acac4c4 /net/xfrm/xfrm_user.c | |
parent | 85259878499d6c428cba191bb4e415a250dcd75a (diff) | |
download | kernel_samsung_aries-21380b81ef8699179b535e197a95b891a7badac7.zip kernel_samsung_aries-21380b81ef8699179b535e197a95b891a7badac7.tar.gz kernel_samsung_aries-21380b81ef8699179b535e197a95b891a7badac7.tar.bz2 |
[XFRM]: Eliminate refcounting confusion by creating __xfrm_state_put().
We often just do an atomic_dec(&x->refcnt) on an xfrm_state object
because we know there is more than 1 reference remaining and thus
we can elide the heavier xfrm_state_put() call.
Do this behind an inline function called __xfrm_state_put() so that is
more obvious and also to allow us to more cleanly add refcount
debugging later.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/xfrm/xfrm_user.c')
-rw-r--r-- | net/xfrm/xfrm_user.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/xfrm/xfrm_user.c b/net/xfrm/xfrm_user.c index ac87a09..7de1755 100644 --- a/net/xfrm/xfrm_user.c +++ b/net/xfrm/xfrm_user.c @@ -345,7 +345,7 @@ static int xfrm_add_sa(struct sk_buff *skb, struct nlmsghdr *nlh, void **xfrma) if (err < 0) { x->km.state = XFRM_STATE_DEAD; - xfrm_state_put(x); + __xfrm_state_put(x); goto out; } |