Merge remote-tracking branch 'ovl/misc' into work.misc
[cascardo/linux.git] / fs / posix_acl.c
index ea3eb6f..8719392 100644 (file)
@@ -634,15 +634,15 @@ static void posix_acl_fix_xattr_userns(
        struct user_namespace *to, struct user_namespace *from,
        void *value, size_t size)
 {
-       posix_acl_xattr_header *header = (posix_acl_xattr_header *)value;
-       posix_acl_xattr_entry *entry = (posix_acl_xattr_entry *)(header+1), *end;
+       struct posix_acl_xattr_header *header = value;
+       struct posix_acl_xattr_entry *entry = (void *)(header + 1), *end;
        int count;
        kuid_t uid;
        kgid_t gid;
 
        if (!value)
                return;
-       if (size < sizeof(posix_acl_xattr_header))
+       if (size < sizeof(struct posix_acl_xattr_header))
                return;
        if (header->a_version != cpu_to_le32(POSIX_ACL_XATTR_VERSION))
                return;
@@ -692,15 +692,15 @@ struct posix_acl *
 posix_acl_from_xattr(struct user_namespace *user_ns,
                     const void *value, size_t size)
 {
-       posix_acl_xattr_header *header = (posix_acl_xattr_header *)value;
-       posix_acl_xattr_entry *entry = (posix_acl_xattr_entry *)(header+1), *end;
+       const struct posix_acl_xattr_header *header = value;
+       const struct posix_acl_xattr_entry *entry = (const void *)(header + 1), *end;
        int count;
        struct posix_acl *acl;
        struct posix_acl_entry *acl_e;
 
        if (!value)
                return NULL;
-       if (size < sizeof(posix_acl_xattr_header))
+       if (size < sizeof(struct posix_acl_xattr_header))
                 return ERR_PTR(-EINVAL);
        if (header->a_version != cpu_to_le32(POSIX_ACL_XATTR_VERSION))
                return ERR_PTR(-EOPNOTSUPP);
@@ -761,8 +761,8 @@ int
 posix_acl_to_xattr(struct user_namespace *user_ns, const struct posix_acl *acl,
                   void *buffer, size_t size)
 {
-       posix_acl_xattr_header *ext_acl = (posix_acl_xattr_header *)buffer;
-       posix_acl_xattr_entry *ext_entry;
+       struct posix_acl_xattr_header *ext_acl = buffer;
+       struct posix_acl_xattr_entry *ext_entry;
        int real_size, n;
 
        real_size = posix_acl_xattr_size(acl->a_count);
@@ -771,7 +771,7 @@ posix_acl_to_xattr(struct user_namespace *user_ns, const struct posix_acl *acl,
        if (real_size > size)
                return -ERANGE;
 
-       ext_entry = ext_acl->a_entries;
+       ext_entry = (void *)(ext_acl + 1);
        ext_acl->a_version = cpu_to_le32(POSIX_ACL_XATTR_VERSION);
 
        for (n=0; n < acl->a_count; n++, ext_entry++) {