linux/fs/nfsd
Albert Fluegel 6e14b46b91 nfsd: don't return high mode bits
The Linux NFS server replies among other things to a "Check access permission"
the following:

NFS:    File type = 2 (Directory)
NFS:    Mode = 040755

A netapp server replies here:
NFS:    File type = 2 (Directory)
NFS:    Mode = 0755

The RFC 1813 i read:
   fattr3

      struct fattr3 {
         ftype3     type;
         mode3      mode;
         uint32     nlink;
...
For the mode bits only the lowest 9 are defined in the RFC

As far as I can tell, knfsd has always done this, so apparently it's harmless.
Nevertheless, it appears to be wrong.

Note this is already correct in the NFSv4 case, only v2 and v3 need
fixing.

Signed-off-by: J. Bruce Fields <bfields@redhat.com>
2013-12-10 20:35:58 -05:00
..
acl.h nfsd: Remove declaration of nonexistent nfs4_acl_permisison 2013-02-13 06:15:35 -08:00
auth.c nfsd: Properly compare and initialize kuids and kgids 2013-02-13 06:16:09 -08:00
auth.h nfsd: Remove nfsd_luid, nfsd_lgid, nfsd_ruid and nfsd_rgid 2013-02-13 06:15:51 -08:00
cache.h nfsd: add new reply_cache_stats file in nfsdfs 2013-04-03 11:47:24 -04:00
current_stateid.h nfsd41: use current stateid by value 2012-02-15 11:20:45 -05:00
export.c nfsd: -EINVAL on invalid anonuid/gid instead of silent failure 2013-10-29 17:46:14 -04:00
fault_inject.c Merge branch 'for-3.9' of git://linux-nfs.org/~bfields/linux 2013-02-28 18:02:55 -08:00
idmap.h nfsd: Convert idmap to use kuids and kgids 2013-02-13 06:15:49 -08:00
Kconfig nfsd: fix Kconfig syntax 2013-10-26 15:37:26 -04:00
lockd.c
Makefile NFSD: Added fault injection 2011-11-07 21:10:47 -05:00
netns.h nfsd4: make del_recall_lru per-network-namespace 2013-04-04 13:25:16 -04:00
nfs2acl.c nfsd: handle vfs_getattr errors in acl protocol 2013-02-26 02:46:09 -05:00
nfs3acl.c nfsd4: cleanup: replace rq_resused count by rq_next_page pointer 2012-12-17 22:00:16 -05:00
nfs3proc.c switch vfs_getattr() to struct path 2013-02-26 02:46:08 -05:00
nfs3xdr.c nfsd: don't return high mode bits 2013-12-10 20:35:58 -05:00
nfs4acl.c nfsd: Handle kuids and kgids in the nfs4acl to posix_acl conversion 2013-02-13 06:16:06 -08:00
nfs4callback.c nfsd4: check backchannel attributes on create_session 2013-04-09 16:53:56 -04:00
nfs4idmap.c Merge branch 'for-3.9' of git://linux-nfs.org/~bfields/linux 2013-02-28 18:02:55 -08:00
nfs4proc.c nfsd: Fix SP4_MACH_CRED negotiation in EXCHANGE_ID 2013-08-07 12:06:07 -04:00
nfs4recover.c nfsd: switch to %p[dD] 2013-10-24 23:34:51 -04:00
nfs4state.c Merge branch 'nfsd-next' of git://linux-nfs.org/~bfields/linux 2013-11-16 12:04:02 -08:00
nfs4xdr.c nfsd4: fix xdr decoding of large non-write compounds 2013-11-19 18:06:54 -05:00
nfscache.c nfsd: when reusing an existing repcache entry, unhash it first 2013-12-10 20:34:44 -05:00
nfsctl.c Merge branch 'for-3.10' of git://linux-nfs.org/~bfields/linux 2013-05-03 10:59:39 -07:00
nfsd.h nfsd4: fix minorversion support interface 2013-07-12 16:48:52 -04:00
nfsfh.c nfsd: fh_update should error out in unexpected cases 2013-10-29 17:43:52 -04:00
nfsfh.h nfsd: switch to %p[dD] 2013-10-24 23:34:51 -04:00
nfsproc.c switch vfs_getattr() to struct path 2013-02-26 02:46:08 -05:00
nfssvc.c nfsd4: fix minorversion support interface 2013-07-12 16:48:52 -04:00
nfsxdr.c nfsd: don't return high mode bits 2013-12-10 20:35:58 -05:00
state.h nfsd4: implement minimal SP4_MACH_CRED 2013-07-01 17:23:06 -04:00
stats.c SUNRPC: register service stats /proc entries in passed network namespace context 2012-01-31 19:28:18 -05:00
vfs.c nfsd: make sure to balance get/put_write_access 2013-11-18 12:06:48 -05:00
vfs.h NFSD: Server implementation of MAC Labeling 2013-05-15 09:27:02 -04:00
xdr.h nfsd: handle vfs_getattr errors in acl protocol 2013-02-26 02:46:09 -05:00
xdr3.h nfsd: handle vfs_getattr errors in acl protocol 2013-02-26 02:46:09 -05:00
xdr4.h NFSD: Server implementation of MAC Labeling 2013-05-15 09:27:02 -04:00
xdr4cb.h nfsd4: check backchannel attributes on create_session 2013-04-09 16:53:56 -04:00