Messages in this thread Patch in this message | | | From | Wenwen Wang <> | Subject | [PATCH] NFSv4: Fix a memory leak bug | Date | Tue, 20 Aug 2019 02:54:10 -0500 |
| |
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, free 'page' and 'locations' before returning the error.
Signed-off-by: Wenwen Wang <wenwen@cs.uga.edu> --- fs/nfs/nfs4state.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/fs/nfs/nfs4state.c b/fs/nfs/nfs4state.c index cad4e06..37823dc 100644 --- a/fs/nfs/nfs4state.c +++ b/fs/nfs/nfs4state.c @@ -2095,8 +2095,12 @@ static int nfs4_try_migration(struct nfs_server *server, const struct cred *cred } status = nfs4_begin_drain_session(clp); - if (status != 0) + if (status != 0) { + if (page != NULL) + __free_page(page); + kfree(locations); return status; + } status = nfs4_replace_transport(server, locations); if (status != 0) { -- 2.7.4
| |