mirror of
https://github.com/torvalds/linux.git
synced 2026-03-08 03:04:51 +01:00
Ext4 bug fixes for 6.19:
* Fix an inconsistency in structure size on 32-bit platforms caused by padding
differences for the new EXT4_IOC_[GS]ET_TUNE_SB_PARAM ioctls
* Fix a buffer leak on the error path when dropping the refcount an xattr
value stored in an inode
* Fix missing locking on the error path for the file defragmentation ioctl
leading to a BUG
-----BEGIN PGP SIGNATURE-----
iQEzBAABCAAdFiEEK2m5VNv+CHkogTfJ8vlZVpUNgaMFAmltDvoACgkQ8vlZVpUN
gaOe8Af/cKUtk6niuANObDZ4BKIxiTVq1dujTVfftfDQoTsi+G3R4GrZS3UeZ8FB
9K7UdnnmMkIVgv4e6mYjyjfvNY9oUF2PI9y19E+bk+sxhEEtIJfw0DCgbTfwtIc2
6NKUS66DDlM1vy8qTrStIM4qShmFjfP+xqiOHWQKD0Xfd9vdxbPV/otVr+Qjl/Xj
W2kT2erpvPnD9WLB+iaRv4G8zH3RSXEBPGCx43bP6E6JqwFhMw9qzIg1tcy4bVqG
WPROiAuctzgnE9yEVvi5gF8gG3e1naB72rXi2aP6Ush4QMeNKLOWnDHhyCDr/V+5
0fme7qlZYyIJZ7gys2sBAW4PkTaHEA==
=SXcS
-----END PGP SIGNATURE-----
Merge tag 'ext4_for_linus-6.19-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4
Pull ext4 fixes from Ted Ts'o:
- Fix an inconsistency in structure size on 32-bit platforms caused by
padding differences for the new EXT4_IOC_[GS]ET_TUNE_SB_PARAM ioctls
- Fix a buffer leak on the error path when dropping the refcount an
xattr value stored in an inode
- Fix missing locking on the error path for the file defragmentation
ioctl leading to a BUG
* tag 'ext4_for_linus-6.19-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
ext4: fix iloc.bh leak in ext4_xattr_inode_update_ref
ext4: add missing down_write_data_sem in mext_move_extent().
ext4: fix ext4_tune_sb_params padding
This commit is contained in:
commit
f8907398a6
3 changed files with 4 additions and 1 deletions
|
|
@ -393,9 +393,11 @@ out:
|
|||
|
||||
repair_branches:
|
||||
ret2 = 0;
|
||||
ext4_double_down_write_data_sem(orig_inode, donor_inode);
|
||||
r_len = ext4_swap_extents(handle, donor_inode, orig_inode,
|
||||
mext->donor_lblk, orig_map->m_lblk,
|
||||
*m_len, 0, &ret2);
|
||||
ext4_double_up_write_data_sem(orig_inode, donor_inode);
|
||||
if (ret2 || r_len != *m_len) {
|
||||
ext4_error_inode_block(orig_inode, (sector_t)(orig_map->m_lblk),
|
||||
EIO, "Unable to copy data block, data will be lost!");
|
||||
|
|
|
|||
|
|
@ -1037,6 +1037,7 @@ static int ext4_xattr_inode_update_ref(handle_t *handle, struct inode *ea_inode,
|
|||
ext4_error_inode(ea_inode, __func__, __LINE__, 0,
|
||||
"EA inode %lu ref wraparound: ref_count=%lld ref_change=%d",
|
||||
ea_inode->i_ino, ref_count, ref_change);
|
||||
brelse(iloc.bh);
|
||||
ret = -EFSCORRUPTED;
|
||||
goto out;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -139,7 +139,7 @@ struct ext4_tune_sb_params {
|
|||
__u32 clear_feature_incompat_mask;
|
||||
__u32 clear_feature_ro_compat_mask;
|
||||
__u8 mount_opts[64];
|
||||
__u8 pad[64];
|
||||
__u8 pad[68];
|
||||
};
|
||||
|
||||
#define EXT4_TUNE_FL_ERRORS_BEHAVIOR 0x00000001
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue