linux/fs/nfsd
Jeff Layton 682a7d064f 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 11:59:17 +01:00
..
acl.h
auth.c
auth.h
blocklayout.c block: remove REQ_OP_SCSI_{IN,OUT} 2021-06-30 15:34:19 -06:00
blocklayoutxdr.c
blocklayoutxdr.h
cache.h
current_stateid.h
export.c fs: add is_idmapped_mnt() helper 2022-07-02 16:41:14 +02:00
export.h nfsd: report per-export stats 2021-01-25 09:36:28 -05:00
fault_inject.c
filecache.c nfsd: eliminate the NFSD_FILE_BREAK_* flags 2022-08-17 14:22:45 +02:00
filecache.h nfsd: eliminate the NFSD_FILE_BREAK_* flags 2022-08-17 14:22:45 +02:00
flexfilelayout.c
flexfilelayoutxdr.c
flexfilelayoutxdr.h
idmap.h
Kconfig scsi: core: Rename CONFIG_BLK_SCSI_REQUEST to CONFIG_SCSI_COMMON 2021-07-28 22:24:27 -04:00
lockd.c Keep read and write fds with each nlm_file 2021-08-23 18:05:31 -04:00
Makefile nfsd: remove fault injection code 2020-09-25 18:01:26 -04:00
netns.h NFSD: delay unmount source's export after inter-server copy completed. 2021-05-25 17:06:51 -04:00
nfs2acl.c NFSD: Finish converting the NFSv2 GETACL result encoder 2022-12-31 13:14:03 +01:00
nfs3acl.c nfsd: fix NULL dereference in nfs3svc_encode_getaclres 2021-07-06 20:14:44 -04:00
nfs3proc.c NFSD: Protect against send buffer overflow in NFSv3 READ 2022-10-26 12:34:25 +02:00
nfs3xdr.c Revert "nfsd: skip some unnecessary stats in the v4 case" 2022-03-08 19:12:36 +01:00
nfs4acl.c acl: handle idmapped mounts 2021-01-24 14:27:17 +01:00
nfs4callback.c nfsd: under NFSv4.1, fix double svc_xprt_put on rpc_create failure 2022-12-31 13:14:37 +01:00
nfs4idmap.c nfsd: Use seq_putc() in two functions 2020-07-13 17:28:46 -04:00
nfs4layouts.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
nfs4proc.c NFSD: Fix handling of oversized NFSv4 COMPOUND requests 2022-10-26 12:34:38 +02:00
nfs4recover.c nfsd: Fix a memory leak in an error handling path 2022-10-26 12:34:37 +02:00
nfs4state.c nfsd: don't call nfsd_file_put from client states seqfile display 2022-12-31 13:14:03 +01:00
nfs4xdr.c nfsd: fix handling of readdir in v4root vs. mount upcall timeout 2023-01-12 11:59:17 +01:00
nfscache.c nfsd: destroy percpu stats counters after reply cache shutdown 2022-06-09 10:23:12 +02:00
nfsctl.c fsnotify: fix fsnotify hooks in pseudo filesystems 2022-02-01 17:27:01 +01:00
nfsd.h NFSD: delay unmount source's export after inter-server copy completed. 2021-05-25 17:06:51 -04:00
nfsfh.c NFSD: Update the GETATTR3res encoder to use struct xdr_stream 2021-03-22 10:18:51 -04:00
nfsfh.h NFSD: Constify @fh argument of knfsd_fh_hash() 2021-05-18 13:44:03 -04:00
nfsproc.c NFSD: Protect against send buffer overflow in NFSv2 READDIR 2022-10-26 12:34:38 +02:00
nfssvc.c nfsd: shut down the NFSv4 state objects before the filecache 2023-01-12 11:59:09 +01:00
nfsxdr.c NFSD: Have legacy NFSD WRITE decoders use xdr_stream_subsegment() 2022-03-08 19:12:33 +01:00
pnfs.h
state.h nfsd: track filehandle aliasing in nfs4_files 2021-04-19 16:41:36 -04:00
stats.c nfsd: protect concurrent access to nfsd stats counters 2021-01-25 09:36:27 -05:00
stats.h nfsd: report per-export stats 2021-01-25 09:36:28 -05:00
trace.c NFSD: Add SPDX header for fs/nfsd/trace.c 2020-11-30 13:00:24 -05:00
trace.h nfsd: eliminate the NFSD_FILE_BREAK_* flags 2022-08-17 14:22:45 +02:00
vfs.c vfs: fix copy_file_range() averts filesystem freeze protection 2022-12-19 12:36:39 +01:00
vfs.h NFSD: COMMIT operations must not return NFS?ERR_INVAL 2022-07-12 16:35:01 +02:00
xdr3.h NFSD: Have legacy NFSD WRITE decoders use xdr_stream_subsegment() 2022-03-08 19:12:33 +01:00
xdr4.h NFSD: Fix handling of oversized NFSv4 COMPOUND requests 2022-10-26 12:34:38 +02:00
xdr4cb.h
xdr.h NFSD: prevent underflow in nfssvc_decode_writeargs() 2022-04-08 14:22:52 +02:00