diff options
author | Denis V. Lunev <den@openvz.org> | 2008-03-24 18:31:00 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-03-24 18:31:00 -0400 |
commit | cb84663e4d239f23f0d872bc6463c272e74daad8 (patch) | |
tree | f3153fbf15585870f98f261606df014b8780a548 /net/ipv4/ip_sockglue.c | |
parent | 7a6adb92fe301c10ca4dbd0d9f2422f5880595e7 (diff) |
[NETNS]: Process IP layer in the context of the correct namespace.
Replace all the rest of the init_net with a proper net on the IP layer.
Signed-off-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/ip_sockglue.c')
-rw-r--r-- | net/ipv4/ip_sockglue.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/net/ipv4/ip_sockglue.c b/net/ipv4/ip_sockglue.c index 0857f2d042cd..b854431047a4 100644 --- a/net/ipv4/ip_sockglue.c +++ b/net/ipv4/ip_sockglue.c | |||
@@ -449,7 +449,8 @@ static int do_ip_setsockopt(struct sock *sk, int level, | |||
449 | struct ip_options * opt = NULL; | 449 | struct ip_options * opt = NULL; |
450 | if (optlen > 40 || optlen < 0) | 450 | if (optlen > 40 || optlen < 0) |
451 | goto e_inval; | 451 | goto e_inval; |
452 | err = ip_options_get_from_user(&init_net, &opt, optval, optlen); | 452 | err = ip_options_get_from_user(sk->sk_net, &opt, |
453 | optval, optlen); | ||
453 | if (err) | 454 | if (err) |
454 | break; | 455 | break; |
455 | if (inet->is_icsk) { | 456 | if (inet->is_icsk) { |
@@ -589,13 +590,13 @@ static int do_ip_setsockopt(struct sock *sk, int level, | |||
589 | err = 0; | 590 | err = 0; |
590 | break; | 591 | break; |
591 | } | 592 | } |
592 | dev = ip_dev_find(&init_net, mreq.imr_address.s_addr); | 593 | dev = ip_dev_find(sk->sk_net, mreq.imr_address.s_addr); |
593 | if (dev) { | 594 | if (dev) { |
594 | mreq.imr_ifindex = dev->ifindex; | 595 | mreq.imr_ifindex = dev->ifindex; |
595 | dev_put(dev); | 596 | dev_put(dev); |
596 | } | 597 | } |
597 | } else | 598 | } else |
598 | dev = __dev_get_by_index(&init_net, mreq.imr_ifindex); | 599 | dev = __dev_get_by_index(sk->sk_net, mreq.imr_ifindex); |
599 | 600 | ||
600 | 601 | ||
601 | err = -EADDRNOTAVAIL; | 602 | err = -EADDRNOTAVAIL; |