2.6.35: suspicious rcu_dereference_check() usage

From: Vladislav Bolkhovitin
Date: Wed Aug 04 2010 - 06:56:19 EST


Hello,

Today I gave a first try to 2.6.35 and it immediately produced:

Aug 4 15:12:09 tgt kernel: [ 183.799040] ===================================================
Aug 4 15:12:09 tgt kernel: [ 183.799158] [ INFO: suspicious rcu_dereference_check() usage. ]
Aug 4 15:12:09 tgt kernel: [ 183.799158] ---------------------------------------------------
Aug 4 15:12:09 tgt kernel: [ 183.799158] kernel/exit.c:1387 invoked rcu_dereference_check() without protection!
Aug 4 15:12:09 tgt kernel: [ 183.799158]
Aug 4 15:12:09 tgt kernel: [ 183.799158] other info that might help us debug this:
Aug 4 15:12:09 tgt kernel: [ 183.799158]
Aug 4 15:12:09 tgt kernel: [ 183.799158]
Aug 4 15:12:09 tgt kernel: [ 183.799158] rcu_scheduler_active = 1, debug_locks = 1
Aug 4 15:12:09 tgt kernel: [ 183.799158] 2 locks held by mc/3751:
Aug 4 15:12:09 tgt kernel: [ 183.799158] #0: (tasklist_lock){.+.+..}, at: [<7813d277>] do_wait+0xa1/0x24f
Aug 4 15:12:09 tgt kernel: [ 183.799158] #1: (&(&sighand->siglock)->rlock){-.....}, at: [<7813c6eb>] wait_consider_task+0xdd/0xbc8
Aug 4 15:12:09 tgt kernel: [ 183.799158]
Aug 4 15:12:09 tgt kernel: [ 183.799158] stack backtrace:
Aug 4 15:12:09 tgt kernel: [ 183.799158] Pid: 3751, comm: mc Not tainted 2.6.35-scst-dbg #3
Aug 4 15:12:09 tgt kernel: [ 183.799158] Call Trace:
Aug 4 15:12:09 tgt kernel: [ 183.799158] [<784660a3>] ? printk+0x2d/0x32
Aug 4 15:12:09 tgt kernel: [ 183.799158] [<78165d6e>] lockdep_rcu_dereference+0x8e/0x96
Aug 4 15:12:09 tgt kernel: [ 183.799158] [<7813caa3>] wait_consider_task+0x495/0xbc8
Aug 4 15:12:09 tgt kernel: [ 183.799158] [<7846c809>] ? sub_preempt_count+0x9/0xad
Aug 4 15:12:09 tgt kernel: [ 183.799158] [<78164056>] ? put_lock_stats+0xd/0x28
Aug 4 15:12:09 tgt kernel: [ 183.799158] [<7813d277>] ? do_wait+0xa1/0x24f
Aug 4 15:12:09 tgt kernel: [ 183.799158] [<78469218>] ? _raw_read_lock+0x6b/0x72
Aug 4 15:12:09 tgt kernel: [ 183.799158] [<7813d2ca>] do_wait+0xf4/0x24f
Aug 4 15:12:09 tgt kernel: [ 183.799158] [<7813d48d>] sys_wait4+0x68/0xb2
Aug 4 15:12:09 tgt kernel: [ 183.799158] [<7813afbd>] ? child_wait_callback+0x0/0x73
Aug 4 15:12:09 tgt kernel: [ 183.799158] [<7813d503>] sys_waitpid+0x2c/0x2e
Aug 4 15:12:09 tgt kernel: [ 183.799158] [<78102d13>] sysenter_do_call+0x12/0x32

I guess, it was just after I started mc.

Vlad
--
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/