|
@@ -2589,7 +2589,8 @@ static inline void nfs4_exclusive_attrset(struct nfs4_opendata *opendata,
|
|
|
|
|
|
/* Except MODE, it seems harmless of setting twice. */
|
|
/* Except MODE, it seems harmless of setting twice. */
|
|
if (opendata->o_arg.createmode != NFS4_CREATE_EXCLUSIVE &&
|
|
if (opendata->o_arg.createmode != NFS4_CREATE_EXCLUSIVE &&
|
|
- attrset[1] & FATTR4_WORD1_MODE)
|
|
|
|
|
|
+ (attrset[1] & FATTR4_WORD1_MODE ||
|
|
|
|
+ attrset[2] & FATTR4_WORD2_MODE_UMASK))
|
|
sattr->ia_valid &= ~ATTR_MODE;
|
|
sattr->ia_valid &= ~ATTR_MODE;
|
|
|
|
|
|
if (attrset[2] & FATTR4_WORD2_SECURITY_LABEL)
|
|
if (attrset[2] & FATTR4_WORD2_SECURITY_LABEL)
|