From: NeilBrown <neilb@suse.de>
Subject: Allow NFSv4 to run execute-only files.
Patch-mainline: no
References: bnc#765523

NFSv4 currently requires read permission for all files
which are not accessed for write.  However that stops
us executing '--x' files, which should be allowed.

So if EXEC is requested, don't also request READ unless it was
explicitly requested.

Signed-off-by: Neil Brown <neilb@suse.de>

---
 fs/nfs/dir.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

--- linux-3.0-SLE11-SP3.orig/fs/nfs/dir.c
+++ linux-3.0-SLE11-SP3/fs/nfs/dir.c
@@ -2288,12 +2288,12 @@ static int nfs_open_permission_mask(int
 {
 	int mask = 0;
 
-	if (openflags & FMODE_READ)
-		mask |= MAY_READ;
 	if (openflags & FMODE_WRITE)
 		mask |= MAY_WRITE;
 	if (openflags & FMODE_EXEC)
 		mask |= MAY_EXEC;
+	else if (openflags & FMODE_READ)
+		mask |= MAY_READ;
 	return mask;
 }
 
