diff options
author | rwatson <rwatson@FreeBSD.org> | 2007-04-15 15:50:50 +0000 |
---|---|---|
committer | rwatson <rwatson@FreeBSD.org> | 2007-04-15 15:50:50 +0000 |
commit | 35b5232a252c5133aaf2221318cbcb060b140f03 (patch) | |
tree | 69c0d80dae986d68f85ba29647c13a3fd80dd25e /sys/nfsserver | |
parent | 252acbdc5f419e408a922db39d75a65a5f007b19 (diff) | |
download | FreeBSD-src-35b5232a252c5133aaf2221318cbcb060b140f03.zip FreeBSD-src-35b5232a252c5133aaf2221318cbcb060b140f03.tar.gz |
In nfsrv_rcv(), don't reacquire the nfs server lock until after
nfs_realign() has been called, as it may sleep waiting on memory
allocation.
Reported by: simon
Diffstat (limited to 'sys/nfsserver')
-rw-r--r-- | sys/nfsserver/nfs_srvsock.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/nfsserver/nfs_srvsock.c b/sys/nfsserver/nfs_srvsock.c index 971368f..897e5f4 100644 --- a/sys/nfsserver/nfs_srvsock.c +++ b/sys/nfsserver/nfs_srvsock.c @@ -506,8 +506,8 @@ nfsrv_rcv(struct socket *so, void *arg, int waitflag) NFSD_LOCK(); continue; } - NFSD_LOCK(); nfs_realign(&mp, 10 * NFSX_UNSIGNED); + NFSD_LOCK(); rec->nr_address = nam; rec->nr_packet = mp; STAILQ_INSERT_TAIL(&slp->ns_rec, rec, nr_link); |