From: Paul E. McKenney on
On Tue, Aug 03, 2010 at 11:18:07PM -0400, Miles Lane wrote:
> [ INFO: suspicious rcu_dereference_check() usage. ]
> ---------------------------------------------------
> kernel/signal.c:660 invoked rcu_dereference_check() without protection!
>
> other info that might help us debug this:
>
> rcu_scheduler_active = 1, debug_locks = 1
> 1 lock held by udevd/670:
> #0: (tasklist_lock){.+.+..}, at: [<ffffffff8104628c>] do_exit+0x252/0x671
> stack backtrace:
> Pid: 670, comm: udevd Not tainted 2.6.35 #15
> Call Trace:
> [<ffffffff8106759c>] lockdep_rcu_dereference+0x9d/0xa6
> [<ffffffff8104f297>] check_kill_permission+0x9d/0x132
> [<ffffffff8105010e>] group_send_sig_info+0x1a/0x3d
> [<ffffffff81046388>] do_exit+0x34e/0x671
> [<ffffffff81046723>] do_group_exit+0x78/0xa3
> [<ffffffff81046760>] sys_exit_group+0x12/0x16
> [<ffffffff81009c82>] system_call_fastpath+0x16/0x1b

Thank you again for your testing efforts!

This one is a bit odd. exit_signals() holds either the tasklist_lock
or the ->sighand->siglock over its signal manipulations, so this is
not the code path triggering the above. I might be missing something,
but I don't see either hrtimer_cancel() or exit_itimers() attempting
to send signals.

I am copying Oleg, as he might see something that I am missing.

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