Two places in code missed converting xattr inode number using le32_to_cpu(). Signed-off-by: Tahsin Erdogan <tahsin@xxxxxxxxxx> --- fs/ext4/xattr.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/fs/ext4/xattr.c b/fs/ext4/xattr.c index 8e855fc2eb03..4dd8be16d175 100644 --- a/fs/ext4/xattr.c +++ b/fs/ext4/xattr.c @@ -1997,6 +1997,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)) @@ -2011,8 +2012,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; } @@ -2044,8 +2045,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) goto cleanup; entry->e_value_inum = 0; } -- 2.13.0.219.gdb65acc882-goog