9p/net: fix memory leak in p9_client_create
authorzhengbin <zhengbin13@huawei.com>
Wed, 13 Mar 2019 08:01:37 +0000 (16:01 +0800)
committerBen Hutchings <ben@decadent.org.uk>
Thu, 4 Apr 2019 15:14:06 +0000 (16:14 +0100)
commit bb06c388fa20ae24cfe80c52488de718a7e3a53f upstream.

If msize is less than 4096, we should close and put trans, destroy
tagpool, not just free client. This patch fixes that.

Link: http://lkml.kernel.org/m/1552464097-142659-1-git-send-email-zhengbin13@huawei.com
Fixes: 574d356b7a02 ("9p/net: put a lower bound on msize")
Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: zhengbin <zhengbin13@huawei.com>
Signed-off-by: Dominique Martinet <dominique.martinet@cea.fr>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
net/9p/client.c

index 6b83bf6dac36295750e74ba65a83c31b1ec9452f..6cc2e73142b3aa8dc3d0aed028a358a3f8fb8058 100644 (file)
@@ -1066,7 +1066,7 @@ struct p9_client *p9_client_create(const char *dev_name, char *options)
                p9_debug(P9_DEBUG_ERROR,
                         "Please specify a msize of at least 4k\n");
                err = -EINVAL;
-               goto free_client;
+               goto close_trans;
        }
 
        err = p9_client_version(clnt);