kernel-ark/fs
Nick Piggin f3ddbdc626 [PATCH] fix race in __block_prepare_write
Fix a race where __block_prepare_write can leak out an in-flight read
against a bh if get_block returns an error.  This can lead to the page
becoming unlocked while the buffer is locked and the read still in flight.
__mpage_writepage BUGs on this condition.

BUG sighted on a 2-way Itanium2 system with 16K PAGE_SIZE running

	fsstress -v -d $DIR/tmp -n 1000 -p 1000 -l 2

where $DIR is a new ext2 filesystem with 4K blocks that is quite
small (causing get_block to fail often with -ENOSPC).

Signed-off-by: Nick Piggin <nickpiggin@yahoo.com.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-05-05 16:36:40 -07:00
..
adfs
affs
afs [PATCH] Exterminate PAGE_BUG 2005-05-01 08:59:01 -07:00
autofs
autofs4 [PATCH] autofs4: tree race fix 2005-05-01 08:59:17 -07:00
befs
bfs
cifs [PATCH] cifs: Update cifs todo list 2005-04-30 11:10:58 -07:00
coda
cramfs
debugfs
devfs
devpts
efs
exportfs
ext2
ext3 [PATCH] ext3: remove unnecessary race then retry in ext3_get_block 2005-05-01 08:59:20 -07:00
fat
freevxfs
hfs [PATCH] hfs, hfsplus: don't leak s_fs_info and fix an oops 2005-05-01 08:59:16 -07:00
hfsplus [PATCH] hfs, hfsplus: don't leak s_fs_info and fix an oops 2005-05-01 08:59:16 -07:00
hostfs [PATCH] uml: hostfs failed mount handling 2005-05-05 16:36:37 -07:00
hpfs
hppfs
hugetlbfs
isofs
jbd
jffs
jffs2 [PATCH] Exterminate PAGE_BUG 2005-05-01 08:59:01 -07:00
jfs JFS: Endian errors 2005-05-04 09:11:49 -05:00
lockd
minix
msdos
ncpfs
nfs
nfsd
nls
ntfs
openpromfs
partitions
proc Merge with master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6.git 2005-05-03 08:14:09 +01:00
qnx4
ramfs
reiserfs [PATCH] reiserfs endianness: comp_short_keys() cleanup 2005-05-01 08:59:19 -07:00
romfs
smbfs
sysfs [PATCH] DocBook: fix some descriptions 2005-05-01 08:59:26 -07:00
sysv
udf [PATCH] Exterminate PAGE_BUG 2005-05-01 08:59:01 -07:00
ufs
umsdos
vfat
xfs [XFS] Cleanup use of loff_t vs xfs_off_t in the core code. 2005-05-05 13:33:40 -07:00
aio.c [PATCH] aio: optimize io_submit_one() 2005-05-01 08:59:16 -07:00
attr.c
bad_inode.c
binfmt_aout.c
binfmt_elf_fdpic.c
binfmt_elf.c [PATCH] Fix error recovery path for arch_setup_additional_pages 2005-04-28 15:17:19 -07:00
binfmt_em86.c
binfmt_flat.c
binfmt_misc.c
binfmt_script.c
binfmt_som.c
bio.c [PATCH] DocBook: fix some descriptions 2005-05-01 08:59:26 -07:00
block_dev.c
buffer.c [PATCH] fix race in __block_prepare_write 2005-05-05 16:36:40 -07:00
char_dev.c
compat_ioctl.c
compat.c [PATCH] NFS4: Don't use __user with compat_uptr_t 2005-04-27 15:39:03 -07:00
dcache.c
dcookies.c
direct-io.c
dnotify.c
dquot.c
eventpoll.c
exec.c
fcntl.c [PATCH] convert that currently tests _NSIG directly to use valid_signal() 2005-05-01 08:59:14 -07:00
fifo.c
file_table.c
file.c
filesystems.c
fs-writeback.c [PATCH] DocBook: fix some descriptions 2005-05-01 08:59:26 -07:00
inode.c [PATCH] avoid -ENOMEM due reclaimable slab caches 2005-05-05 16:36:30 -07:00
ioctl.c
Kconfig
Kconfig.binfmt
libfs.c
locks.c
Makefile
mbcache.c
mpage.c [PATCH] DocBook: fix some descriptions 2005-05-01 08:59:26 -07:00
namei.c namei: add audit_inode to all branches in path_lookup 2005-04-29 16:00:17 +01:00
namespace.c
nfsctl.c
open.c
pipe.c
posix_acl.c
quota_v1.c
quota_v2.c
quota.c
read_write.c
readdir.c
select.c
seq_file.c [PATCH] DocBook: fix some descriptions 2005-05-01 08:59:26 -07:00
stat.c
super.c
xattr_acl.c
xattr.c