[CIFS] patch to fix incorrect encoding of number of aces on set mode
[firefly-linux-kernel-4.4.55.git] / fs / cifs / cifsacl.c
index 49485108454fe692ead6eb29f40cabc8e9cef96a..f93932c217728861d97ca4b1d4d2754a6f81fa1c 100644 (file)
@@ -372,10 +372,6 @@ static void parse_dacl(struct cifs_acl *pdacl, char *end_of_acl,
                ppace = kmalloc(num_aces * sizeof(struct cifs_ace *),
                                GFP_KERNEL);
 
-/*             cifscred->cecount = pdacl->num_aces;
-               cifscred->aces = kmalloc(num_aces *
-                       sizeof(struct cifs_ace *), GFP_KERNEL);*/
-
                for (i = 0; i < num_aces; ++i) {
                        ppace[i] = (struct cifs_ace *) (acl_base + acl_size);
 #ifdef CONFIG_CIFS_DEBUG2
@@ -428,7 +424,7 @@ static int set_chmod_dacl(struct cifs_acl *pndacl, struct cifs_sid *pownersid,
                                         &sid_everyone, nmode, S_IRWXO);
 
        pndacl->size = cpu_to_le16(size + sizeof(struct cifs_acl));
-       pndacl->num_aces = 3;
+       pndacl->num_aces = cpu_to_le32(3);
 
        return (0);
 }