Skip to content

Commit

Permalink
nfsd: fix supported attributes for acl & labels
Browse files Browse the repository at this point in the history
Oops--in 916d2d8 I moved some constants into an array for
convenience, but here I'm accidentally writing to that array.

The effect is that if you ever encounter a filesystem lacking support
for ACLs or security labels, then all queries of supported attributes
will report that attribute as unsupported from then on.

Fixes: 916d2d8 "nfsd: clean up supported attribute handling"
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
  • Loading branch information
J. Bruce Fields committed Jan 12, 2017
1 parent 0c744ea commit dcd2086
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion fs/nfsd/nfs4xdr.c
Original file line number Diff line number Diff line change
Expand Up @@ -2440,7 +2440,9 @@ nfsd4_encode_fattr(struct xdr_stream *xdr, struct svc_fh *fhp,
p++; /* to be backfilled later */

if (bmval0 & FATTR4_WORD0_SUPPORTED_ATTRS) {
u32 *supp = nfsd_suppattrs[minorversion];
u32 supp[3];

memcpy(supp, nfsd_suppattrs[minorversion], sizeof(supp));

if (!IS_POSIXACL(dentry->d_inode))
supp[0] &= ~FATTR4_WORD0_ACL;
Expand Down

0 comments on commit dcd2086

Please sign in to comment.