summaryrefslogtreecommitdiff
path: root/fs/ext4/xattr.c
diff options
context:
space:
mode:
authorTahsin Erdogan <tahsin@google.com>2017-06-22 04:59:30 +0300
committerTheodore Ts'o <tytso@mit.edu>2017-06-22 04:59:30 +0300
commit990461dd85d57875accc798919e6fe42ab7e294d (patch)
tree503be2bd61178cedebd7574bc215ad7fb93fd09c /fs/ext4/xattr.c
parent909666933210eb145bc93426ce07f66bf3d1f798 (diff)
downloadlinux-990461dd85d57875accc798919e6fe42ab7e294d.tar.xz
ext4: add missing le32_to_cpu(e_value_inum) conversions
Two places in code missed converting xattr inode number using le32_to_cpu(). Signed-off-by: Tahsin Erdogan <tahsin@google.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Diffstat (limited to 'fs/ext4/xattr.c')
-rw-r--r--fs/ext4/xattr.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/fs/ext4/xattr.c b/fs/ext4/xattr.c
index 61c67a04a7e1..3983bc455d02 100644
--- a/fs/ext4/xattr.c
+++ b/fs/ext4/xattr.c
@@ -1995,6 +1995,7 @@ ext4_xattr_delete_inode(handle_t *handle, struct inode *inode,
struct ext4_inode *raw_inode;
struct ext4_iloc iloc;
struct ext4_xattr_entry *entry;
+ unsigned int ea_ino;
int credits = 3, error = 0;
if (!ext4_test_inode_state(inode, EXT4_STATE_XATTR))
@@ -2009,8 +2010,8 @@ ext4_xattr_delete_inode(handle_t *handle, struct inode *inode,
entry = EXT4_XATTR_NEXT(entry)) {
if (!entry->e_value_inum)
continue;
- if (ext4_expand_ino_array(lea_ino_array,
- entry->e_value_inum) != 0) {
+ ea_ino = le32_to_cpu(entry->e_value_inum);
+ if (ext4_expand_ino_array(lea_ino_array, ea_ino) != 0) {
brelse(iloc.bh);
goto cleanup;
}
@@ -2042,8 +2043,8 @@ delete_external_ea:
entry = EXT4_XATTR_NEXT(entry)) {
if (!entry->e_value_inum)
continue;
- if (ext4_expand_ino_array(lea_ino_array,
- entry->e_value_inum) != 0)
+ ea_ino = le32_to_cpu(entry->e_value_inum);
+ if (ext4_expand_ino_array(lea_ino_array, ea_ino) != 0)
goto cleanup;
entry->e_value_inum = 0;
}