diff options
author | remi.denis-courmont@nokia <remi.denis-courmont@nokia> | 2008-11-30 21:37:20 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-12-03 18:42:09 -0500 |
commit | bd7df219202f44e71e2e975a0fb5f76f946c1aef (patch) | |
tree | 6892264cc93ed3a77195cd94d9a3f7f9c6b66dd5 | |
parent | d25830e5507f6bc815f5dd7e2eb65f172e878a2b (diff) |
Phonet: do not dump addresses from other namespaces
Signed-off-by: RĂ©mi Denis-Courmont <remi.denis-courmont@nokia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | net/phonet/pn_netlink.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/net/phonet/pn_netlink.c b/net/phonet/pn_netlink.c index b1770d66bc8d..242fe8f8c322 100644 --- a/net/phonet/pn_netlink.c +++ b/net/phonet/pn_netlink.c | |||
@@ -123,6 +123,7 @@ nla_put_failure: | |||
123 | 123 | ||
124 | static int getaddr_dumpit(struct sk_buff *skb, struct netlink_callback *cb) | 124 | static int getaddr_dumpit(struct sk_buff *skb, struct netlink_callback *cb) |
125 | { | 125 | { |
126 | struct net *net = sock_net(skb->sk); | ||
126 | struct phonet_device *pnd; | 127 | struct phonet_device *pnd; |
127 | int dev_idx = 0, dev_start_idx = cb->args[0]; | 128 | int dev_idx = 0, dev_start_idx = cb->args[0]; |
128 | int addr_idx = 0, addr_start_idx = cb->args[1]; | 129 | int addr_idx = 0, addr_start_idx = cb->args[1]; |
@@ -131,6 +132,8 @@ static int getaddr_dumpit(struct sk_buff *skb, struct netlink_callback *cb) | |||
131 | list_for_each_entry(pnd, &pndevs.list, list) { | 132 | list_for_each_entry(pnd, &pndevs.list, list) { |
132 | u8 addr; | 133 | u8 addr; |
133 | 134 | ||
135 | if (!net_eq(dev_net(pnd->netdev), net)) | ||
136 | continue; | ||
134 | if (dev_idx > dev_start_idx) | 137 | if (dev_idx > dev_start_idx) |
135 | addr_start_idx = 0; | 138 | addr_start_idx = 0; |
136 | if (dev_idx++ < dev_start_idx) | 139 | if (dev_idx++ < dev_start_idx) |