mirror of
https://github.com/torvalds/linux.git
synced 2026-06-07 14:04:54 +02:00
ext4: properly align shifted xattrs when expanding inodes
commit 443a8c41cd upstream.
We did not count with the padding of xattr value when computing desired
shift of xattrs in the inode when expanding i_extra_isize. As a result
we could create unaligned start of inline xattrs. Account for alignment
properly.
Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
e6abdbf8ac
commit
a79f1f7fcb
|
|
@ -1429,7 +1429,7 @@ int ext4_expand_extra_isize_ea(struct inode *inode, int new_extra_isize,
|
|||
if (entry_size + EXT4_XATTR_SIZE(size) >= isize_diff)
|
||||
shift_bytes = isize_diff;
|
||||
else
|
||||
shift_bytes = entry_size + size;
|
||||
shift_bytes = entry_size + EXT4_XATTR_SIZE(size);
|
||||
/* Adjust the offsets and shift the remaining entries ahead */
|
||||
ext4_xattr_shift_entries(entry, -shift_bytes,
|
||||
(void *)raw_inode + EXT4_GOOD_OLD_INODE_SIZE +
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user