xs_setup_bc_tcp may return an existing xprt with non-NULL servername. xprt_create_transport should not kstrdup servername for it. Otherwise, those memory for servername will be leaked. Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> --- net/sunrpc/xprt.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/net/sunrpc/xprt.c b/net/sunrpc/xprt.c index ddd198e..6fa966f 100644 --- a/net/sunrpc/xprt.c +++ b/net/sunrpc/xprt.c @@ -1339,7 +1339,11 @@ found: xprt_destroy(xprt); return ERR_PTR(-EINVAL); } - xprt->servername = kstrdup(args->servername, GFP_KERNEL); + + /* servername may not be NULL for tcp NFSv4.1 backchannel */ + if (xprt->servername == NULL) + xprt->servername = kstrdup(args->servername, GFP_KERNEL); + if (xprt->servername == NULL) { xprt_destroy(xprt); return ERR_PTR(-ENOMEM); -- 1.8.4.2 -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html