From: NeilBrown <neilb@cse.unsw.edu.au>

there's a small typo in nfsd_acceptable.  It calls

	err = permission(parent->d_inode, S_IXOTH, NULL);

It really wants to use MAY_EXEC instead of S_IXOTH.  Those happen to be the
same at the moment, but may not do so forever.

From: Olaf Kirch <okir@suse.de>:
From: "J. Bruce Fields" <bfields@fieldses.org>
Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
---

 25-akpm/fs/nfsd/nfsfh.c |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)

diff -puN fs/nfsd/nfsfh.c~knfsd-3-of-11-nfsd_acceptable_typopatch fs/nfsd/nfsfh.c
--- 25/fs/nfsd/nfsfh.c~knfsd-3-of-11-nfsd_acceptable_typopatch	2004-05-28 00:10:34.993427600 -0700
+++ 25-akpm/fs/nfsd/nfsfh.c	2004-05-28 00:10:34.996427144 -0700
@@ -56,7 +56,7 @@ int nfsd_acceptable(void *expv, struct d
 		/* make sure parents give x permission to user */
 		int err;
 		parent = dget_parent(tdentry);
-		err = permission(parent->d_inode, S_IXOTH, NULL);
+		err = permission(parent->d_inode, MAY_EXEC, NULL);
 		if (err < 0) {
 			dput(parent);
 			break;
_