opnsense-src/sys/fs
Rick Macklem 3c6bc3e966 nfscl: Acquire a refcount on "cred" for mirrored pNFS RPCs
When the NFSv4.1/4.2 client is doing a pnfs mount to
mirrored DS(s), asynchronous threads are used to do the
RPCs against the DS(s) concurrently.  If a DS is slow
to reply, it is possible for the "cred" to be free'd
before the asynchronous thread is done with it, causing
a panic/crash.

This patch fixes the problem by acquiring a refcount on
the "cred" while it is being used by the asynchronous thread
for a DS RPC.  This bug was found during a recent IETF
NFSv4 testing event.

This bug only affects "pnfs" mounts to mirrored pNFS
servers.

(cherry picked from commit 70910e4b55)
2022-05-17 13:39:49 -07:00
..
autofs Ensure that dirent's d_off field is initialized 2021-01-03 11:50:31 -05:00
cd9660 buffer pager: allow get_blksize method to return error 2021-09-24 03:26:59 +03:00
cuse Fix for loading cuse.ko via rc.d . Make sure we declare the cuse(3) 2020-10-23 08:44:53 +00:00
deadfs vn_open(): If the vnode is reclaimed during open(2), do not return error. 2021-02-24 09:42:42 +02:00
devfs fs: fix a few common typos in source code comments 2022-02-09 07:18:56 +01:00
ext2fs fs: fix a few common typos in source code comments 2022-02-09 07:18:56 +01:00
fdescfs fdescfs: add an option to return underlying file vnode on lookup 2021-06-11 03:33:48 +03:00
fifofs fifo: support flock 2021-10-11 09:12:48 +00:00
fuse fusefs: fix FUSE_CREATE with file handles and fuse protocol < 7.9 2022-05-12 14:43:22 -06:00
mntfs mntfs: lock mntfs pseudo devfs vnode properly 2021-11-19 06:25:28 +02:00
msdosfs msdosfs: Fix mounting when the device sector size is >512B 2022-02-21 09:57:54 -05:00
nfs nfsclient: Delete unused function nfscl_getcookie() 2022-02-09 19:39:00 -08:00
nfsclient nfscl: Acquire a refcount on "cred" for mirrored pNFS RPCs 2022-05-17 13:39:49 -07:00
nfsserver nfsd: Fix session slot freeing for NFSv4.1/4.2 2022-05-16 12:21:06 -07:00
nullfs null_vput_pair(): release use reference on dvp earlier 2021-08-14 13:21:59 +03:00
procfs Create sys/reg.h for the common code previously in machine/reg.h 2022-05-12 15:12:59 -07:00
pseudofs pseudofs: use vget_prep + vget_finish instead of vget + the interlock 2021-05-22 18:22:35 +00:00
smbfs Ensure that dirent's d_off field is initialized 2021-01-03 11:50:31 -05:00
tmpfs tmpfs: remove write-only variables 2021-10-27 03:24:40 +03:00
udf Make MAXPHYS tunable. Bump MAXPHYS to 1M. 2020-11-28 12:12:51 +00:00
unionfs unionfs: do not use bare struct componentname 2021-07-07 13:23:30 +03:00