[NET]: Modify all rtnetlink methods to only work in the initial namespace (v2)
[deliverable/linux.git] / net / decnet / dn_route.c
index 2a5bb0714c7ee14ed77f5860a6ad10776e3f01d1..28aeba15cf123ab8412c0099d0cfe4111a251776 100644 (file)
@@ -1511,6 +1511,7 @@ rtattr_failure:
  */
 static int dn_cache_getroute(struct sk_buff *in_skb, struct nlmsghdr *nlh, void *arg)
 {
+       struct net *net = in_skb->sk->sk_net;
        struct rtattr **rta = arg;
        struct rtmsg *rtm = NLMSG_DATA(nlh);
        struct dn_route *rt = NULL;
@@ -1519,6 +1520,9 @@ static int dn_cache_getroute(struct sk_buff *in_skb, struct nlmsghdr *nlh, void
        struct sk_buff *skb;
        struct flowi fl;
 
+       if (net != &init_net)
+               return -EINVAL;
+
        memset(&fl, 0, sizeof(fl));
        fl.proto = DNPROTO_NSP;
 
@@ -1596,10 +1600,14 @@ out_free:
  */
 int dn_cache_dump(struct sk_buff *skb, struct netlink_callback *cb)
 {
+       struct net *net = skb->sk->sk_net;
        struct dn_route *rt;
        int h, s_h;
        int idx, s_idx;
 
+       if (net != &init_net)
+               return 0;
+
        if (NLMSG_PAYLOAD(cb->nlh, 0) < sizeof(struct rtmsg))
                return -EINVAL;
        if (!(((struct rtmsg *)NLMSG_DATA(cb->nlh))->rtm_flags&RTM_F_CLONED))
This page took 0.044261 seconds and 5 git commands to generate.