android_kernel_oneplus_msm8998/fs/ext4
Theodore Ts'o 39950e657d ext4: fix punch hole for inline_data file systems
commit c1e8220bd316d8ae8e524df39534b8a412a45d5e upstream.

If a program attempts to punch a hole on an inline data file, we need
to convert it to a normal file first.

This was detected using ext4/032 using the adv configuration.  Simple
reproducer:

mke2fs -Fq -t ext4 -O inline_data /dev/vdc
mount /vdc
echo "" > /vdc/testfile
xfs_io -c 'truncate 33554432' /vdc/testfile
xfs_io -c 'fpunch 0 1048576' /vdc/testfile
umount /vdc
e2fsck -fy /dev/vdc

Cc: stable@vger.kernel.org
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-10-05 12:27:54 +02:00
..
acl.c ext4: Don't clear SGID when inheriting ACLs 2017-10-12 11:27:35 +02:00
acl.h
balloc.c ext4: check for allocation block validity with block group locked 2018-08-06 16:24:40 +02:00
bitmap.c
block_validity.c
crypto.c ext4 crypto: don't let data integrity writebacks fail with ENOMEM 2017-05-25 14:30:11 +02:00
crypto_fname.c fscrypt: avoid collisions when presenting long encrypted filenames 2017-05-25 14:30:11 +02:00
crypto_key.c fscrypt: lock mutex before checking for bounce page pool 2017-11-30 08:37:25 +00:00
crypto_policy.c fscrypt: don't set policy for a dead directory 2019-07-21 09:07:10 +02:00
dir.c ext4: avoid divide by zero fault when deleting corrupted inline directories 2018-09-29 03:08:53 -07:00
ext4.h ext4: avoid running out of journal credits when appending to an inline file 2018-11-21 09:27:36 +01:00
ext4_crypto.h fscrypt: remove broken support for detecting keyring key revocation 2017-03-31 09:49:54 +02:00
ext4_extents.h ext4: verify the depth of extent tree in ext4_find_extent() 2018-07-11 16:03:48 +02:00
ext4_jbd2.c
ext4_jbd2.h ext4: fix NULL pointer dereference while journal is aborted 2019-04-03 06:23:15 +02:00
extents.c ext4: zero out the unused memory region in the extent tree block 2019-06-11 12:23:42 +02:00
extents_status.c
extents_status.h
file.c ext4: fix data corruption caused by unaligned direct AIO 2019-04-03 06:23:15 +02:00
fsync.c
hash.c
ialloc.c ext4: fix check to prevent initializing reserved inodes 2018-08-15 17:42:04 +02:00
indirect.c ext4: cleanup bh release code in ext4_ind_remove_space() 2019-04-27 09:33:47 +02:00
inline.c ext4: fix a potential fiemap/page fault deadlock w/ inline_data 2019-01-16 22:16:12 +01:00
inode.c ext4: fix punch hole for inline_data file systems 2019-10-05 12:27:54 +02:00
ioctl.c ext4: actually request zeroing of inode table after grow 2019-06-11 12:23:38 +02:00
Kconfig
Makefile
mballoc.c ext4: fix spectre gadget in ext4_mb_regular_allocator() 2018-08-24 13:27:00 +02:00
mballoc.h
migrate.c
mmp.c ext4: don't mark mmp buffer head dirty 2018-09-29 03:08:54 -07:00
move_extent.c ext4: fix argument checking in EXT4_IOC_MOVE_EXT 2018-11-21 09:27:33 +01:00
namei.c ext4: fix buffer leak in __ext4_read_dirblock() on error path 2018-11-21 09:27:44 +01:00
page-io.c ext4 crypto: fix some error handling 2017-05-25 14:30:11 +02:00
readpage.c ext4 crypto: don't let data integrity writebacks fail with ENOMEM 2017-05-25 14:30:11 +02:00
resize.c ext4: report real fs size after failed resize 2019-04-27 09:33:56 +02:00
super.c ext4: fix ext4_show_options for file systems w/o journal 2019-06-11 12:23:38 +02:00
symlink.c don't put symlink bodies in pagecache into highmem 2018-02-16 20:09:38 +01:00
sysfs.c ext4: sysfs: print ext4_super_block fields as little-endian 2018-09-05 09:18:38 +02:00
truncate.h ext4: fix races between page faults and hole punching 2016-05-04 14:48:53 -07:00
xattr.c ext4: fix buffer leak in ext4_xattr_move_to_block() on error path 2018-11-21 09:27:43 +01:00
xattr.h ext4: fix deadlock between inline_data and ext4_expand_extra_isize_ea() 2018-04-24 09:32:10 +02:00
xattr_security.c
xattr_trusted.c
xattr_user.c