]> git.neil.brown.name Git - history.git/commit
[PATCH] kNFSd: Return correct result for ACCESS(READ) on eXecute-only file.
authorNeil Brown <neilb@cse.unsw.edu.au>
Sat, 12 Apr 2003 20:04:11 +0000 (13:04 -0700)
committerJames Bottomley <jejb@raven.il.steeleye.com>
Sat, 12 Apr 2003 20:04:11 +0000 (13:04 -0700)
commit4fe1336464cfb2d5c8a67d956ab2277e277ffcf2
treef57467f310ce67f95ea98df60b5f4cebe56b15e1
parent3a280533cdd6695d8589b7c42cc82fceca7c4d92
[PATCH] kNFSd: Return correct result for ACCESS(READ) on eXecute-only file.

Currently, an NFSv3 ACCESS check for READ permission on an
eXecute-only file will succeed where it should fail.

This is because nfsd_permission allows READ access to eXecute only
files so that mode 711 executables can be loaded and run, and
nfsd_access simply uses nfsd_permission.

This patch changes nfsd_permission to only map eXecute permission to
read permission of MAY_OWNER_OVERRIDE was set.  This is only set
when trying to read from a file, so ACCESS will no longer be tricked.

This change will only affect callers of nfsd_permission that specify
MAY_READ and not MAY_OWNER_OVERRIDE, and nfsd_access is the only
routine that calls nfsd_permission (via fh_verify) that way.
fs/nfsd/vfs.c