linux-stable/fs/nfsd
Jeff Layton 08683ece6e nfsd: fix handling of readdir in v4root vs. mount upcall timeout
commit cad853374d upstream.

If v4 READDIR operation hits a mountpoint and gets back an error,
then it will include that entry in the reply and set RDATTR_ERROR for it
to the error.

That's fine for "normal" exported filesystems, but on the v4root, we
need to be more careful to only expose the existence of dentries that
lead to exports.

If the mountd upcall times out while checking to see whether a
mountpoint on the v4root is exported, then we have no recourse other
than to fail the whole operation.

Cc: Steve Dickson <steved@redhat.com>
Link: https://bugzilla.kernel.org/show_bug.cgi?id=216777
Reported-by: JianHong Yin <yin-jianhong@163.com>
Signed-off-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-01-12 12:00:45 +01:00
..
Kconfig NFSD: Remove CONFIG_NFSD_V3 2022-03-11 10:25:14 -05:00
Makefile NFSD: Remove CONFIG_NFSD_V3 2022-03-11 10:25:14 -05:00
acl.h NFSD: add posix ACLs to struct nfsd_attrs 2022-08-04 10:28:03 -04:00
auth.c
auth.h
blocklayout.c block: remove genhd.h 2022-02-02 07:49:59 -07:00
blocklayoutxdr.c
blocklayoutxdr.h
cache.h
current_stateid.h
export.c fs: add is_idmapped_mnt() helper 2021-12-03 18:44:06 +01:00
export.h nfsd: report per-export stats 2021-01-25 09:36:28 -05:00
fault_inject.c
filecache.c nfsd: fix net-namespace logic in __nfsd_file_cache_purge 2022-11-10 18:17:18 +01:00
filecache.h NFSD: Ensure nf_inode is never dereferenced 2022-07-29 20:16:56 -04:00
flexfilelayout.c nfsd: use correct format characters 2022-03-17 19:47:38 -04:00
flexfilelayoutxdr.c
flexfilelayoutxdr.h
idmap.h
lockd.c NFSD: simplify struct nfsfh 2021-10-02 15:51:10 -04:00
netns.h NFSD: limit the number of v4 clients to 1024 per 1GB of system memory 2022-07-29 20:16:56 -04:00
nfs2acl.c NFSD: Finish converting the NFSv2 GETACL result encoder 2022-12-31 13:25:44 +01:00
nfs3acl.c NFSD: Finish converting the NFSv3 GETACL result encoder 2022-12-31 13:25:44 +01:00
nfs3proc.c NFSD: Protect against send buffer overflow in NFSv3 READ 2022-10-21 12:37:44 +02:00
nfs3xdr.c NFSD: Deprecate NFS_OFFSET_MAX 2022-02-09 09:24:40 -05:00
nfs4acl.c NFSD: add posix ACLs to struct nfsd_attrs 2022-08-04 10:28:03 -04:00
nfs4callback.c nfsd: under NFSv4.1, fix double svc_xprt_put on rpc_create failure 2022-12-31 13:26:37 +01:00
nfs4idmap.c
nfs4layouts.c nfsd: fix using the correct variable for sizeof() 2022-03-20 12:49:38 -04:00
nfs4proc.c NFSD: pass range end to vfs_fsync_range() instead of count 2022-12-31 13:25:47 +01:00
nfs4recover.c nfsd: Fix a memory leak in an error handling path 2022-10-21 12:38:01 +02:00
nfs4state.c nfsd: don't call nfsd_file_put from client states seqfile display 2022-12-31 13:25:44 +01:00
nfs4xdr.c nfsd: fix handling of readdir in v4root vs. mount upcall timeout 2023-01-12 12:00:45 +01:00
nfscache.c mm: shrinkers: provide shrinkers with names 2022-07-03 18:08:40 -07:00
nfsctl.c nfsd: silence extraneous printk on nfsd.ko insertion 2022-07-29 20:16:56 -04:00
nfsd.h NFSD: limit the number of v4 clients to 1024 per 1GB of system memory 2022-07-29 20:16:56 -04:00
nfsfh.c NFSD: discard fh_locked flag and fh_lock/fh_unlock 2022-08-04 10:28:48 -04:00
nfsfh.h NFSD: discard fh_locked flag and fh_lock/fh_unlock 2022-08-04 10:28:48 -04:00
nfsproc.c NFSD: Protect against send buffer overflow in NFSv2 READDIR 2022-10-21 12:38:01 +02:00
nfssvc.c nfsd: shut down the NFSv4 state objects before the filecache 2023-01-12 12:00:31 +01:00
nfsxdr.c SUNRPC: Change return value type of .pc_encode 2021-10-13 11:34:49 -04:00
pnfs.h
state.h NFSD: Make nfs4_put_copy() static 2022-07-29 20:16:59 -04:00
stats.c nfsd: make nfsd_stats.th_cnt atomic_t 2021-12-13 13:42:51 -05:00
stats.h nfsd: make nfsd_stats.th_cnt atomic_t 2021-12-13 13:42:51 -05:00
trace.c
trace.h NFSD: Move nfsd_file_trace_alloc() tracepoint 2022-07-29 20:16:07 -04:00
vfs.c vfs: fix copy_file_range() averts filesystem freeze protection 2022-12-08 11:30:16 +01:00
vfs.h NFSD: add posix ACLs to struct nfsd_attrs 2022-08-04 10:28:03 -04:00
xdr.h NFSD: prevent underflow in nfssvc_decode_writeargs() 2022-03-15 09:35:56 -04:00
xdr3.h SUNRPC: Change return value type of .pc_encode 2021-10-13 11:34:49 -04:00
xdr4.h NFSD: Fix handling of oversized NFSv4 COMPOUND requests 2022-10-21 12:38:01 +02:00
xdr4cb.h