Jaegeuk Kim
59bbd474ab
f2fs: cover free_nid management with spin_lock
...
After build_free_nids() searches free nid candidates from nat pages and
current journal blocks, it checks all the candidates if they are allocated
so that the nat cache has its nid with an allocated block address.
In this procedure, previously we used
list_for_each_entry_safe(fnid, next_fnid, &nm_i->free_nid_list, list).
But, this is not covered by free_nid_list_lock, resulting in null pointer bug.
This patch moves this checking routine inside add_free_nid() in order not to use
the spin_lock.
Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
2013-05-08 19:54:22 +09:00
..
9p
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2013-03-03 13:23:03 -08:00
adfs
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2013-02-26 20:16:07 -08:00
affs
hlist: drop the node parameter from iterators
2013-02-27 19:10:24 -08:00
afs
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2013-02-26 20:16:07 -08:00
autofs4
autofs4 - autofs4_catatonic_mode(): remove redundant null check on kfree()
2013-03-01 12:04:39 -08:00
befs
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2013-02-26 20:16:07 -08:00
bfs
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2013-02-26 20:16:07 -08:00
btrfs
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs
2013-03-03 13:13:20 -08:00
cachefiles
ceph
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client
2013-02-28 17:43:09 -08:00
cifs
Merge branch 'for-next' of git://git.samba.org/sfrench/cifs-2.6
2013-03-01 12:05:13 -08:00
coda
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2013-02-26 20:16:07 -08:00
configfs
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2013-02-26 20:16:07 -08:00
cramfs
new helper: file_inode(file)
2013-02-22 23:31:31 -05:00
debugfs
Merge 3.9-rc4 into driver-core-next
2013-01-17 19:48:18 -08:00
devpts
userns: Allow the userns root to mount of devpts
2013-01-26 22:22:21 -08:00
dlm
hlist: drop the node parameter from iterators
2013-02-27 19:10:24 -08:00
ecryptfs
Minor code cleanups and new Kconfig option to disable /dev/ecryptfs
2013-03-07 12:47:24 -08:00
efs
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2013-02-26 20:16:07 -08:00
exofs
new helper: file_inode(file)
2013-02-22 23:31:31 -05:00
exportfs
hlist: drop the node parameter from iterators
2013-02-27 19:10:24 -08:00
ext2
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2013-02-26 20:16:07 -08:00
ext3
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2013-02-26 20:16:07 -08:00
ext4
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2013-03-03 13:23:03 -08:00
f2fs
f2fs: cover free_nid management with spin_lock
2013-05-08 19:54:22 +09:00
fat
hlist: drop the node parameter from iterators
2013-02-27 19:10:24 -08:00
freevxfs
new helper: file_inode(file)
2013-02-22 23:31:31 -05:00
fscache
hlist: drop the node parameter from iterators
2013-02-27 19:10:24 -08:00
fuse
more file_inode() open-coded instances
2013-02-27 16:59:05 -05:00
gfs2
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2013-02-26 20:16:07 -08:00
hfs
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2013-02-26 20:16:07 -08:00
hfsplus
hfsplus: fix issue with unzeroed unused b-tree nodes
2013-02-27 19:10:10 -08:00
hostfs
hostfs: directory methods have no business in non-directory inode_operations
2013-02-22 23:31:37 -05:00
hpfs
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2013-02-26 20:16:07 -08:00
hppfs
new helper: file_inode(file)
2013-02-22 23:31:31 -05:00
hugetlbfs
hugetlb_file_setup(): use d_alloc_pseudo()
2013-02-26 02:45:52 -05:00
isofs
fs: encode_fh: return FILEID_INVALID if invalid fid_type
2013-02-26 02:46:10 -05:00
jbd
jbd: don't wake kjournald unnecessarily
2013-01-14 22:50:45 +01:00
jbd2
jbd2: fix ERR_PTR dereference in jbd2__journal_start
2013-03-02 17:08:46 -05:00
jffs2
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2013-02-26 20:16:07 -08:00
jfs
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2013-02-26 20:16:07 -08:00
lockd
Merge branch 'for-3.9' of git://linux-nfs.org/~bfields/linux
2013-02-28 18:02:55 -08:00
logfs
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2013-02-26 20:16:07 -08:00
minix
new helper: file_inode(file)
2013-02-22 23:31:31 -05:00
ncpfs
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2013-02-26 20:16:07 -08:00
nfs
NFS client bugfixes for Linux 3.9
2013-03-02 16:46:07 -08:00
nfs_common
nfs_common: Update the translation between nfsv3 acls linux posix acls
2013-02-13 06:15:14 -08:00
nfsd
Merge branch 'for-3.9' of git://linux-nfs.org/~bfields/linux
2013-02-28 18:02:55 -08:00
nilfs2
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2013-02-26 20:16:07 -08:00
nls
notify
hlist: drop the node parameter from iterators
2013-02-27 19:10:24 -08:00
ntfs
new helper: file_inode(file)
2013-02-22 23:31:31 -05:00
ocfs2
hlist: drop the node parameter from iterators
2013-02-27 19:10:24 -08:00
omfs
new helper: file_inode(file)
2013-02-22 23:31:31 -05:00
openpromfs
new helper: file_inode(file)
2013-02-22 23:31:31 -05:00
proc
fs/proc/vmcore.c: put if tests in the top of the while loop to reduce duplication
2013-02-27 19:10:11 -08:00
pstore
A few fixes to reduce places where pstore might hang
2013-02-21 09:38:18 -08:00
qnx4
new helper: file_inode(file)
2013-02-22 23:31:31 -05:00
qnx6
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2013-02-26 20:16:07 -08:00
quota
ramfs
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2013-02-26 20:16:07 -08:00
reiserfs
fs: encode_fh: return FILEID_INVALID if invalid fid_type
2013-02-26 02:46:10 -05:00
romfs
new helper: file_inode(file)
2013-02-22 23:31:31 -05:00
squashfs
new helper: file_inode(file)
2013-02-22 23:31:31 -05:00
sysfs
hlist: drop the node parameter from iterators
2013-02-27 19:10:24 -08:00
sysv
new helper: file_inode(file)
2013-02-22 23:31:31 -05:00
ubifs
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2013-02-26 20:16:07 -08:00
udf
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2013-02-26 20:16:07 -08:00
ufs
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2013-02-26 20:16:07 -08:00
xfs
hlist: drop the node parameter from iterators
2013-02-27 19:10:24 -08:00
aio.c
hlist: drop the node parameter from iterators
2013-02-27 19:10:24 -08:00
anon_inodes.c
get_empty_filp()/alloc_file() leave both ->f_pos and ->f_version zero
2013-02-26 02:46:11 -05:00
attr.c
bad_inode.c
binfmt_aout.c
new helper: file_inode(file)
2013-02-22 23:31:31 -05:00
binfmt_elf.c
ImgTec Meta architecture changes for v3.9-rc1
2013-03-03 12:06:09 -08:00
binfmt_elf_fdpic.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2013-02-26 20:16:07 -08:00
binfmt_em86.c
binfmt_flat.c
new helper: file_inode(file)
2013-02-22 23:31:31 -05:00
binfmt_misc.c
new helper: file_inode(file)
2013-02-22 23:31:31 -05:00
binfmt_script.c
binfmt_som.c
bio-integrity.c
bio.c
block_dev.c
Merge branch 'for-3.9/core' of git://git.kernel.dk/linux-block
2013-02-28 12:52:24 -08:00
buffer.c
Merge branch 'for-3.9/core' of git://git.kernel.dk/linux-block
2013-02-28 12:52:24 -08:00
char_dev.c
compat.c
switch timerfd compat syscalls to COMPAT_SYSCALL_DEFINE
2013-02-03 15:09:25 -05:00
compat_binfmt_elf.c
compat_ioctl.c
new helper: file_inode(file)
2013-02-22 23:31:31 -05:00
coredump.c
coredump: remove redundant defines for dumpable states
2013-02-27 19:10:11 -08:00
coredump.h
dcache.c
hlist: drop the node parameter from iterators
2013-02-27 19:10:24 -08:00
dcookies.c
direct-io.c
fs: Fix possible use-after-free with AIO
2013-02-22 23:31:36 -05:00
drop_caches.c
eventfd.c
eventpoll.c
exec.c
coredump: remove redundant defines for dumpable states
2013-02-27 19:10:11 -08:00
fcntl.c
new helper: file_inode(file)
2013-02-22 23:31:31 -05:00
fhandle.c
fifo.c
file.c
locking: Various static lock initializer fixes
2013-02-19 08:42:45 +01:00
file_table.c
cache the value of file_inode() in struct file
2013-03-01 19:48:30 -05:00
filesystems.c
fs-writeback.c
2 writeback fixes
2013-02-28 13:21:44 -08:00
fs_struct.c
constify path_get/path_put and fs_struct.c stuff
2013-03-01 23:51:07 -05:00
generic_acl.c
inode.c
hlist: drop the node parameter from iterators
2013-02-27 19:10:24 -08:00
internal.h
constify path_get/path_put and fs_struct.c stuff
2013-03-01 23:51:07 -05:00
ioctl.c
new helper: file_inode(file)
2013-02-22 23:31:31 -05:00
ioprio.c
Kconfig
fuse: Move CUSE Kconfig entry from fs/Kconfig into fs/fuse/Kconfig
2013-01-17 13:08:45 +01:00
Kconfig.binfmt
libfs.c
locks.c
new helper: file_inode(file)
2013-02-22 23:31:31 -05:00
Makefile
mbcache.c
mount.h
mpage.c
namei.c
constify path_get/path_put and fs_struct.c stuff
2013-03-01 23:51:07 -05:00
namespace.c
new helper: file_inode(file)
2013-02-22 23:31:31 -05:00
no-block.c
open.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2013-03-03 13:23:03 -08:00
pipe.c
fs: Preserve error code in get_empty_filp(), part 2
2013-02-22 23:31:32 -05:00
pnode.c
pnode.h
posix_acl.c
proc_namespace.c
read_write.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal
2013-03-02 08:34:06 -08:00
read_write.h
readdir.c
new helper: file_inode(file)
2013-02-22 23:31:31 -05:00
select.c
sched/rt: Move rt specific bits into new header file
2013-02-07 20:51:08 +01:00
seq_file.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2013-03-03 13:23:03 -08:00
signalfd.c
splice.c
export kernel_write(), convert open-coded instances
2013-02-26 02:46:11 -05:00
stack.c
stat.c
switch vfs_getattr() to struct path
2013-02-26 02:46:08 -05:00
statfs.c
super.c
hlist: drop the node parameter from iterators
2013-02-27 19:10:24 -08:00
sync.c
new helper: file_inode(file)
2013-02-22 23:31:31 -05:00
timerfd.c
compat: restore timerfd settime and gettime compat syscalls
2013-03-02 09:35:13 -05:00
utimes.c
xattr.c
xattr_acl.c