diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-03-01 17:27:01 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-03-01 17:27:01 -0800 |
commit | fb7d4045669b3ea0e92cf45963839a9808b7650c (patch) | |
tree | 4f8f2598bf27dd5ff2a096a3cb40ad83f9796c97 /net/xfrm/xfrm_user.c | |
parent | 100b425480d3a4c7dff4f99bead457d91ad19caf (diff) | |
parent | a9948a7e15015e7f2cb602190322b8ebb00c54c8 (diff) |
Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
[TCP]: Fix minisock tcp_create_openreq_child() typo.
[TCP]: Document several sysctls.
[NET]: Fix kfree(skb)
[NET]: Handle disabled preemption in gfp_any()
[BRIDGE]: Fix locking of set path cost.
[IPV6]: /proc/net/anycast6 unbalanced inet6_dev refcnt
[IPX]: Remove ancient changelog
[IPX]: Remove outdated information from Kconfig
[NET]: Revert socket.h/stat.h ifdef hacks.
[IPV6]: anycast refcnt fix
[XFRM] xfrm_user: Fix return values of xfrm_add_sa_expire.
Diffstat (limited to 'net/xfrm/xfrm_user.c')
-rw-r--r-- | net/xfrm/xfrm_user.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/net/xfrm/xfrm_user.c b/net/xfrm/xfrm_user.c index 256745321611..956cfe0ff7f8 100644 --- a/net/xfrm/xfrm_user.c +++ b/net/xfrm/xfrm_user.c @@ -1401,7 +1401,7 @@ static int xfrm_get_ae(struct sk_buff *skb, struct nlmsghdr *nlh, x = xfrm_state_lookup(&id->daddr, id->spi, id->proto, id->family); if (x == NULL) { - kfree(r_skb); + kfree_skb(r_skb); return -ESRCH; } @@ -1557,14 +1557,13 @@ static int xfrm_add_sa_expire(struct sk_buff *skb, struct nlmsghdr *nlh, struct xfrm_usersa_info *p = &ue->state; x = xfrm_state_lookup(&p->id.daddr, p->id.spi, p->id.proto, p->family); - err = -ENOENT; + err = -ENOENT; if (x == NULL) return err; - err = -EINVAL; - spin_lock_bh(&x->lock); + err = -EINVAL; if (x->km.state != XFRM_STATE_VALID) goto out; km_state_expired(x, ue->hard, current->pid); @@ -1574,6 +1573,7 @@ static int xfrm_add_sa_expire(struct sk_buff *skb, struct nlmsghdr *nlh, xfrm_audit_log(NETLINK_CB(skb).loginuid, NETLINK_CB(skb).sid, AUDIT_MAC_IPSEC_DELSA, 1, NULL, x); } + err = 0; out: spin_unlock_bh(&x->lock); xfrm_state_put(x); |