linux/fs/nfsd
Jeff Layton 8a79261763 nfsd: fix refcount leak when file is unhashed after being found
If we wait_for_construction and find that the file is no longer hashed,
and we're going to retry the open, the old nfsd_file reference is
currently leaked. Put the reference before retrying.

Fixes: c6593366c0 ("nfsd: don't kill nfsd_files because of lease break error")
Signed-off-by: Jeff Layton <jlayton@kernel.org>
Tested-by: Youzhong Yang <youzhong@gmail.com>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
2024-09-01 10:04:54 -04:00
..
acl.h NFSD: add posix ACLs to struct nfsd_attrs 2022-08-04 10:28:03 -04:00
auth.c cred: get rid of CONFIG_DEBUG_CREDENTIALS 2023-12-15 14:19:48 -08:00
auth.h
blocklayout.c nfsd: allow layout state to be admin-revoked. 2024-03-01 09:12:22 -05:00
blocklayoutxdr.c NFSD: Make @gdev parameter of ->encode_getdeviceinfo a const pointer 2023-10-16 12:44:29 -04:00
blocklayoutxdr.h NFSD: Make @gdev parameter of ->encode_getdeviceinfo a const pointer 2023-10-16 12:44:29 -04:00
cache.h nfsd: make all of the nfsd stats per-network namespace 2024-03-01 09:12:10 -05:00
current_stateid.h
export.c fs: nfsd: use group allocation/free of per-cpu counters API 2024-05-06 09:07:17 -04:00
export.h NFSD: Fix frame size warning in svc_export_parse() 2023-10-16 12:44:39 -04:00
filecache.c nfsd: fix refcount leak when file is unhashed after being found 2024-09-01 10:04:54 -04:00
filecache.h nfsd: add list_head nf_gc to struct nfsd_file 2024-09-01 10:04:53 -04:00
flexfilelayout.c nfsd: move nfserrno() to vfs.c 2022-11-28 12:54:44 -05:00
flexfilelayoutxdr.c NFSD: Make @gdev parameter of ->encode_getdeviceinfo a const pointer 2023-10-16 12:44:29 -04:00
flexfilelayoutxdr.h NFSD: Make @gdev parameter of ->encode_getdeviceinfo a const pointer 2023-10-16 12:44:29 -04:00
idmap.h
Kconfig NFSD: Fix nfsdcld warning 2024-07-08 14:10:02 -04:00
lockd.c
Makefile NFSD: introduce netlink stubs 2023-10-16 12:44:09 -04:00
netlink.c nfsd: new netlink ops to get/set server pool_mode 2024-07-08 14:10:05 -04:00
netlink.h nfsd: new netlink ops to get/set server pool_mode 2024-07-08 14:10:05 -04:00
netns.h NFSD: add write_version to netlink command 2024-05-06 09:07:21 -04:00
nfs2acl.c NFSD: remove unused structs 'nfsd3_voidargs' 2024-07-08 14:10:01 -04:00
nfs3acl.c NFSD: remove unused structs 'nfsd3_voidargs' 2024-07-08 14:10:01 -04:00
nfs3proc.c nfsd: Fix NFSv3 atomicity bugs in nfsd_setattr() 2024-03-01 09:12:33 -05:00
nfs3xdr.c nfsd: Fix NFSv3 atomicity bugs in nfsd_setattr() 2024-03-01 09:12:33 -05:00
nfs4acl.c nfsd: inherit required unset default acls from effective set 2023-08-29 17:45:22 -04:00
nfs4callback.c NFSD: Move callback_wq into struct nfs4_client 2024-05-06 09:07:16 -04:00
nfs4idmap.c SUNRPC: return proper error from get_expiry() 2023-04-26 09:05:00 -04:00
nfs4layouts.c NFSD 6.9 Release Notes 2024-03-12 14:27:37 -07:00
nfs4proc.c NFSD: Support write delegations in LAYOUTGET 2024-07-08 14:10:03 -04:00
nfs4recover.c NFSD: Fix nfsdcld warning 2024-07-08 14:10:02 -04:00
nfs4state.c nfsd: fix nfsd4_deleg_getattr_conflict in presence of third party lease 2024-08-30 10:48:29 -04:00
nfs4xdr.c fs/nfsd: fix update of inode attrs in CB_GETATTR 2024-08-26 19:04:00 -04:00
nfscache.c nfsd: Simplify the allocation of slab caches in nfsd_drc_slab_create 2024-03-01 09:12:24 -05:00
nfsctl.c nfsd: don't set SVC_SOCK_ANONYMOUS when creating nfsd sockets 2024-07-22 09:47:39 -04:00
nfsd.h nfsd: make nfsd_svc take an array of thread counts 2024-07-08 14:10:04 -04:00
nfsfh.c fhandle: relax open_by_handle_at() permission checks 2024-05-28 15:57:23 +02:00
nfsfh.h NFSD: Add nfsd4_encode_fattr4_change() 2023-10-16 12:44:14 -04:00
nfsproc.c nfsd: Fix NFSv3 atomicity bugs in nfsd_setattr() 2024-03-01 09:12:33 -05:00
nfssvc.c nfsd: allow passing in array of thread counts via netlink 2024-07-08 14:10:05 -04:00
nfsxdr.c NFSD: Ensure that xdr_write_pages updates rq_next_page 2023-06-05 09:01:44 -04:00
pnfs.h nfsd: allow layout state to be admin-revoked. 2024-03-01 09:12:22 -05:00
state.h fs/nfsd: fix update of inode attrs in CB_GETATTR 2024-08-26 19:04:00 -04:00
stats.c fs: nfsd: use group allocation/free of per-cpu counters API 2024-05-06 09:07:17 -04:00
stats.h fs: nfsd: use group allocation/free of per-cpu counters API 2024-05-06 09:07:17 -04:00
trace.c
trace.h tracing/treewide: Remove second parameter of __assign_str() 2024-05-22 20:14:47 -04:00
vfs.c nfsd: set security label during create operations 2024-05-06 09:07:24 -04:00
vfs.h nfsd: set security label during create operations 2024-05-06 09:07:24 -04:00
xdr3.h nfsd: Fix NFSv3 atomicity bugs in nfsd_setattr() 2024-03-01 09:12:33 -05:00
xdr4.h NFSD: Add COPY status code to OFFLOAD_STATUS response 2024-05-06 09:07:23 -04:00
xdr4cb.h NFSD: add support for CB_GETATTR callback 2024-03-01 09:12:31 -05:00
xdr.h