2010-08-04 10:56:13

by Vladislav Bolkhovitin

[permalink] [raw]
Subject: 2.6.35: suspicious rcu_dereference_check() usage

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


2010-08-09 14:46:50

by Maciej Rutecki

[permalink] [raw]
Subject: Re: 2.6.35: suspicious rcu_dereference_check() usage

On środa, 4 sierpnia 2010 o 12:56:00 Vladislav Bolkhovitin wrote:
> Hello,
>
> Today I gave a first try to 2.6.35 and it immediately produced:
>

I created a Bugzilla entry at
https://bugzilla.kernel.org/show_bug.cgi?id=16549
for your bug report, please add your address to the CC list in there, thanks!

--
Maciej Rutecki
http://www.maciek.unixy.pl