linux/include
Paul E. McKenney 844b9a8707 vfs: fix RCU-lockdep false positive due to /proc
If a single-threaded process does a file-descriptor operation, and some
other process accesses that same file descriptor via /proc, the current
rcu_dereference_check_fdtable() can give a false-positive RCU-lockdep
splat due to the reference count being increased by the /proc access after
the reference-count check in fget_light() but before the check in
rcu_dereference_check_fdtable().

This commit prevents this false positive by checking for a single-threaded
process.  To avoid #include hell, this commit uses the wrapper for
thread_group_empty(current) defined by rcu_my_thread_group_empty()
provided in a separate commit.

Located-by: Miles Lane <miles.lane@gmail.com>
Located-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Al Viro <viro@ZenIV.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2010-07-20 16:25:41 -07:00
..
acpi Merge branch 'acpica-cherry-pick' into release 2010-06-12 00:56:15 -04:00
asm-generic
crypto
drm drm/ttm: Allocate the page pool manager in the heap. 2010-07-07 12:14:11 +10:00
keys
linux vfs: fix RCU-lockdep false positive due to /proc 2010-07-20 16:25:41 -07:00
math-emu
media V4L/DVB: tuner: Add a definition for the Philips FQ1236 MK5 NTSC tuner 2010-07-08 16:49:53 -03:00
mtd
net net: decreasing real_num_tx_queues needs to flush qdisc 2010-07-02 21:59:07 -07:00
pcmcia
rdma
rxrpc
scsi SCSI: implement sd_unlock_native_capacity() 2010-06-02 13:50:04 -04:00
sound
trace Merge branch 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-06-10 09:30:09 -07:00
video
xen
Kbuild