diff options
-rw-r--r-- | net/rds/connection.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/net/rds/connection.c b/net/rds/connection.c index 9e07c756d1f9..be3eecdebcc4 100644 --- a/net/rds/connection.c +++ b/net/rds/connection.c @@ -178,6 +178,12 @@ static struct rds_connection *__rds_conn_create(__be32 laddr, __be32 faddr, } } + if (trans == NULL) { + kmem_cache_free(rds_conn_slab, conn); + conn = ERR_PTR(-ENODEV); + goto out; + } + conn->c_trans = trans; ret = trans->conn_alloc(conn, gfp); |