Commit 5f9562eb authored by Hangyu Hua's avatar Hangyu Hua Committed by David S. Miller

rds: memory leak in __rds_conn_create()

__rds_conn_create() did not release conn->c_path when loop_trans != 0 and
trans->t_prefer_loopback != 0 and is_outgoing == 0.

Fixes: aced3ce5 ("RDS tcp loopback connection can hang")
Signed-off-by: default avatarHangyu Hua <hbh25y@gmail.com>
Reviewed-by: default avatarSharath Srinivasan <sharath.srinivasan@oracle.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent d971650e
...@@ -253,6 +253,7 @@ static struct rds_connection *__rds_conn_create(struct net *net, ...@@ -253,6 +253,7 @@ static struct rds_connection *__rds_conn_create(struct net *net,
* should end up here, but if it * should end up here, but if it
* does, reset/destroy the connection. * does, reset/destroy the connection.
*/ */
kfree(conn->c_path);
kmem_cache_free(rds_conn_slab, conn); kmem_cache_free(rds_conn_slab, conn);
conn = ERR_PTR(-EOPNOTSUPP); conn = ERR_PTR(-EOPNOTSUPP);
goto out; goto out;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment