linux-IllusionX/fs
Linus Torvalds 3abb17e82f vfs: fix BUG_ON() in fs/namei.c:1461
When Al moved the nameidata_dentry_drop_rcu_maybe() call into the
do_follow_link function in commit 844a391799 ("nothing in
do_follow_link() is going to see RCU"), he mistakenly left the

	BUG_ON(inode != path->dentry->d_inode);

behind.  Which would otherwise be ok, but that BUG_ON() really needs to
be _after_ dropping RCU, since the dentry isn't necessarily stable
otherwise.

So complete the code movement in that commit, and move the BUG_ON() into
do_follow_link() too.  This means that we need to pass in 'inode' as an
argument (just for this one use), but that's a small thing.  And
eventually we may be confident enough in our path lookup that we can
just remove the BUG_ON() and the unnecessary inode argument.

Reported-and-tested-by: Eric Dumazet <eric.dumazet@gmail.com>
Acked-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2011-02-16 08:56:55 -08:00
..
9p
adfs
affs
afs
autofs4
befs
bfs
btrfs Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable 2011-02-15 08:00:35 -08:00
cachefiles
ceph
cifs cifs: don't always drop malformed replies on the floor (try #3) 2011-02-11 03:59:12 +00:00
coda
configfs
cramfs
debugfs
devpts
dlm dlm: use single thread workqueues 2011-02-11 16:50:47 -06:00
ecryptfs
efs
exofs
exportfs
ext2
ext3
ext4 ext4: serialize unaligned asynchronous DIO 2011-02-12 08:17:34 -05:00
fat
freevxfs
fscache
fuse
gfs2
hfs
hfsplus
hostfs
hpfs
hppfs
hugetlbfs
isofs
jbd
jbd2 jbd2: call __jbd2_log_start_commit with j_state_lock write locked 2011-02-12 08:18:24 -05:00
jffs2
jfs
lockd
logfs
minix
ncpfs
nfs
nfs_common
nfsd nfsd: break lease on unlink due to rename 2011-02-14 10:35:19 -05:00
nilfs2
nls
notify
ntfs
ocfs2
omfs
openpromfs
partitions
proc s390: remove task_show_regs 2011-02-15 07:34:16 -08:00
qnx4
quota
ramfs
reiserfs
romfs
squashfs
sysfs
sysv
ubifs
udf
ufs
xfs
aio.c
anon_inodes.c
attr.c
bad_inode.c
binfmt_aout.c
binfmt_elf.c
binfmt_elf_fdpic.c
binfmt_em86.c
binfmt_flat.c
binfmt_misc.c
binfmt_script.c
binfmt_som.c
bio-integrity.c
bio.c
block_dev.c
buffer.c
char_dev.c
compat.c
compat_binfmt_elf.c
compat_ioctl.c
dcache.c
dcookies.c
direct-io.c
drop_caches.c
eventfd.c
eventpoll.c
exec.c
fcntl.c
fifo.c
file.c
file_table.c CRED: Fix kernel panic upon security_file_alloc() failure. 2011-02-04 10:40:29 -08:00
filesystems.c
fs-writeback.c
fs_struct.c
generic_acl.c
inode.c
internal.h
ioctl.c
ioprio.c
Kconfig
Kconfig.binfmt
libfs.c
locks.c
Makefile
mbcache.c
mpage.c
namei.c vfs: fix BUG_ON() in fs/namei.c:1461 2011-02-16 08:56:55 -08:00
namespace.c
nfsctl.c
no-block.c
open.c Fix possible filp_cachep memory corruption 2011-02-11 15:53:38 -08:00
pipe.c
pnode.c
pnode.h
posix_acl.c
read_write.c
read_write.h
readdir.c
select.c
seq_file.c
signalfd.c
splice.c
stack.c
stat.c
statfs.c
super.c vfs: call rcu_barrier after ->kill_sb() 2011-02-11 16:12:19 -08:00
sync.c
timerfd.c
utimes.c
xattr.c
xattr_acl.c