NFSv4: Fix a memory leak bug
authorWenwen Wang <wenwen@cs.uga.edu>
Wed, 21 Aug 2019 03:21:21 +0000 (22:21 -0500)
committerAnna Schumaker <Anna.Schumaker@Netapp.com>
Wed, 21 Aug 2019 20:39:29 +0000 (16:39 -0400)
In nfs4_try_migration(), if nfs4_begin_drain_session() fails, the
previously allocated 'page' and 'locations' are not deallocated, leading to
memory leaks. To fix this issue, go to the 'out' label to free 'page' and
'locations' before returning the error.

Signed-off-by: Wenwen Wang <wenwen@cs.uga.edu>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
fs/nfs/nfs4state.c

index cad4e064b328747e29fdc20578c53f28bf438607..e916aba7a7993192864e3196ad0364b785431167 100644 (file)
@@ -2095,8 +2095,10 @@ static int nfs4_try_migration(struct nfs_server *server, const struct cred *cred
        }
 
        status = nfs4_begin_drain_session(clp);
-       if (status != 0)
-               return status;
+       if (status != 0) {
+               result = status;
+               goto out;
+       }
 
        status = nfs4_replace_transport(server, locations);
        if (status != 0) {