kernel-ark/fs
Peter Staubach b2f49033d8 [PATCH] fix deadlock in ext2
Fix a deadlock possible in the ext2 file system implementation.  This
deadlock occurs when a file is removed from an ext2 file system which was
mounted with the "sync" mount option.

The problem is that ext2_xattr_delete_inode() was invoking the routine,
sync_dirty_buffer(), using a buffer head which was previously locked via
lock_buffer().  The first thing that sync_dirty_buffer() does is to lock
the buffer head that it was passed.  It does this via lock_buffer().  Oops.

The solution is to unlock the buffer head in ext2_xattr_delete_inode()
before invoking sync_dirty_buffer().  This makes the code in
ext2_xattr_delete_inode() obey the same locking rules as all other callers
of sync_dirty_buffer() in the ext2 file system implementation.

Signed-off-by: Peter Staubach <staubach@redhat.com>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-02-17 13:59:26 -08:00
..
9p
adfs
affs
afs
autofs
autofs4
befs
bfs
cifs [PATCH] CIFS: fix cifs_user_read oops when null SMB response on forcedirectio mount 2006-02-14 19:46:25 -08:00
coda
configfs
cramfs
debugfs
devfs
devpts
efs
exportfs
ext2 [PATCH] fix deadlock in ext2 2006-02-17 13:59:26 -08:00
ext3
fat
freevxfs
fuse
hfs
hfsplus
hostfs
hpfs
hppfs
hugetlbfs
isofs
jbd [PATCH] jbd: revert checkpoint list changes 2006-02-14 16:09:34 -08:00
jffs
jffs2
jfs
lockd [PATCH] NLM: Fix the NLM_GRANTED callback checks 2006-02-14 16:09:34 -08:00
minix
msdos
ncpfs
nfs [PATCH] nfsroot port= parameter fix [backport of 2.4 fix] 2006-02-07 21:00:42 -05:00
nfs_common
nfsd
nls
ntfs
ocfs2 [PATCH] ocfs2: detach from heartbeat events before freeing mle 2006-02-16 12:04:55 -08:00
openpromfs
partitions
proc
qnx4
ramfs
reiserfs [PATCH] reiserfs: fix potential (unlikely) oops in reiserfs_get_acl 2006-02-13 08:56:01 -08:00
relayfs
romfs
smbfs
sysfs
sysv
udf
ufs
vfat
xfs
aio.c
attr.c
bad_inode.c
binfmt_aout.c
binfmt_elf_fdpic.c
binfmt_elf.c
binfmt_em86.c
binfmt_flat.c
binfmt_misc.c
binfmt_script.c
binfmt_som.c
bio.c
block_dev.c
buffer.c
char_dev.c
compat_ioctl.c [PATCH] compat_ioctl __user annotations 2006-02-08 01:04:01 -05:00
compat.c [PATCH] select: fix returned timeval 2006-02-11 21:41:11 -08:00
dcache.c
dcookies.c
direct-io.c
dnotify.c
dquot.c
drop_caches.c
eventpoll.c
exec.c [PATCH] fix zap_thread's ptrace related problems 2006-02-15 11:05:43 -08:00
fcntl.c
fifo.c
file_table.c
file.c
filesystems.c
fs-writeback.c
inode.c
inotify.c
ioctl.c
ioprio.c
Kconfig
Kconfig.binfmt
libfs.c
locks.c
Makefile
mbcache.c
mpage.c
namei.c
namespace.c [PATCH] umount_tree() decrements mount count on wrong dentry 2006-02-07 21:01:15 -05:00
nfsctl.c
open.c
pipe.c
pnode.c
pnode.h
posix_acl.c
quota_v1.c
quota_v2.c
quota.c
read_write.c
readdir.c
select.c [PATCH] select: fix returned timeval 2006-02-11 21:41:11 -08:00
seq_file.c
stat.c [PATCH] fstatat64 support 2006-02-11 21:41:10 -08:00
super.c [PATCH] More informative message on umount failure 2006-02-07 16:12:33 -08:00
xattr_acl.c
xattr.c