Tested in snaps for a week.
OK bluhm@
-/* $OpenBSD: nfs_socket.c,v 1.140 2022/03/17 14:23:34 visa Exp $ */
+/* $OpenBSD: nfs_socket.c,v 1.141 2022/05/22 04:52:17 visa Exp $ */
/* $NetBSD: nfs_socket.c,v 1.27 1996/04/15 20:20:00 thorpej Exp $ */
/*
struct uio auio;
int flags, error;
+ KERNEL_LOCK();
+
if ((slp->ns_flag & SLP_VALID) == 0)
- return;
+ goto out;
/* Defer soreceive() to an nfsd. */
if (waitflag == M_DONTWAIT) {
if (waitflag == M_DONTWAIT &&
(slp->ns_rec || (slp->ns_flag & (SLP_NEEDQ | SLP_DISCONN))))
nfsrv_wakenfsd(slp);
+
+out:
+ KERNEL_UNLOCK();
}
/*