diff options
author | Trond Myklebust <trond.myklebust@hammerspace.com> | 2022-10-27 23:50:12 +0300 |
---|---|---|
committer | Trond Myklebust <trond.myklebust@hammerspace.com> | 2022-11-28 06:09:59 +0300 |
commit | e83458fce080dc23c25353a1af90bfecf79c7369 (patch) | |
tree | b89b0e285bf57a3191bb9c802eeb7a7b74effbf0 /fs/nfs/nfs4proc.c | |
parent | 85aa8ddc3818718208c3cfdfda9c8c908c9dead1 (diff) | |
download | linux-e83458fce080dc23c25353a1af90bfecf79c7369.tar.xz |
NFSv4: Fix a credential leak in _nfs4_discover_trunking()
Fixes: 4f40a5b55446 ("NFSv4: Add an fattr allocation to _nfs4_discover_trunking()")
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Diffstat (limited to 'fs/nfs/nfs4proc.c')
-rw-r--r-- | fs/nfs/nfs4proc.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c index 98a867092039..bd89c7f06952 100644 --- a/fs/nfs/nfs4proc.c +++ b/fs/nfs/nfs4proc.c @@ -4018,7 +4018,7 @@ static int _nfs4_discover_trunking(struct nfs_server *server, page = alloc_page(GFP_KERNEL); if (!page) - return -ENOMEM; + goto out_put_cred; locations = kmalloc(sizeof(struct nfs4_fs_locations), GFP_KERNEL); if (!locations) goto out_free; @@ -4040,6 +4040,8 @@ out_free_2: kfree(locations); out_free: __free_page(page); +out_put_cred: + put_cred(cred); return status; } |