diff options
author | rmacklem <rmacklem@FreeBSD.org> | 2015-05-02 12:18:28 +0000 |
---|---|---|
committer | rmacklem <rmacklem@FreeBSD.org> | 2015-05-02 12:18:28 +0000 |
commit | cb89ee4fb1be766544fdf12d5c9504049d4ec2a8 (patch) | |
tree | 1581ed72521fac839bb189cfcdef052a01232e99 /sys/fs | |
parent | 3b4742adf3f2d750ac669c18ad54a21def0c6dcc (diff) | |
download | FreeBSD-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.c | 3 |
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; |