.. | .. |
---|
4166 | 4166 | p = xdr_inline_decode(xdr, len); |
---|
4167 | 4167 | if (unlikely(!p)) |
---|
4168 | 4168 | return -EIO; |
---|
| 4169 | + bitmap[2] &= ~FATTR4_WORD2_SECURITY_LABEL; |
---|
4169 | 4170 | if (len < NFS4_MAXLABELLEN) { |
---|
4170 | | - if (label) { |
---|
4171 | | - if (label->len) { |
---|
4172 | | - if (label->len < len) |
---|
4173 | | - return -ERANGE; |
---|
4174 | | - memcpy(label->label, p, len); |
---|
4175 | | - } |
---|
| 4171 | + if (label && label->len) { |
---|
| 4172 | + if (label->len < len) |
---|
| 4173 | + return -ERANGE; |
---|
| 4174 | + memcpy(label->label, p, len); |
---|
4176 | 4175 | label->len = len; |
---|
4177 | 4176 | label->pi = pi; |
---|
4178 | 4177 | label->lfs = lfs; |
---|
4179 | 4178 | status = NFS_ATTR_FATTR_V4_SECURITY_LABEL; |
---|
4180 | 4179 | } |
---|
4181 | | - bitmap[2] &= ~FATTR4_WORD2_SECURITY_LABEL; |
---|
4182 | 4180 | } else |
---|
4183 | 4181 | printk(KERN_WARNING "%s: label too long (%u)!\n", |
---|
4184 | 4182 | __func__, len); |
---|