linux/fs/ext4
Jan Kara 74dae42785 ext4: fix crashes in dioread_nolock mode
Competing overwrite DIO in dioread_nolock mode will just overwrite
pointer to io_end in the inode. This may result in data corruption or
extent conversion happening from IO completion interrupt because we
don't properly set buffer_defer_completion() when unlocked DIO races
with locked DIO to unwritten extent.

Since unlocked DIO doesn't need io_end for anything, just avoid
allocating it and corrupting pointer from inode for locked DIO.
A cleaner fix would be to avoid these games with io_end pointer from the
inode but that requires more intrusive changes so we leave that for
later.

Cc: stable@vger.kernel.org
Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2016-02-19 00:33:21 -05:00
..
acl.c
acl.h
balloc.c ext4: fix scheduling in atomic on group checksum failure 2016-02-11 23:15:12 -05:00
bitmap.c
block_validity.c
crypto.c
crypto_fname.c
crypto_key.c
crypto_policy.c
dir.c ext4: fix memleak in ext4_readdir() 2016-02-16 00:20:19 -05:00
ext4.h
ext4_crypto.h
ext4_extents.h
ext4_jbd2.c
ext4_jbd2.h
extents.c ext4: remove unused parameter "newblock" in convert_initialized_extent() 2016-02-12 01:23:00 -05:00
extents_status.c
extents_status.h
file.c ext4 crypto: move context consistency check to ext4_file_open() 2016-02-08 00:54:26 -05:00
fsync.c
hash.c
ialloc.c ext4: fix scheduling in atomic on group checksum failure 2016-02-11 23:15:12 -05:00
indirect.c
inline.c
inode.c ext4: fix crashes in dioread_nolock mode 2016-02-19 00:33:21 -05:00
ioctl.c ext4: ioctl: fix erroneous return value 2016-02-11 23:57:21 -05:00
Kconfig
Makefile
mballoc.c ext4: add a line break for proc mb_groups display 2016-02-12 00:17:16 -05:00
mballoc.h
migrate.c
mmp.c
move_extent.c ext4: don't read blocks from disk after extents being swapped 2016-02-12 01:20:43 -05:00
namei.c ext4 crypto: move context consistency check to ext4_file_open() 2016-02-08 00:54:26 -05:00
page-io.c
readpage.c
resize.c ext4: fix potential integer overflow 2016-02-12 01:15:59 -05:00
super.c
symlink.c
sysfs.c
truncate.h
xattr.c
xattr.h
xattr_security.c
xattr_trusted.c
xattr_user.c