linux/fs/nfsd
J. Bruce Fields 9affa43581 nfsd4: fix NULL dereference in nfsd/clients display code
We hold the cl_lock here, and that's enough to keep stateid's from going
away, but it's not enough to prevent the files they point to from going
away.  Take fi_lock and a reference and check for NULL, as we do in
other code.

Reported-by: NeilBrown <neilb@suse.de>
Fixes: 78599c42ae ("nfsd4: add file to display list of client's opens")
Reviewed-by: NeilBrown <neilb@suse.de>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
2020-07-22 16:47:14 -04:00
..
Kconfig NFSD: Fix NFS server build errors 2020-03-16 12:04:34 -04:00
Makefile nfsd: add a new struct file caching facility to nfsd 2019-08-19 11:00:39 -04:00
acl.h nfsd: eliminate an unnecessary acl size limit 2019-08-28 21:13:45 -04:00
auth.c nfsd: auth: Fix gid sorting when rootsquash enabled 2018-01-22 20:13:07 -08:00
auth.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
blocklayout.c nfsd: convert fi_deleg_file and ls_file fields to nfsd_file 2019-08-19 11:09:09 -04:00
blocklayoutxdr.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
blocklayoutxdr.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
cache.h nfsd4: make drc_slab global, not per-net 2020-06-01 17:44:45 -04:00
current_stateid.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
export.c nfsd: export upcalls must not return ESTALE when mountd is down 2020-03-16 12:04:33 -04:00
export.h knfsd: Allow lockless lookups of the exports 2018-10-29 16:58:04 -04:00
fault_inject.c nfsd: no need to check return value of debugfs_create functions 2019-07-03 16:57:17 +02:00
filecache.c fs: nfsd: fileache.c: Use built-in RCU list checking 2020-03-16 12:04:31 -04:00
filecache.h nfsd: convert file cache to use over/underflow safe refcount 2020-02-06 11:22:55 -05:00
flexfilelayout.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
flexfilelayoutxdr.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
flexfilelayoutxdr.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
idmap.h nfsd: Remove duplicate define of IDMAP_NAMESZ/IDMAP_TYPE_xx 2015-07-20 14:58:46 -04:00
lockd.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
netns.h nfsd4: make drc_slab global, not per-net 2020-06-01 17:44:45 -04:00
nfs2acl.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
nfs3acl.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
nfs3proc.c nfsd: Ensure sampling of the write verifier is atomic with the write 2020-01-22 16:25:41 -05:00
nfs3xdr.c nfsd: Ensure sampling of the write verifier is atomic with the write 2020-01-22 16:25:41 -05:00
nfs4acl.c nfsd: check permissions when setting ACLs 2016-06-24 12:11:52 -04:00
nfs4callback.c nfsd: Fix svc_xprt refcnt leak when setup callback client failed 2020-05-28 18:15:00 -04:00
nfs4idmap.c nfsd: export upcalls must not return ESTALE when mountd is down 2020-03-16 12:04:33 -04:00
nfs4layouts.c nfsd: fix delay timer on 32-bit architectures 2019-12-19 17:46:08 -05:00
nfs4proc.c Merge branch 'nfsd-5.8' of git://linux-nfs.org/~cel/cel-2.6 into for-5.8-incoming 2020-05-21 10:58:15 -04:00
nfs4recover.c nfsd: use crypto_shash_tfm_digest() 2020-05-08 15:32:15 +10:00
nfs4state.c nfsd4: fix NULL dereference in nfsd/clients display code 2020-07-22 16:47:14 -04:00
nfs4xdr.c NFSD: Clean up nfsd4_encode_readv 2020-03-16 12:04:31 -04:00
nfscache.c nfsd: safer handling of corrupted c_type 2020-06-03 11:12:32 -04:00
nfsctl.c nfsd: fix nfsdfs inode reference count leak 2020-06-29 14:48:28 -04:00
nfsd.h nfsd4: fix nfsdfs reference count loop 2020-06-29 14:48:02 -04:00
nfsfh.c nfsd: Add tracing to nfsd_set_fh_dentry() 2020-03-16 12:04:33 -04:00
nfsfh.h nfsd: handle nfs3 timestamps as unsigned 2019-12-19 17:46:08 -05:00
nfsproc.c nfsd: Ensure sampling of the write verifier is atomic with the write 2020-01-22 16:25:41 -05:00
nfssvc.c nfsd: Fix old-style function definition 2020-05-11 09:16:14 -04:00
nfsxdr.c nfsd: knfsd must use the container user namespace 2019-04-24 09:46:35 -04:00
pnfs.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
state.h NFSD: Add tracepoints to the NFSD state management code 2020-05-20 17:30:44 -04:00
stats.c proc: convert everything to "struct proc_ops" 2020-02-04 03:05:26 +00:00
stats.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
trace.c nfsd: move include of state.h from trace.c to trace.h 2015-10-23 15:57:29 -04:00
trace.h NFSD: Add tracepoints for monitoring NFSD callbacks 2020-05-20 17:30:44 -04:00
vfs.c nfsd: apply umask on fs without ACL support 2020-06-17 10:48:58 -04:00
vfs.h nfsd: Ensure sampling of the write verifier is atomic with the write 2020-01-22 16:25:41 -05:00
xdr.h NFSD: Clean up legacy NFS SYMLINK argument XDR decoders 2018-04-03 15:08:16 -04:00
xdr3.h nfsd: Ensure sampling of the write verifier is atomic with the write 2020-01-22 16:25:41 -05:00
xdr4.h NFSD add nfs4 inter ssc to nfsd4_copy 2019-12-09 11:44:07 -05:00
xdr4cb.h NFSD CB_OFFLOAD xdr 2018-09-25 20:34:54 -04:00