Replace all le32 "and" calculations with le32_and(...).

edge.strict_endians
Erik Larsson 2016-01-28 08:28:51 +01:00
parent 2b4c3a618c
commit 7b3700ed5e
9 changed files with 48 additions and 46 deletions

View File

@ -326,4 +326,6 @@
#define le16_and(a, b) ((a) & (b))
#define le32_and(a, b) ((a) & (b))
#endif /* defined _NTFS_ENDIANS_H */

View File

@ -775,7 +775,7 @@ int ntfs_inherit_acl(const ACL *oldacl, ACL *newacl,
memcpy(pnewace,poldace,acesz);
/* reencode GENERIC_ALL */
if (!le32_andz(pnewace->mask, GENERIC_ALL)) {
pnewace->mask &= ~GENERIC_ALL;
pnewace->mask = le32_and(pnewace->mask, ~GENERIC_ALL);
if (fordir)
pnewace->mask |= OWNER_RIGHTS
| DIR_READ
@ -802,12 +802,12 @@ int ntfs_inherit_acl(const ACL *oldacl, ACL *newacl,
pnewace->mask |= OWNER_RIGHTS
| FILE_READ
| FILE_EXEC;
pnewace->mask &= ~(GENERIC_READ
pnewace->mask = le32_and(pnewace->mask, ~(GENERIC_READ
| GENERIC_EXECUTE
| WRITE_DAC
| WRITE_OWNER
| DELETE | FILE_WRITE_EA
| FILE_WRITE_ATTRIBUTES);
| FILE_WRITE_ATTRIBUTES));
}
/* reencode GENERIC_WRITE */
if (!le32_andz(pnewace->mask, GENERIC_WRITE)) {
@ -817,10 +817,10 @@ int ntfs_inherit_acl(const ACL *oldacl, ACL *newacl,
else
pnewace->mask |= OWNER_RIGHTS
| FILE_WRITE;
pnewace->mask &= ~(GENERIC_WRITE
pnewace->mask = le32_and(pnewace->mask, ~(GENERIC_WRITE
| WRITE_DAC
| WRITE_OWNER
| FILE_DELETE_CHILD);
| FILE_DELETE_CHILD));
}
/* remove inheritance flags */
pnewace->flags &= ~(OBJECT_INHERIT_ACE
@ -2531,7 +2531,7 @@ static int buildacls(char *secattr, int offs, mode_t mode, int isdir,
denials |= FILE_READ;
}
}
denials &= ~grants;
denials = le32_and(denials, ~grants);
if (!le32_cmpz(denials)) {
pdace->type = ACCESS_DENIED_ACE_TYPE;
pdace->size = cpu_to_le16(usidsz + 8);
@ -2618,7 +2618,7 @@ static int buildacls(char *secattr, int offs, mode_t mode, int isdir,
if (mode & S_IROTH)
denials |= FILE_READ;
}
denials &= ~(grants | OWNER_RIGHTS);
denials = le32_and(denials, ~(grants | OWNER_RIGHTS));
if (!le32_cmpz(denials)) {
pdace->type = ACCESS_DENIED_ACE_TYPE;
pdace->size = cpu_to_le16(gsidsz + 8);
@ -3258,9 +3258,9 @@ static int build_std_permissions(const char *securattr,
allowown |= (allowgrp | allowall);
allowgrp |= allowall;
return (merge_permissions(isdir,
allowown & ~(denyown | denyall),
allowgrp & ~(denygrp | denyall),
allowall & ~denyall,
le32_and(allowown, ~(denyown | denyall)),
le32_and(allowgrp, ~(denygrp | denyall)),
le32_and(allowall, ~denyall),
special));
}
@ -3337,9 +3337,9 @@ static int build_owngrp_permissions(const char *securattr,
if (!grppresent)
allowgrp = allowall;
return (merge_permissions(isdir,
allowown & ~(denyown | denyall),
allowgrp & ~(denygrp | denyall),
allowall & ~denyall,
le32_and(allowown, ~(denyown | denyall)),
le32_and(allowgrp, ~(denygrp | denyall)),
le32_and(allowall, ~denyall),
special));
}
@ -3533,9 +3533,9 @@ static int build_ownadmin_permissions(const char *securattr,
allowgrp |= allowall;
}
return (merge_permissions(isdir,
allowown & ~(denyown | denyall),
allowgrp & ~(denygrp | denyall),
allowall & ~denyall,
le32_and(allowown, ~(denyown | denyall)),
le32_and(allowgrp, ~(denygrp | denyall)),
le32_and(allowall, ~denyall),
special));
}

View File

@ -102,7 +102,7 @@ static void NAttrSetFlag(ntfs_attr *na, FILE_ATTR_FLAGS flag)
static void NAttrClearFlag(ntfs_attr *na, FILE_ATTR_FLAGS flag)
{
if (le32_eq(na->type, AT_DATA) && na->name == AT_UNNAMED)
na->ni->flags &= ~flag;
na->ni->flags = le32_and(na->ni->flags, ~flag);
}
#define GenNAttrIno(func_name, flag) \

View File

@ -722,7 +722,7 @@ s64 ntfs_compressed_attr_pread(ntfs_attr *na, s64 pos, s64 count, void *b)
(unsigned long long)na->ni->mft_no, na->type,
(long long)pos, (long long)count);
data_flags = na->data_flags;
compression = na->ni->flags & FILE_ATTR_COMPRESSED;
compression = le32_and(na->ni->flags, FILE_ATTR_COMPRESSED);
if (!na || !na->ni || !na->ni->vol || !b
|| !le16_eq(le16_and(data_flags, ATTR_COMPRESSION_MASK),
ATTR_IS_COMPRESSED)

View File

@ -1683,9 +1683,9 @@ static ntfs_inode *__ntfs_create(ntfs_inode *dir_ni, le32 securid,
if (!S_ISREG(type) && !S_ISDIR(type))
fn->file_attributes = FILE_ATTR_SYSTEM;
else
fn->file_attributes |= ni->flags & FILE_ATTR_COMPRESSED;
fn->file_attributes |= le32_and(ni->flags, FILE_ATTR_COMPRESSED);
fn->file_attributes |= FILE_ATTR_ARCHIVE;
fn->file_attributes |= ni->flags & FILE_ATTR_HIDDEN;
fn->file_attributes |= le32_and(ni->flags, FILE_ATTR_HIDDEN);
fn->creation_time = ni->creation_time;
fn->last_data_change_time = ni->last_data_change_time;
fn->last_mft_change_time = ni->last_mft_change_time;
@ -2169,7 +2169,7 @@ static int ntfs_link_i(ntfs_inode *ni, ntfs_inode *dir_ni, const ntfschar *name,
&& (!le16_eq(name[1], const_cpu_to_le16('.'))))
ni->flags |= FILE_ATTR_HIDDEN;
else
ni->flags &= ~FILE_ATTR_HIDDEN;
ni->flags = le32_and(ni->flags, ~FILE_ATTR_HIDDEN);
}
/* Create FILE_NAME attribute. */

View File

@ -870,8 +870,8 @@ static int ntfs_inode_sync_file_name(ntfs_inode *ni, ntfs_inode *dir_ni)
/* Update flags and file size. */
fnx = (FILE_NAME_ATTR *)ictx->data;
fnx->file_attributes =
(fnx->file_attributes & ~FILE_ATTR_VALID_FLAGS) |
(ni->flags & FILE_ATTR_VALID_FLAGS);
le32_and(fnx->file_attributes, ~FILE_ATTR_VALID_FLAGS) |
le32_and(ni->flags, FILE_ATTR_VALID_FLAGS);
if (!le16_andz(ni->mrec->flags, MFT_RECORD_IS_DIRECTORY))
fnx->data_size = fnx->allocated_size
= const_cpu_to_le64(0);

View File

@ -1209,8 +1209,8 @@ int ntfs_remove_ntfs_reparse_data(ntfs_inode *ni)
/* now remove attribute */
res = ntfs_attr_rm(na);
if (!res) {
ni->flags &=
~FILE_ATTR_REPARSE_POINT;
ni->flags = le32_and(ni->flags,
~FILE_ATTR_REPARSE_POINT);
NInoFileNameSetDirty(ni);
} else {
/*

View File

@ -2949,7 +2949,7 @@ int ntfs_set_owner_mode(struct SECURITY_CONTEXT *scx, ntfs_inode *ni,
/* adjust Windows read-only flag */
if (!isdir) {
if (mode & S_IWUSR)
ni->flags &= ~FILE_ATTR_READONLY;
ni->flags = le32_and(ni->flags, ~FILE_ATTR_READONLY);
else
ni->flags |= FILE_ATTR_READONLY;
NInoFileNameSetDirty(ni);
@ -4449,8 +4449,8 @@ int ntfs_set_ntfs_attrib(ntfs_inode *ni,
}
}
if (!res) {
ni->flags = (ni->flags & ~settable)
| (cpu_to_le32(attrib) & settable);
ni->flags = le32_and(ni->flags, ~settable) |
le32_and(cpu_to_le32(attrib), settable);
NInoFileNameSetDirty(ni);
NInoSetDirty(ni);
}
@ -5054,8 +5054,8 @@ BOOL ntfs_set_file_attributes(struct SECURITY_API *scapi,
}
}
if (!res) {
ni->flags = (ni->flags & ~settable)
| (cpu_to_le32(attrib) & settable);
ni->flags = le32_and(ni->flags, ~settable)
| le32_and(cpu_to_le32(attrib), settable);
NInoSetDirty(ni);
NInoFileNameSetDirty(ni);
}

View File

@ -516,71 +516,71 @@ static void ntfs_dump_flags(const char *indent, ATTR_TYPES type, le32 flags)
printf("%sFile attributes:\t", indent);
if (!le32_andz(flags, FILE_ATTR_READONLY)) {
printf(" READONLY");
flags &= ~FILE_ATTR_READONLY;
flags = le32_and(flags, ~FILE_ATTR_READONLY);
}
if (!le32_andz(flags, FILE_ATTR_HIDDEN)) {
printf(" HIDDEN");
flags &= ~FILE_ATTR_HIDDEN;
flags = le32_and(flags, ~FILE_ATTR_HIDDEN);
}
if (!le32_andz(flags, FILE_ATTR_SYSTEM)) {
printf(" SYSTEM");
flags &= ~FILE_ATTR_SYSTEM;
flags = le32_and(flags, ~FILE_ATTR_SYSTEM);
}
if (!le32_andz(flags, FILE_ATTR_DIRECTORY)) {
printf(" DIRECTORY");
flags &= ~FILE_ATTR_DIRECTORY;
flags = le32_and(flags, ~FILE_ATTR_DIRECTORY);
}
if (!le32_andz(flags, FILE_ATTR_ARCHIVE)) {
printf(" ARCHIVE");
flags &= ~FILE_ATTR_ARCHIVE;
flags = le32_and(flags, ~FILE_ATTR_ARCHIVE);
}
if (!le32_andz(flags, FILE_ATTR_DEVICE)) {
printf(" DEVICE");
flags &= ~FILE_ATTR_DEVICE;
flags = le32_and(flags, ~FILE_ATTR_DEVICE);
}
if (!le32_andz(flags, FILE_ATTR_NORMAL)) {
printf(" NORMAL");
flags &= ~FILE_ATTR_NORMAL;
flags = le32_and(flags, ~FILE_ATTR_NORMAL);
}
if (!le32_andz(flags, FILE_ATTR_TEMPORARY)) {
printf(" TEMPORARY");
flags &= ~FILE_ATTR_TEMPORARY;
flags = le32_and(flags, ~FILE_ATTR_TEMPORARY);
}
if (!le32_andz(flags, FILE_ATTR_SPARSE_FILE)) {
printf(" SPARSE_FILE");
flags &= ~FILE_ATTR_SPARSE_FILE;
flags = le32_and(flags, ~FILE_ATTR_SPARSE_FILE);
}
if (!le32_andz(flags, FILE_ATTR_REPARSE_POINT)) {
printf(" REPARSE_POINT");
flags &= ~FILE_ATTR_REPARSE_POINT;
flags = le32_and(flags, ~FILE_ATTR_REPARSE_POINT);
}
if (!le32_andz(flags, FILE_ATTR_COMPRESSED)) {
printf(" COMPRESSED");
flags &= ~FILE_ATTR_COMPRESSED;
flags = le32_and(flags, ~FILE_ATTR_COMPRESSED);
}
if (!le32_andz(flags, FILE_ATTR_OFFLINE)) {
printf(" OFFLINE");
flags &= ~FILE_ATTR_OFFLINE;
flags = le32_and(flags, ~FILE_ATTR_OFFLINE);
}
if (!le32_andz(flags, FILE_ATTR_NOT_CONTENT_INDEXED)) {
printf(" NOT_CONTENT_INDEXED");
flags &= ~FILE_ATTR_NOT_CONTENT_INDEXED;
flags = le32_and(flags, ~FILE_ATTR_NOT_CONTENT_INDEXED);
}
if (!le32_andz(flags, FILE_ATTR_ENCRYPTED)) {
printf(" ENCRYPTED");
flags &= ~FILE_ATTR_ENCRYPTED;
flags = le32_and(flags, ~FILE_ATTR_ENCRYPTED);
}
/* We know that FILE_ATTR_I30_INDEX_PRESENT only exists on $FILE_NAME,
and in case we are wrong, let it appear as UNKNOWN */
if (le32_eq(type, AT_FILE_NAME)) {
if (!le32_andz(flags, FILE_ATTR_I30_INDEX_PRESENT)) {
printf(" I30_INDEX");
flags &= ~FILE_ATTR_I30_INDEX_PRESENT;
flags = le32_and(flags, ~FILE_ATTR_I30_INDEX_PRESENT);
}
}
if (!le32_andz(flags, FILE_ATTR_VIEW_INDEX_PRESENT)) {
printf(" VIEW_INDEX");
flags &= ~FILE_ATTR_VIEW_INDEX_PRESENT;
flags = le32_and(flags, ~FILE_ATTR_VIEW_INDEX_PRESENT);
}
if (!le32_cmpz(flags))
printf(" UNKNOWN: 0x%08x", (unsigned int)le32_to_cpu(flags));