aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv6/af_inet6.c
diff options
context:
space:
mode:
authorDaniel Lezcano <dlezcano@fr.ibm.com>2008-01-11 01:43:18 -0500
committerDavid S. Miller <davem@davemloft.net>2008-01-28 18:01:44 -0500
commitbfeade087005278fc8cafe230b7658a4f40c5acb (patch)
treed9bbacab07552cc6c33f9f022a34af2391d9ecc1 /net/ipv6/af_inet6.c
parent3c40090a0f5b69deecc5ca615f994957f949333d (diff)
[NETNS][IPV6]: inet6_addr - check ipv6 address per namespace
When a new address is added, we must check if the new address does not already exists. This patch makes this check to be aware of a network namespace, so the check will look if the address already exists for the specified network namespace. While the addresses are browsed, the addresses which do not belong to the namespace are discarded. Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com> Signed-off-by: Benjamin Thery <benjamin.thery@bull.net> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6/af_inet6.c')
-rw-r--r--net/ipv6/af_inet6.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/net/ipv6/af_inet6.c b/net/ipv6/af_inet6.c
index ac8772dd968f..3150c4be3c0c 100644
--- a/net/ipv6/af_inet6.c
+++ b/net/ipv6/af_inet6.c
@@ -314,7 +314,8 @@ int inet6_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len)
314 */ 314 */
315 v4addr = LOOPBACK4_IPV6; 315 v4addr = LOOPBACK4_IPV6;
316 if (!(addr_type & IPV6_ADDR_MULTICAST)) { 316 if (!(addr_type & IPV6_ADDR_MULTICAST)) {
317 if (!ipv6_chk_addr(&addr->sin6_addr, dev, 0)) { 317 if (!ipv6_chk_addr(&init_net, &addr->sin6_addr,
318 dev, 0)) {
318 if (dev) 319 if (dev)
319 dev_put(dev); 320 dev_put(dev);
320 err = -EADDRNOTAVAIL; 321 err = -EADDRNOTAVAIL;