freebsd-src/sys/fs
Rick Macklem a5c55410b3 Fix a LOR between the NFS server and server side krpc.
Recent testing of the NFS-over-TLS code found a LOR between the mutex lock
used for sessions and the sleep lock used for server side krpc socket
structures.
The code in nfsrv_checksequence() would call SVC_RELEASE() with the mutex
held.  Normally this is ok, since all that happens is SVC_RELEASE()
decrements a reference count.  However, if the socket has just been shut
down, SVC_RELEASE() drops the reference count to 0 and acquires a sleep
lock during destruction of the server side krpc structure.

This patch fixes the problem by moving the SVC_RELEASE() call in
nfsrv_checksequence() down a few lines to below where the mutex is released.

MFC after:	1 week
2020-09-16 02:25:18 +00:00
..
autofs fs: clean up empty lines in .c and .h files 2020-09-01 21:18:40 +00:00
cd9660 fs: clean up empty lines in .c and .h files 2020-09-01 21:18:40 +00:00
cuse fs: clean up empty lines in .c and .h files 2020-09-01 21:18:40 +00:00
deadfs vfs: flatten vop vectors 2019-12-16 00:06:22 +00:00
devfs fs: clean up empty lines in .c and .h files 2020-09-01 21:18:40 +00:00
ext2fs fs: clean up empty lines in .c and .h files 2020-09-01 21:18:40 +00:00
fdescfs fs: clean up empty lines in .c and .h files 2020-09-01 21:18:40 +00:00
fifofs fs: clean up empty lines in .c and .h files 2020-09-01 21:18:40 +00:00
fuse fs: clean up empty lines in .c and .h files 2020-09-01 21:18:40 +00:00
mntfs Add a new "mntfs" pseudo file system which provides private device vnodes for 2020-03-06 18:41:37 +00:00
msdosfs fs: clean up empty lines in .c and .h files 2020-09-01 21:18:40 +00:00
nfs Do not copy vp into f_data for DTYPE_VNODE files. 2020-09-15 21:55:21 +00:00
nfsclient fs: clean up empty lines in .c and .h files 2020-09-01 21:18:40 +00:00
nfsserver Fix a LOR between the NFS server and server side krpc. 2020-09-16 02:25:18 +00:00
nullfs fs: clean up empty lines in .c and .h files 2020-09-01 21:18:40 +00:00
procfs fs: clean up empty lines in .c and .h files 2020-09-01 21:18:40 +00:00
pseudofs vfs: remove the thread argument from vget 2020-08-16 17:18:54 +00:00
smbfs fs: clean up empty lines in .c and .h files 2020-09-01 21:18:40 +00:00
tmpfs Add tmpfs page cache read support. 2020-09-15 22:19:16 +00:00
udf fs: clean up empty lines in .c and .h files 2020-09-01 21:18:40 +00:00
unionfs fs: clean up empty lines in .c and .h files 2020-09-01 21:18:40 +00:00