eCryptfs: Fix new inode race condition
Tyler Hicks authored
Only unlock and d_add() new inodes after the plaintext inode size has
been read from the lower filesystem. This fixes a race condition that
was sometimes seen during a multi-job kernel build in an eCryptfs mount.

https://bugzilla.kernel.org/show_bug.cgi?id=36002

Signed-off-by: default avatarTyler Hicks <tyhicks@linux.vnet.ibm.com>
Reported-by: default avatarDavid <david@unsolicited.net>
Tested-by: default avatarDavid <david@unsolicited.net>
3b06b3eb
Name Last commit Last update
..
9p 9p: remove unnecessary dentry_unhash on rmdir, dir rename
adfs Fix common misspellings
affs affs: remove unnecessary dentry_unhash on rmdir, dir rename
afs afs: remove unnecessary dentry_unhash on rmdir, dir rename
autofs4 vfs: push dentry_unhash on rmdir into file systems
befs Fix common misspellings
bfs bfs: remove unnecessary dentry_unhash on dir rename
btrfs Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6
cachefiles Fix common misspellings
ceph ceph: fix cap flush race reentrancy
cifs [CIFS] Follow on to cifsacl endian patch (__constant_cpu_to_le32 was required)
coda coda: remove unnecessary dentry_unhash on rmdir, dir rename
configfs configfs: remove unnecessary dentry_unhash on rmdir, dir rename
cramfs cramfs: generate unique inode number for better inode cache usage
debugfs debugfs: Silence DEBUG_STRICT_USER_COPY_CHECKS=y warning
devpts fs/devpts/inode.c: correctly check d_alloc_name() return code in devpts_pty_new()
dlm Merge branch 'trivial' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6
ecryptfs eCryptfs: Fix new inode race condition
efs block: remove per-queue plugging
exofs Fix common misspellings
exportfs vfs: Add open by file handle support
ext2 ext2: fix error msg when mounting fs with too-large blocksize
ext3 fs: pass exact type of data dirties to ->dirty_inode
ext4 fs: pass exact type of data dirties to ->dirty_inode
fat fat: remove unnecessary dentry_unhash on rmdir, dir rename
freevxfs
fscache
fuse
gfs2
hfs
hfsplus
hostfs
hpfs
hppfs
hugetlbfs
isofs
jbd
jbd2
jffs2
jfs
lockd
logfs
minix
ncpfs
nfs
nfs_common
nfsd
nilfs2
nls
notify
ntfs
ocfs2
omfs
openpromfs
partitions
proc
pstore
qnx4
quota
ramfs
reiserfs
romfs
squashfs
sysfs
sysv
ubifs
udf
ufs
xfs
Kconfig
Kconfig.binfmt
Makefile
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
fhandle.c
fifo.c
file.c
file_table.c
filesystems.c
fs-writeback.c
fs_struct.c
generic_acl.c
inode.c
internal.h
ioctl.c
ioprio.c
libfs.c
locks.c
mbcache.c
mpage.c
namei.c
namespace.c
nfsctl.c
no-block.c
open.c
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
sync.c
timerfd.c
utimes.c
xattr.c
xattr_acl.c