]> Pileus Git - ~andy/linux/blobdiff - net/decnet/dn_fib.c
net: Push capable(CAP_NET_ADMIN) into the rtnl methods
[~andy/linux] / net / decnet / dn_fib.c
index 102d6106a942fc32a8dedb7832711cbe94b4822b..e36614eccc0476d8c9fd1a3ebfbcb59bf14ffe4f 100644 (file)
@@ -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;