linux/fs/ext3
Jan Kara 335e92e8a5 vfs: fix possible deadlock in ext2, ext3, ext4 when using xattrs
mb_cache_entry_alloc() was allocating cache entries with GFP_KERNEL.  But
filesystems are calling this function while holding xattr_sem so possible
recursion into the fs violates locking ordering of xattr_sem and transaction
start / i_mutex for ext2-4.  Change mb_cache_entry_alloc() so that filesystems
can specify desired gfp mask and use GFP_NOFS from all of them.

Signed-off-by: Jan Kara <jack@suse.cz>
Reported-by: Dave Jones <davej@redhat.com>
Cc: <linux-ext4@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-04-15 19:35:41 -07:00
..
acl.c ext3: fix wrong gfp type under transaction 2008-03-19 18:53:36 -07:00
acl.h [PATCH] Remove leftover ext3 acl declarations 2006-07-10 13:24:26 -07:00
balloc.c ext3: replace all adds to little endians variables with le*_add_cpu 2008-02-08 09:22:32 -08:00
bitmap.c fs: mark nibblemap const 2007-10-17 08:42:47 -07:00
dir.c Fix 64KB blocksize in ext3 directories 2007-11-14 18:45:43 -08:00
ext3_jbd.c [PATCH] ext3: uninline large functions 2006-12-07 08:39:35 -08:00
file.c sendfile: remove .sendfile from filesystems that use generic_file_sendfile() 2007-07-10 08:04:13 +02:00
fsync.c sparse pointer use of zero as null 2007-10-18 14:37:31 -07:00
hash.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
ialloc.c ext3: replace all adds to little endians variables with le*_add_cpu 2008-02-08 09:22:32 -08:00
inode.c iget: stop EXT3 from using iget() and read_inode() 2008-02-07 08:42:27 -08:00
ioctl.c Forbid user to change file flags on quota files 2007-11-14 18:45:38 -08:00
Makefile [PATCH] ext3: uninline large functions 2006-12-07 08:39:35 -08:00
namei.c iget: stop EXT3 from using iget() and read_inode() 2008-02-07 08:42:27 -08:00
namei.h
resize.c ext3: fix wrong gfp type under transaction 2008-03-19 18:53:36 -07:00
super.c ext3: fix mount option parsing 2008-03-04 16:35:18 -08:00
symlink.c [PATCH] mark struct inode_operations const 1 2007-02-12 09:48:46 -08:00
xattr_security.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
xattr_trusted.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
xattr_user.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
xattr.c vfs: fix possible deadlock in ext2, ext3, ext4 when using xattrs 2008-04-15 19:35:41 -07:00
xattr.h