Commit f8907398 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

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
parents e90b81e8 d250bdf5
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -393,9 +393,11 @@ static int mext_move_extent(struct mext_data *mext, u64 *m_len)

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!");
+1 −0
Original line number Diff line number Diff line
@@ -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;
	}
+1 −1
Original line number Diff line number Diff line
@@ -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