diff options
author | Sowmini Varadhan <sowmini.varadhan@oracle.com> | 2015-08-05 01:43:25 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-08-07 11:29:57 -0700 |
commit | d5a8ac28a7ff2f250d1bedbb6008dd2f6f6f1638 (patch) | |
tree | 66efc48335d6e97f76503e8c24e95e06b6a22b56 /net/rds/tcp.c | |
parent | 1ebd08a7e5ef6265092eae19a547674733dc1c01 (diff) |
RDS-TCP: Make RDS-TCP work correctly when it is set up in a netns other than init_net
Open the sockets calling sock_create_kern() with the correct struct net
pointer, and use that struct net pointer when verifying the
address passed to rds_bind().
Signed-off-by: Sowmini Varadhan <sowmini.varadhan@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/rds/tcp.c')
-rw-r--r-- | net/rds/tcp.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/net/rds/tcp.c b/net/rds/tcp.c index edac9ef2bc8b..98f5de3a1c7b 100644 --- a/net/rds/tcp.c +++ b/net/rds/tcp.c @@ -189,9 +189,9 @@ out: spin_unlock_irqrestore(&rds_tcp_tc_list_lock, flags); } -static int rds_tcp_laddr_check(__be32 addr) +static int rds_tcp_laddr_check(struct net *net, __be32 addr) { - if (inet_addr_type(&init_net, addr) == RTN_LOCAL) + if (inet_addr_type(net, addr) == RTN_LOCAL) return 0; return -EADDRNOTAVAIL; } |