diff options
| author | Thomas Gleixner <tglx@linutronix.de> | 2018-06-22 21:20:35 +0200 | 
|---|---|---|
| committer | Thomas Gleixner <tglx@linutronix.de> | 2018-06-22 21:20:35 +0200 | 
| commit | 7731b8bc94e599c9a79e428f3359ff2c34b7576a (patch) | |
| tree | 879f18ccbe274122f2d4f095b43cbc7f953e0ada /fs/ext4/inline.c | |
| parent | 48e315618dc4dc8904182cd221e3d395d5d97005 (diff) | |
| parent | 9ffc59d57228d74809700be6f7ecb1db10292f05 (diff) | |
Merge branch 'linus' into x86/urgent
Required to queue a dependent fix.
Diffstat (limited to 'fs/ext4/inline.c')
| -rw-r--r-- | fs/ext4/inline.c | 10 | 
1 files changed, 8 insertions, 2 deletions
diff --git a/fs/ext4/inline.c b/fs/ext4/inline.c index 70cf4c7b268a..285ed1588730 100644 --- a/fs/ext4/inline.c +++ b/fs/ext4/inline.c @@ -144,6 +144,12 @@ int ext4_find_inline_data_nolock(struct inode *inode)  		goto out;  	if (!is.s.not_found) { +		if (is.s.here->e_value_inum) { +			EXT4_ERROR_INODE(inode, "inline data xattr refers " +					 "to an external xattr inode"); +			error = -EFSCORRUPTED; +			goto out; +		}  		EXT4_I(inode)->i_inline_off = (u16)((void *)is.s.here -  					(void *)ext4_raw_inode(&is.iloc));  		EXT4_I(inode)->i_inline_size = EXT4_MIN_INLINE_DATA_SIZE + @@ -1835,8 +1841,8 @@ int ext4_inline_data_iomap(struct inode *inode, struct iomap *iomap)  	iomap->offset = 0;  	iomap->length = min_t(loff_t, ext4_get_inline_size(inode),  			      i_size_read(inode)); -	iomap->type = 0; -	iomap->flags = IOMAP_F_DATA_INLINE; +	iomap->type = IOMAP_INLINE; +	iomap->flags = 0;  out:  	up_read(&EXT4_I(inode)->xattr_sem);  | 
