linux-stable/fs/nfsd
Benjamin Coddington 0f4308a164 NFSD: Keep existing listeners on portlist error
[ Upstream commit c20106944e ]

If nfsd has existing listening sockets without any processes, then an error
returned from svc_create_xprt() for an additional transport will remove
those existing listeners.  We're seeing this in practice when userspace
attempts to create rpcrdma transports without having the rpcrdma modules
present before creating nfsd kernel processes.  Fix this by checking for
existing sockets before calling nfsd_destroy().

Signed-off-by: Benjamin Coddington <bcodding@redhat.com>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-10-27 09:56:47 +02:00
..
acl.h nfsd: eliminate an unnecessary acl size limit 2019-08-28 21:13:45 -04:00
auth.c
auth.h
blocklayout.c block: add a bdev_is_partition helper 2020-09-25 08:18:57 -06:00
blocklayoutxdr.c
blocklayoutxdr.h
cache.h nfsd4: make drc_slab global, not per-net 2020-06-01 17:44:45 -04:00
current_stateid.h
export.c NFSD: Map nfserr_wrongsec outside of nfsd_dispatch 2020-10-02 09:37:42 -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 nfsd: Don't keep looking up unhashed files in the nfsd file cache 2021-03-25 09:04:08 +01:00
filecache.h nfsd: convert file cache to use over/underflow safe refcount 2020-02-06 11:22:55 -05:00
flexfilelayout.c
flexfilelayoutxdr.c
flexfilelayoutxdr.h
idmap.h
Kconfig fs: nfsd: fix kconfig dependency warning for NFSD_V4 2021-04-07 15:00:03 +02:00
lockd.c
Makefile nfsd: remove fault injection code 2020-09-25 18:01:26 -04:00
netns.h nfsd: netns.h: delete a duplicated word 2020-07-24 17:25:13 -04:00
nfs2acl.c NFSD: Hoist status code encoding into XDR encoder functions 2020-10-12 10:29:44 -04:00
nfs3acl.c NFSD: Hoist status code encoding into XDR encoder functions 2020-10-12 10:29:44 -04:00
nfs3proc.c NFSD: MKNOD should return NFSERR_BADTYPE instead of NFSERR_INVAL 2020-11-05 17:20:12 -05:00
nfs3xdr.c nfsd4: readdirplus shouldn't return parent of export 2021-01-23 16:03:58 +01:00
nfs4acl.c
nfs4callback.c NFSD: fix error handling in NFSv4.0 callbacks 2021-04-07 15:00:05 +02: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 NFSv4.2: fix copy stateid copying for the async copy 2021-05-14 09:50:13 +02:00
nfs4recover.c nfsd: avoid a NULL dereference in __cld_pipe_upcall() 2020-07-13 17:28:46 -04:00
nfs4state.c nfsd: back channel stuck in SEQ4_STATUS_CB_PATH_DOWN 2021-10-09 14:40:55 +02:00
nfs4xdr.c nfsd4: Handle the NFSv4 READDIR 'dircount' hint being zero 2021-10-13 10:04:24 +02:00
nfscache.c silence nfscache allocation warnings with kvzalloc 2020-09-25 18:01:28 -04:00
nfsctl.c NFSD: Keep existing listeners on portlist error 2021-10-27 09:56:47 +02:00
nfsd.h nfsd: add defines for NFSv4.2 extended attribute support 2020-07-13 17:27:03 -04:00
nfsfh.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
nfsfh.h nfsd: handle nfs3 timestamps as unsigned 2019-12-19 17:46:08 -05:00
nfsproc.c new helper: inode_wrong_type() 2021-09-08 08:49:01 +02:00
nfssvc.c nfsd: Fix message level for normal termination 2020-12-30 11:53:44 +01:00
nfsxdr.c NFSD: Hoist status code encoding into XDR encoder functions 2020-10-12 10:29:44 -04:00
pnfs.h
state.h nfsd: remove fault injection code 2020-09-25 18:01:26 -04:00
stats.c proc: convert everything to "struct proc_ops" 2020-02-04 03:05:26 +00:00
stats.h
trace.c
trace.h NFSD: Fix TP_printk() format specifier in nfsd_clid_class 2021-07-20 16:05:50 +02:00
vfs.c nfsd: Reduce contention for the nfsd_file nf_rwsem 2021-07-20 16:05:53 +02:00
vfs.h nfsd: define xattr functions to call into their vfs counterparts 2020-07-13 17:27:03 -04:00
xdr.h NFSD: Hoist status code encoding into XDR encoder functions 2020-10-12 10:29:44 -04:00
xdr3.h NFSD: Encoder and decoder functions are always present 2020-10-02 09:37:41 -04:00
xdr4.h NFSD: Encoder and decoder functions are always present 2020-10-02 09:37:41 -04:00
xdr4cb.h NFSD CB_OFFLOAD xdr 2018-09-25 20:34:54 -04:00