summaryrefslogtreecommitdiffstats
path: root/sys/fs
diff options
context:
space:
mode:
authorrmacklem <rmacklem@FreeBSD.org>2015-05-02 12:18:28 +0000
committerrmacklem <rmacklem@FreeBSD.org>2015-05-02 12:18:28 +0000
commitcb89ee4fb1be766544fdf12d5c9504049d4ec2a8 (patch)
tree1581ed72521fac839bb189cfcdef052a01232e99 /sys/fs
parent3b4742adf3f2d750ac669c18ad54a21def0c6dcc (diff)
downloadFreeBSD-src-cb89ee4fb1be766544fdf12d5c9504049d4ec2a8.zip
FreeBSD-src-cb89ee4fb1be766544fdf12d5c9504049d4ec2a8.tar.gz
MFC: r281962
Fix the NFS server's handling of a bogus NFSv2 ROOT RPC. The ROOT RPC is deprecated in the NFSv2 RFC, RFC-1094 and should never be used by a client.
Diffstat (limited to 'sys/fs')
-rw-r--r--sys/fs/nfsserver/nfs_nfsdkrpc.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/fs/nfsserver/nfs_nfsdkrpc.c b/sys/fs/nfsserver/nfs_nfsdkrpc.c
index e63ddf7..1394d0a 100644
--- a/sys/fs/nfsserver/nfs_nfsdkrpc.c
+++ b/sys/fs/nfsserver/nfs_nfsdkrpc.c
@@ -120,7 +120,8 @@ nfssvc_program(struct svc_req *rqst, SVCXPRT *xprt)
memset(&nd, 0, sizeof(nd));
if (rqst->rq_vers == NFS_VER2) {
- if (rqst->rq_proc > NFSV2PROC_STATFS) {
+ if (rqst->rq_proc > NFSV2PROC_STATFS ||
+ newnfs_nfsv3_procid[rqst->rq_proc] == NFSPROC_NOOP) {
svcerr_noproc(rqst);
svc_freereq(rqst);
goto out;
OpenPOWER on IntegriCloud