diff options
author | Kinglong Mee <kinglongmee@gmail.com> | 2014-03-24 04:56:59 +0100 |
---|---|---|
committer | J. Bruce Fields <bfields@redhat.com> | 2014-03-29 02:23:40 +0100 |
commit | 3f42d2c428c724212c5f4249daea97e254eb0546 (patch) | |
tree | 34ffdd877fb5c7a7ce8a0cfeef89e471e47e8b13 | |
parent | SUNRPC: fix memory leak of peer addresses in XPRT (diff) | |
download | linux-3f42d2c428c724212c5f4249daea97e254eb0546.tar.xz linux-3f42d2c428c724212c5f4249daea97e254eb0546.zip |
NFSD: Using free_conn free connection
Connection from alloc_conn must be freed through free_conn,
otherwise, the reference of svc_xprt will never be put.
Signed-off-by: Kinglong Mee <kinglongmee@gmail.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
-rw-r--r-- | fs/nfsd/nfs4state.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c index 7415eac36501..5a9588e55f2e 100644 --- a/fs/nfsd/nfs4state.c +++ b/fs/nfsd/nfs4state.c @@ -2287,7 +2287,8 @@ out: if (!list_empty(&clp->cl_revoked)) seq->status_flags |= SEQ4_STATUS_RECALLABLE_STATE_REVOKED; out_no_session: - kfree(conn); + if (conn) + free_conn(conn); spin_unlock(&nn->client_lock); return status; out_put_session: |