cifs: Check for equality with ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT
authorAndreas Gruenbacher <agruenba@redhat.com>
Wed, 13 Apr 2016 22:30:14 +0000 (00:30 +0200)
committerAl Viro <viro@zeniv.linux.org.uk>
Sat, 23 Apr 2016 19:33:03 +0000 (15:33 -0400)
The two values ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT are meant to be
enumerations, not bits in a bit mask.  Use '==' instead of '&' to check
for these values.

Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/cifs/cifssmb.c

index 76fcb50..f24a89c 100644 (file)
@@ -3366,7 +3366,7 @@ static int cifs_copy_posix_acl(char *trgt, char *src, const int buflen,
        if (le16_to_cpu(cifs_acl->version) != CIFS_ACL_VERSION)
                return -EOPNOTSUPP;
 
-       if (acl_type & ACL_TYPE_ACCESS) {
+       if (acl_type == ACL_TYPE_ACCESS) {
                count = le16_to_cpu(cifs_acl->access_entry_count);
                pACE = &cifs_acl->ace_array[0];
                size = sizeof(struct cifs_posix_acl);
@@ -3377,7 +3377,7 @@ static int cifs_copy_posix_acl(char *trgt, char *src, const int buflen,
                                 size_of_data_area, size);
                        return -EINVAL;
                }
-       } else if (acl_type & ACL_TYPE_DEFAULT) {
+       } else if (acl_type == ACL_TYPE_DEFAULT) {
                count = le16_to_cpu(cifs_acl->access_entry_count);
                size = sizeof(struct cifs_posix_acl);
                size += sizeof(struct cifs_posix_ace) * count;