From 03a816b46d7eba78da11e4025f0af195b32fa464 Mon Sep 17 00:00:00 2001 From: Steve Dickson Date: Wed, 9 Sep 2009 15:06:05 -0400 Subject: nfsd: restrict filehandles accepted in V4ROOT case On V4ROOT exports, only accept filehandles that are the *root* of some export. This allows mountd to allow or deny access to individual directories and symlinks on the pseudofilesystem. Note that the checks in readdir and lookup are not enough, since a malicious host with access to the network could guess filehandles that they weren't able to obtain through lookup or readdir. Signed-off-by: Steve Dickson Signed-off-by: J. Bruce Fields --- fs/nfsd/nfsd.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'fs/nfsd/nfsd.h') diff --git a/fs/nfsd/nfsd.h b/fs/nfsd/nfsd.h index 74f67c2aca3..ac121ad1654 100644 --- a/fs/nfsd/nfsd.h +++ b/fs/nfsd/nfsd.h @@ -70,6 +70,11 @@ int nfsd_create_serv(void); extern int nfsd_max_blksize; +static inline int nfsd_v4client(struct svc_rqst *rq) +{ + return rq->rq_prog == NFS_PROGRAM && rq->rq_vers == 4; +} + /* * NFSv4 State */ -- cgit v1.2.3-18-g5258