1
0
Fork 0
alistair23-linux/fs/ext2
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
..
Makefile [PATCH] Make EXT2_DEBUG work again 2006-06-25 10:01:12 -07:00
acl.c Introduce is_owner_or_cap() to wrap CAP_FOWNER use with fsuid check 2007-07-17 12:00:03 -07:00
acl.h [PATCH] remove <linux/xattr_acl.h> 2005-06-23 09:45:33 -07:00
balloc.c ext[234]: cleanup ext[234]_bg_num_gdb() 2008-02-06 10:41:21 -08:00
dir.c BKL-removal: convert ext2 over to use unlocked_ioctl 2008-02-06 10:41:20 -08:00
ext2.h ext2: remove unused ext2_put_inode prototype 2008-02-08 09:22:33 -08:00
file.c BKL-removal: convert ext2 over to use unlocked_ioctl 2008-02-06 10:41:20 -08:00
fsync.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
ialloc.c ext2 reservations 2007-10-17 08:43:02 -07:00
inode.c iget: stop EXT2 from using iget() and read_inode() 2008-02-07 08:42:27 -08:00
ioctl.c BKL-removal: convert ext2 over to use unlocked_ioctl 2008-02-06 10:41:20 -08:00
namei.c iget: stop EXT2 from using iget() and read_inode() 2008-02-07 08:42:27 -08:00
super.c mount options: fix ext2 2008-02-08 09:22:40 -08:00
symlink.c [PATCH] mark struct inode_operations const 1 2007-02-12 09:48:46 -08:00
xattr.c vfs: fix possible deadlock in ext2, ext3, ext4 when using xattrs 2008-04-15 19:35:41 -07:00
xattr.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02: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 [PATCH] remove ext2 xattr permission checks 2006-01-10 08:01:30 -08:00
xip.c [PATCH] fix xip sparse file handling in ext2 2005-07-27 16:25:53 -07:00
xip.h [PATCH] xip: ext2: execute in place 2005-06-24 00:06:41 -07:00