* [PATCH net-next] RDS: rds_conn_lookup() should factor in the struct net for a match
@ 2015-09-03 20:24 Sowmini Varadhan
2015-09-03 20:36 ` santosh.shilimkar
2015-09-06 5:05 ` David Miller
0 siblings, 2 replies; 3+ messages in thread
From: Sowmini Varadhan @ 2015-09-03 20:24 UTC (permalink / raw)
To: rds-devel, netdev, linux-kernel
Cc: sowmini.varadhan, davem, santosh.shilimkar, ajaykumar.hotchandani
Only return a conn if the rds_conn_net(conn) matches the struct
net passed to rds_conn_lookup().
Fixes: 467fa15356ac ("RDS-TCP: Support multiple RDS-TCP listen endpoints,
one per netns.")
Signed-off-by: Sowmini Varadhan <sowmini.varadhan@oracle.com>
---
net/rds/connection.c | 9 +++++----
1 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/net/rds/connection.c b/net/rds/connection.c
index a50e652..9b2de5e 100644
--- a/net/rds/connection.c
+++ b/net/rds/connection.c
@@ -70,7 +70,8 @@ static struct hlist_head *rds_conn_bucket(__be32 laddr, __be32 faddr)
} while (0)
/* rcu read lock must be held or the connection spinlock */
-static struct rds_connection *rds_conn_lookup(struct hlist_head *head,
+static struct rds_connection *rds_conn_lookup(struct net *net,
+ struct hlist_head *head,
__be32 laddr, __be32 faddr,
struct rds_transport *trans)
{
@@ -78,7 +79,7 @@ static struct rds_connection *rds_conn_lookup(struct hlist_head *head,
hlist_for_each_entry_rcu(conn, head, c_hash_node) {
if (conn->c_faddr == faddr && conn->c_laddr == laddr &&
- conn->c_trans == trans) {
+ conn->c_trans == trans && net == rds_conn_net(conn)) {
ret = conn;
break;
}
@@ -132,7 +133,7 @@ static struct rds_connection *__rds_conn_create(struct net *net,
if (!is_outgoing && otrans->t_type == RDS_TRANS_TCP)
goto new_conn;
rcu_read_lock();
- conn = rds_conn_lookup(head, laddr, faddr, trans);
+ conn = rds_conn_lookup(net, head, laddr, faddr, trans);
if (conn && conn->c_loopback && conn->c_trans != &rds_loop_transport &&
laddr == faddr && !is_outgoing) {
/* This is a looped back IB connection, and we're
@@ -239,7 +240,7 @@ static struct rds_connection *__rds_conn_create(struct net *net,
if (!is_outgoing && otrans->t_type == RDS_TRANS_TCP)
found = NULL;
else
- found = rds_conn_lookup(head, laddr, faddr, trans);
+ found = rds_conn_lookup(net, head, laddr, faddr, trans);
if (found) {
trans->conn_free(conn->c_transport_data);
kmem_cache_free(rds_conn_slab, conn);
--
1.7.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH net-next] RDS: rds_conn_lookup() should factor in the struct net for a match
2015-09-03 20:24 [PATCH net-next] RDS: rds_conn_lookup() should factor in the struct net for a match Sowmini Varadhan
@ 2015-09-03 20:36 ` santosh.shilimkar
2015-09-06 5:05 ` David Miller
1 sibling, 0 replies; 3+ messages in thread
From: santosh.shilimkar @ 2015-09-03 20:36 UTC (permalink / raw)
To: Sowmini Varadhan, rds-devel, netdev, linux-kernel
Cc: davem, ajaykumar.hotchandani
On 9/3/15 1:24 PM, Sowmini Varadhan wrote:
>
> Only return a conn if the rds_conn_net(conn) matches the struct
> net passed to rds_conn_lookup().
>
> Fixes: 467fa15356ac ("RDS-TCP: Support multiple RDS-TCP listen endpoints,
> one per netns.")
>
> Signed-off-by: Sowmini Varadhan <sowmini.varadhan@oracle.com>
> ---
Acked-by: Santosh Shilimkar <santosh.shilimkar@oracle.com>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH net-next] RDS: rds_conn_lookup() should factor in the struct net for a match
2015-09-03 20:24 [PATCH net-next] RDS: rds_conn_lookup() should factor in the struct net for a match Sowmini Varadhan
2015-09-03 20:36 ` santosh.shilimkar
@ 2015-09-06 5:05 ` David Miller
1 sibling, 0 replies; 3+ messages in thread
From: David Miller @ 2015-09-06 5:05 UTC (permalink / raw)
To: sowmini.varadhan
Cc: rds-devel, netdev, linux-kernel, santosh.shilimkar,
ajaykumar.hotchandani
From: Sowmini Varadhan <sowmini.varadhan@oracle.com>
Date: Thu, 3 Sep 2015 16:24:52 -0400
>
> Only return a conn if the rds_conn_net(conn) matches the struct
> net passed to rds_conn_lookup().
>
> Fixes: 467fa15356ac ("RDS-TCP: Support multiple RDS-TCP listen endpoints,
> one per netns.")
>
> Signed-off-by: Sowmini Varadhan <sowmini.varadhan@oracle.com>
Applied.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2015-09-06 5:05 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-09-03 20:24 [PATCH net-next] RDS: rds_conn_lookup() should factor in the struct net for a match Sowmini Varadhan
2015-09-03 20:36 ` santosh.shilimkar
2015-09-06 5:05 ` David Miller
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).