| From: Gao feng <gaofeng@cn.fujitsu.com> |
| Date: Tue, 7 Aug 2012 00:23:11 +0000 |
| Subject: pptp: lookup route with the proper net namespace |
| |
| [ Upstream commit 08252b32311c3fa84219ad794d640af7399b5485 ] |
| |
| pptp always use init_net as the net namespace to lookup |
| route, this will cause route lookup failed in container. |
| |
| because we already set the correct net namespace to struct |
| sock in pptp_create,so fix this by using sock_net(sk) to |
| replace &init_net. |
| |
| Signed-off-by: Gao feng <gaofeng@cn.fujitsu.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Ben Hutchings <ben@decadent.org.uk> |
| --- |
| drivers/net/ppp/pptp.c | 4 ++-- |
| 1 file changed, 2 insertions(+), 2 deletions(-) |
| |
| diff --git a/drivers/net/ppp/pptp.c b/drivers/net/ppp/pptp.c |
| index f8a6853..ad6a9d9 100644 |
| --- a/drivers/net/ppp/pptp.c |
| +++ b/drivers/net/ppp/pptp.c |
| @@ -189,7 +189,7 @@ static int pptp_xmit(struct ppp_channel *chan, struct sk_buff *skb) |
| if (sk_pppox(po)->sk_state & PPPOX_DEAD) |
| goto tx_error; |
| |
| - rt = ip_route_output_ports(&init_net, &fl4, NULL, |
| + rt = ip_route_output_ports(sock_net(sk), &fl4, NULL, |
| opt->dst_addr.sin_addr.s_addr, |
| opt->src_addr.sin_addr.s_addr, |
| 0, 0, IPPROTO_GRE, |
| @@ -468,7 +468,7 @@ static int pptp_connect(struct socket *sock, struct sockaddr *uservaddr, |
| po->chan.private = sk; |
| po->chan.ops = &pptp_chan_ops; |
| |
| - rt = ip_route_output_ports(&init_net, &fl4, sk, |
| + rt = ip_route_output_ports(sock_net(sk), &fl4, sk, |
| opt->dst_addr.sin_addr.s_addr, |
| opt->src_addr.sin_addr.s_addr, |
| 0, 0, |