diff options
author | Sowmini Varadhan <sowmini.varadhan@oracle.com> | 2015-08-05 05:43:25 (GMT) |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-08-07 18:29:57 (GMT) |
commit | d5a8ac28a7ff2f250d1bedbb6008dd2f6f6f1638 (patch) | |
tree | 66efc48335d6e97f76503e8c24e95e06b6a22b56 /net/rds/ib_cm.c | |
parent | 1ebd08a7e5ef6265092eae19a547674733dc1c01 (diff) | |
download | linux-d5a8ac28a7ff2f250d1bedbb6008dd2f6f6f1638.tar.xz |
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/ib_cm.c')
-rw-r--r-- | net/rds/ib_cm.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/net/rds/ib_cm.c b/net/rds/ib_cm.c index 0da2a45..f40d8f5 100644 --- a/net/rds/ib_cm.c +++ b/net/rds/ib_cm.c @@ -448,8 +448,9 @@ int rds_ib_cm_handle_connect(struct rdma_cm_id *cm_id, (unsigned long long)be64_to_cpu(lguid), (unsigned long long)be64_to_cpu(fguid)); - conn = rds_conn_create(dp->dp_daddr, dp->dp_saddr, &rds_ib_transport, - GFP_KERNEL); + /* RDS/IB is not currently netns aware, thus init_net */ + conn = rds_conn_create(&init_net, dp->dp_daddr, dp->dp_saddr, + &rds_ib_transport, GFP_KERNEL); if (IS_ERR(conn)) { rdsdebug("rds_conn_create failed (%ld)\n", PTR_ERR(conn)); conn = NULL; |