| From stable-bounces@linux.kernel.org Tue Feb 27 11:05:48 2007 |
| From: David Miller <davem@davemloft.net> |
| Date: Tue, 27 Feb 2007 11:04:27 -0800 (PST) |
| Subject: Fix xfrm_add_sa_expire() return value |
| To: stable@kernel.org |
| Cc: bunk@stusta.de |
| Message-ID: <20070227.110427.35664416.davem@davemloft.net> |
| |
| From: David Miller <davem@davemloft.net> |
| |
| [XFRM] xfrm_user: Fix return values of xfrm_add_sa_expire. |
| |
| As noted by Kent Yoder, this function will always return an |
| error. Make sure it returns zero on success. |
| |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| net/xfrm/xfrm_user.c | 6 +++--- |
| 1 file changed, 3 insertions(+), 3 deletions(-) |
| |
| --- linux-2.6.20.1.orig/net/xfrm/xfrm_user.c |
| +++ linux-2.6.20.1/net/xfrm/xfrm_user.c |
| @@ -1557,14 +1557,13 @@ static int xfrm_add_sa_expire(struct sk_ |
| 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_ |
| 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); |