Re: 2.6.35-rc3-git8 - include/linux/fdtable.h:88 invokedrcu_dereference_check() without protection!

From: Paul E. McKenney
Date: Mon Aug 09 2010 - 12:31:24 EST


On Sun, Jul 04, 2010 at 06:04:20PM -0400, Miles Lane wrote:
> [ 1619.938226] [ INFO: suspicious rcu_dereference_check() usage. ]
> [ 1619.938230] ---------------------------------------------------
> [ 1619.938235] include/linux/fdtable.h:88 invoked
> rcu_dereference_check() without protection!
> [ 1619.938239]
> [ 1619.938240] other info that might help us debug this:
> [ 1619.938242]
> [ 1619.938245]
> [ 1619.938246] rcu_scheduler_active = 1, debug_locks = 1
> [ 1619.938250] no locks held by dbus-daemon/4254.
> [ 1619.938253]
> [ 1619.938254] stack backtrace:
> [ 1619.938260] Pid: 4254, comm: dbus-daemon Not tainted 2.6.35-rc3-git8 #5
> [ 1619.938264] Call Trace:
> [ 1619.938277] [<ffffffff8106756a>] lockdep_rcu_dereference+0x9d/0xa6
> [ 1619.938286] [<ffffffff810cae92>] fcheck_files+0xb1/0xca
> [ 1619.938292] [<ffffffff810caf03>] fget_light+0x35/0x96
> [ 1619.938300] [<ffffffff810d8d5e>] do_sys_poll+0x1ff/0x3e5
> [ 1619.938307] [<ffffffff810d8572>] ? __pollwait+0x0/0xc7
> [ 1619.938314] [<ffffffff810d8639>] ? pollwake+0x0/0x4f
> [ 1619.938320] [<ffffffff810d8639>] ? pollwake+0x0/0x4f
> [ 1619.938327] [<ffffffff810d8639>] ? pollwake+0x0/0x4f
> [ 1619.938333] [<ffffffff810d8639>] ? pollwake+0x0/0x4f
> [ 1619.938340] [<ffffffff810d8639>] ? pollwake+0x0/0x4f
> [ 1619.938346] [<ffffffff810d8639>] ? pollwake+0x0/0x4f
> [ 1619.938353] [<ffffffff810d8639>] ? pollwake+0x0/0x4f
> [ 1619.938359] [<ffffffff810d8639>] ? pollwake+0x0/0x4f
> [ 1619.938365] [<ffffffff810d8639>] ? pollwake+0x0/0x4f
> [ 1619.938374] [<ffffffff810d90d8>] sys_poll+0x50/0xba
> [ 1619.938383] [<ffffffff81009c82>] system_call_fastpath+0x16/0x1b

Hello, Miles!

Thank you again for your continued testing!

I believe that this one has been fixed by commit 844b9a8707f, which was
added in v2.6.35-rc6. This commit added rcu_my_thread_group_empty()
to the list of rcu_dereference_check() conditions in the
rcu_dereference_check_fdtable() macro.

Thanx, Paul
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/