git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Revert to Fedora kernel-2.6.17-1.2187_FC5 patched with vs2.0.2.1; there are too many...
[linux-2.6.git]
/
net
/
xfrm
/
xfrm_user.c
diff --git
a/net/xfrm/xfrm_user.c
b/net/xfrm/xfrm_user.c
index
3e6a722
..
81d1005
100644
(file)
--- a/
net/xfrm/xfrm_user.c
+++ b/
net/xfrm/xfrm_user.c
@@
-427,25
+427,23
@@
static int xfrm_del_sa(struct sk_buff *skb, struct nlmsghdr *nlh, void **xfrma)
if (x == NULL)
return -ESRCH;
if (x == NULL)
return -ESRCH;
- if ((err = security_xfrm_state_delete(x)) != 0)
- goto out;
-
if (xfrm_state_kern(x)) {
if (xfrm_state_kern(x)) {
-
err = -EPERM
;
-
goto out
;
+
xfrm_state_put(x)
;
+
return -EPERM
;
}
err = xfrm_state_delete(x);
}
err = xfrm_state_delete(x);
- if (err < 0)
- goto out;
+ if (err < 0) {
+ xfrm_state_put(x);
+ return err;
+ }
c.seq = nlh->nlmsg_seq;
c.pid = nlh->nlmsg_pid;
c.event = nlh->nlmsg_type;
km_state_notify(x, &c);
c.seq = nlh->nlmsg_seq;
c.pid = nlh->nlmsg_pid;
c.event = nlh->nlmsg_type;
km_state_notify(x, &c);
-
-out:
xfrm_state_put(x);
xfrm_state_put(x);
+
return err;
}
return err;
}
@@
-1057,8
+1055,6
@@
static int xfrm_get_policy(struct sk_buff *skb, struct nlmsghdr *nlh, void **xfr
MSG_DONTWAIT);
}
} else {
MSG_DONTWAIT);
}
} else {
- if ((err = security_xfrm_policy_delete(xp)) != 0)
- goto out;
c.data.byid = p->index;
c.event = nlh->nlmsg_type;
c.seq = nlh->nlmsg_seq;
c.data.byid = p->index;
c.event = nlh->nlmsg_type;
c.seq = nlh->nlmsg_seq;
@@
-1068,7
+1064,6
@@
static int xfrm_get_policy(struct sk_buff *skb, struct nlmsghdr *nlh, void **xfr
xfrm_pol_put(xp);
xfrm_pol_put(xp);
-out:
return err;
}
return err;
}
@@
-1435,7
+1430,7
@@
static int xfrm_user_rcv_msg(struct sk_buff *skb, struct nlmsghdr *nlh, int *err
link = &xfrm_dispatch[type];
/* All operations require privileges, even GET */
link = &xfrm_dispatch[type];
/* All operations require privileges, even GET */
- if (security_netlink_recv(skb
, CAP_NET_ADMIN
)) {
+ if (security_netlink_recv(skb)) {
*errp = -EPERM;
return -1;
}
*errp = -EPERM;
return -1;
}