X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=net%2Fnetfilter%2Fnfnetlink.c;fp=net%2Fnetfilter%2Fnfnetlink.c;h=f6063e8f0050e93778ceac0b809e75f767c8c306;hb=64ba3f394c830ec48a1c31b53dcae312c56f1604;hp=52fdfa2686c9f2c76aa54e75083f1deabc3ac949;hpb=be1e6109ac94a859551f8e1774eb9a8469fe055c;p=linux-2.6.git diff --git a/net/netfilter/nfnetlink.c b/net/netfilter/nfnetlink.c index 52fdfa268..f6063e8f0 100644 --- a/net/netfilter/nfnetlink.c +++ b/net/netfilter/nfnetlink.c @@ -14,6 +14,7 @@ * of the GNU General Public License, incorporated herein by reference. */ +#include #include #include #include @@ -190,12 +191,6 @@ nfnetlink_check_attributes(struct nfnetlink_subsystem *subsys, return 0; } -int nfnetlink_has_listeners(unsigned int group) -{ - return netlink_has_listeners(nfnl, group); -} -EXPORT_SYMBOL_GPL(nfnetlink_has_listeners); - int nfnetlink_send(struct sk_buff *skb, u32 pid, unsigned group, int echo) { gfp_t allocation = in_interrupt() ? GFP_ATOMIC : GFP_KERNEL; @@ -228,7 +223,7 @@ static int nfnetlink_rcv_msg(struct sk_buff *skb, NFNL_SUBSYS_ID(nlh->nlmsg_type), NFNL_MSG_TYPE(nlh->nlmsg_type)); - if (security_netlink_recv(skb, CAP_NET_ADMIN)) { + if (!cap_raised(NETLINK_CB(skb).eff_cap, CAP_NET_ADMIN)) { DEBUGP("missing CAP_NET_ADMIN\n"); *errp = -EPERM; return -1;