X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=net%2Fdecnet%2Fdn_fib.c;h=e36614eccc0476d8c9fd1a3ebfbcb59bf14ffe4f;hb=abe303dbc22bd16cde6f1a62fc25f63cc254caf7;hp=102d6106a942fc32a8dedb7832711cbe94b4822b;hpb=2eac9eb8a2e64cbfcc300e9a8098edf424c1d16c;p=~andy%2Flinux diff --git a/net/decnet/dn_fib.c b/net/decnet/dn_fib.c index 102d6106a94..e36614eccc0 100644 --- a/net/decnet/dn_fib.c +++ b/net/decnet/dn_fib.c @@ -520,6 +520,9 @@ static int dn_fib_rtm_delroute(struct sk_buff *skb, struct nlmsghdr *nlh, void * struct rtattr **rta = arg; struct rtmsg *r = NLMSG_DATA(nlh); + if (!capable(CAP_NET_ADMIN)) + return -EPERM; + if (!net_eq(net, &init_net)) return -EINVAL; @@ -540,6 +543,9 @@ static int dn_fib_rtm_newroute(struct sk_buff *skb, struct nlmsghdr *nlh, void * struct rtattr **rta = arg; struct rtmsg *r = NLMSG_DATA(nlh); + if (!capable(CAP_NET_ADMIN)) + return -EPERM; + if (!net_eq(net, &init_net)) return -EINVAL;