diff options
Diffstat (limited to 'ext4_utils')
-rw-r--r-- | ext4_utils/ext4.h | 9 | ||||
-rw-r--r-- | ext4_utils/ext4fixup.c | 1 | ||||
-rw-r--r-- | ext4_utils/key_control.h | 12 | ||||
-rw-r--r-- | ext4_utils/sha1.c | 14 |
4 files changed, 19 insertions, 17 deletions
diff --git a/ext4_utils/ext4.h b/ext4_utils/ext4.h index ac6f97e9..974fb2d1 100644 --- a/ext4_utils/ext4.h +++ b/ext4_utils/ext4.h @@ -302,11 +302,12 @@ struct move_extent { #define EXT4_EPOCH_MASK ((1 << EXT4_EPOCH_BITS) - 1) #define EXT4_NSEC_MASK (~0UL << EXT4_EPOCH_BITS) -#define EXT4_FITS_IN_INODE(ext4_inode, einode, field) ((offsetof(typeof(*ext4_inode), field) + sizeof((ext4_inode)->field)) <= (EXT4_GOOD_OLD_INODE_SIZE + (einode)->i_extra_isize)) +#define EXT4_FITS_IN_INODE(ext4_inode, einode, field) ((offsetof(typeof(*(ext4_inode)), field) + sizeof((ext4_inode)->field)) <= (EXT4_GOOD_OLD_INODE_SIZE + (einode)->i_extra_isize)) #define EXT4_INODE_SET_XTIME(xtime, inode, raw_inode) do { (raw_inode)->xtime = cpu_to_le32((inode)->xtime.tv_sec); if (EXT4_FITS_IN_INODE(raw_inode, EXT4_I(inode), xtime ## _extra)) (raw_inode)->xtime ## _extra = ext4_encode_extra_time(&(inode)->xtime); } while (0) #define EXT4_EINODE_SET_XTIME(xtime, einode, raw_inode) do { if (EXT4_FITS_IN_INODE(raw_inode, einode, xtime)) (raw_inode)->xtime = cpu_to_le32((einode)->xtime.tv_sec); if (EXT4_FITS_IN_INODE(raw_inode, einode, xtime ## _extra)) (raw_inode)->xtime ## _extra = ext4_encode_extra_time(&(einode)->xtime); } while (0) -#define EXT4_INODE_GET_XTIME(xtime, inode, raw_inode) do { (inode)->xtime.tv_sec = (signed)le32_to_cpu((raw_inode)->xtime); if (EXT4_FITS_IN_INODE(raw_inode, EXT4_I(inode), xtime ## _extra)) ext4_decode_extra_time(&(inode)->xtime, raw_inode->xtime ## _extra); } while (0) -#define EXT4_EINODE_GET_XTIME(xtime, einode, raw_inode) do { if (EXT4_FITS_IN_INODE(raw_inode, einode, xtime)) (einode)->xtime.tv_sec = (signed)le32_to_cpu((raw_inode)->xtime); if (EXT4_FITS_IN_INODE(raw_inode, einode, xtime ## _extra)) ext4_decode_extra_time(&(einode)->xtime, raw_inode->xtime ## _extra); } while (0) +#define EXT4_INODE_GET_XTIME(xtime, inode, raw_inode) do { (inode)->xtime.tv_sec = (signed)le32_to_cpu((raw_inode)->xtime); if (EXT4_FITS_IN_INODE(raw_inode, EXT4_I(inode), xtime ## _extra)) ext4_decode_extra_time(&(inode)->xtime, (raw_inode)->xtime ## _extra); } while (0) + +#define EXT4_EINODE_GET_XTIME(xtime, einode, raw_inode) do { if (EXT4_FITS_IN_INODE(raw_inode, einode, xtime)) (einode)->xtime.tv_sec = (signed)le32_to_cpu((raw_inode)->xtime); if (EXT4_FITS_IN_INODE(raw_inode, einode, xtime ## _extra)) ext4_decode_extra_time(&(einode)->xtime, (raw_inode)->xtime ## _extra); } while (0) #define i_disk_version osd1.linux1.l_i_version #define i_reserved1 osd1.linux1.l_i_reserved1 @@ -562,7 +563,7 @@ struct ext4_dir_entry_2 { #define EXT4_DIR_REC_LEN(name_len) (((name_len) + 8 + EXT4_DIR_ROUND) & ~EXT4_DIR_ROUND) #define EXT4_MAX_REC_LEN ((1<<16)-1) -#define is_dx(dir) (EXT4_HAS_COMPAT_FEATURE(dir->i_sb, EXT4_FEATURE_COMPAT_DIR_INDEX) && (EXT4_I(dir)->i_flags & EXT4_INDEX_FL)) +#define is_dx(dir) (EXT4_HAS_COMPAT_FEATURE((dir)->i_sb, EXT4_FEATURE_COMPAT_DIR_INDEX) && (EXT4_I(dir)->i_flags & EXT4_INDEX_FL)) #define EXT4_DIR_LINK_MAX(dir) (!is_dx(dir) && (dir)->i_nlink >= EXT4_LINK_MAX) #define EXT4_DIR_LINK_EMPTY(dir) ((dir)->i_nlink == 2 || (dir)->i_nlink == 1) diff --git a/ext4_utils/ext4fixup.c b/ext4_utils/ext4fixup.c index 184cd0d6..4b402072 100644 --- a/ext4_utils/ext4fixup.c +++ b/ext4_utils/ext4fixup.c @@ -806,6 +806,7 @@ int ext4fixup_internal(char *fsdev, int v_flag, int n_flag, } close(fd); + free(dirbuf); return 0; } diff --git a/ext4_utils/key_control.h b/ext4_utils/key_control.h index bbf0acec..748c32d1 100644 --- a/ext4_utils/key_control.h +++ b/ext4_utils/key_control.h @@ -8,12 +8,12 @@ __BEGIN_DECLS typedef int32_t key_serial_t; // special process keyring shortcut IDs -#define KEY_SPEC_THREAD_KEYRING -1 // key ID for thread-specific keyring -#define KEY_SPEC_PROCESS_KEYRING -2 // key ID for process-specific keyring -#define KEY_SPEC_SESSION_KEYRING -3 // key ID for session-specific keyring -#define KEY_SPEC_USER_KEYRING -4 // key ID for UID-specific keyring -#define KEY_SPEC_USER_SESSION_KEYRING -5 // key ID for UID-session keyring -#define KEY_SPEC_GROUP_KEYRING -6 // key ID for GID-specific keyring +#define KEY_SPEC_THREAD_KEYRING (-1) // key ID for thread-specific keyring +#define KEY_SPEC_PROCESS_KEYRING (-2) // key ID for process-specific keyring +#define KEY_SPEC_SESSION_KEYRING (-3) // key ID for session-specific keyring +#define KEY_SPEC_USER_KEYRING (-4) // key ID for UID-specific keyring +#define KEY_SPEC_USER_SESSION_KEYRING (-5) // key ID for UID-session keyring +#define KEY_SPEC_GROUP_KEYRING (-6) // key ID for GID-specific keyring key_serial_t add_key(const char *type, const char *description, diff --git a/ext4_utils/sha1.c b/ext4_utils/sha1.c index 463ec388..5a8a02fb 100644 --- a/ext4_utils/sha1.c +++ b/ext4_utils/sha1.c @@ -44,17 +44,17 @@ #else # define blk0(i) block->l[i] #endif -#define blk(i) (block->l[i&15] = rol(block->l[(i+13)&15]^block->l[(i+8)&15] \ - ^block->l[(i+2)&15]^block->l[i&15],1)) +#define blk(i) (block->l[(i)&15] = rol(block->l[((i)+13)&15]^block->l[((i)+8)&15] \ + ^block->l[((i)+2)&15]^block->l[(i)&15],1)) /* * (R0+R1), R2, R3, R4 are the different operations (rounds) used in SHA1 */ -#define R0(v,w,x,y,z,i) z+=((w&(x^y))^y)+blk0(i)+0x5A827999+rol(v,5);w=rol(w,30); -#define R1(v,w,x,y,z,i) z+=((w&(x^y))^y)+blk(i)+0x5A827999+rol(v,5);w=rol(w,30); -#define R2(v,w,x,y,z,i) z+=(w^x^y)+blk(i)+0x6ED9EBA1+rol(v,5);w=rol(w,30); -#define R3(v,w,x,y,z,i) z+=(((w|x)&y)|(w&x))+blk(i)+0x8F1BBCDC+rol(v,5);w=rol(w,30); -#define R4(v,w,x,y,z,i) z+=(w^x^y)+blk(i)+0xCA62C1D6+rol(v,5);w=rol(w,30); +#define R0(v,w,x,y,z,i) z+=(((w)&((x)^(y)))^(y))+blk0(i)+0x5A827999+rol(v,5);(w)=rol(w,30); +#define R1(v,w,x,y,z,i) z+=(((w)&((x)^(y)))^(y))+blk(i)+0x5A827999+rol(v,5);(w)=rol(w,30); +#define R2(v,w,x,y,z,i) z+=((w)^(x)^(y))+blk(i)+0x6ED9EBA1+rol(v,5);(w)=rol(w,30); +#define R3(v,w,x,y,z,i) z+=((((w)|(x))&(y))|((w)&(x)))+blk(i)+0x8F1BBCDC+rol(v,5);(w)=rol(w,30); +#define R4(v,w,x,y,z,i) z+=((w)^(x)^(y))+blk(i)+0xCA62C1D6+rol(v,5);(w)=rol(w,30); typedef union { u_char c[64]; |