diff options
Diffstat (limited to 'net/decnet/dn_table.c')
-rw-r--r-- | net/decnet/dn_table.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/net/decnet/dn_table.c b/net/decnet/dn_table.c index fda0772fa215..a3bdb8dd1fb2 100644 --- a/net/decnet/dn_table.c +++ b/net/decnet/dn_table.c | |||
@@ -463,12 +463,16 @@ static int dn_fib_table_dump(struct dn_fib_table *tb, struct sk_buff *skb, | |||
463 | 463 | ||
464 | int dn_fib_dump(struct sk_buff *skb, struct netlink_callback *cb) | 464 | int dn_fib_dump(struct sk_buff *skb, struct netlink_callback *cb) |
465 | { | 465 | { |
466 | struct net *net = skb->sk->sk_net; | ||
466 | unsigned int h, s_h; | 467 | unsigned int h, s_h; |
467 | unsigned int e = 0, s_e; | 468 | unsigned int e = 0, s_e; |
468 | struct dn_fib_table *tb; | 469 | struct dn_fib_table *tb; |
469 | struct hlist_node *node; | 470 | struct hlist_node *node; |
470 | int dumped = 0; | 471 | int dumped = 0; |
471 | 472 | ||
473 | if (net != &init_net) | ||
474 | return 0; | ||
475 | |||
472 | if (NLMSG_PAYLOAD(cb->nlh, 0) >= sizeof(struct rtmsg) && | 476 | if (NLMSG_PAYLOAD(cb->nlh, 0) >= sizeof(struct rtmsg) && |
473 | ((struct rtmsg *)NLMSG_DATA(cb->nlh))->rtm_flags&RTM_F_CLONED) | 477 | ((struct rtmsg *)NLMSG_DATA(cb->nlh))->rtm_flags&RTM_F_CLONED) |
474 | return dn_cache_dump(skb, cb); | 478 | return dn_cache_dump(skb, cb); |