Subject: 2.6.34-rc6-next-20100503+ suspicious rcu_dereference_check()

From: Eric Paris <[email-masked]>
Date: Mon, 03 May 2010 17:26:49 -0400

Paul,

I know you've worked like crazy cleaning these up, but I've got 2 ?new?
ones (actually the only 2 I get now) running linux-next.  One from
watchdog() and one from nfs delegation.  .config and dmesg are attached.

Thanks!

[    0.046161] ===================================================
[    0.052062] [ INFO: suspicious rcu_dereference_check() usage. ]
[    0.053190] ---------------------------------------------------
[    0.054004] include/linux/cgroup.h:533 invoked rcu_dereference_check() without protection!
[    0.059031] 
[    0.059032] other info that might help us debug this:
[    0.059033]  
[    0.062054]  
[    0.062054] rcu_scheduler_active = 1, debug_locks = 1
[    0.064005] no locks held by watchdog/0/5.
[    0.065004] 
[    0.065005] stack backtrace:
[    0.067032] Pid: 5, comm: watchdog/0 Not tainted 2.6.34-rc6-kernel1-next-20100503+ #132
[    0.069070] lockdep: fixing up alternatives.
[    0.070238] Booting Node   0, Processors  #1
[    0.001999] mce: CPU supports 0 MCE banks
[    0.001999] kvm-clock: cpu 1, msr 0:51d4881, secondary cpu clock
[    0.103131] Call Trace:
[    0.103142]  [<ffffffff810862f2>] lockdep_rcu_dereference+0xa2/0xb0
[    0.103149]  [<ffffffff810b4e60>] ? watchdog+0x0/0xa0
[    0.103152]  [<ffffffff81050e23>] __sched_setscheduler+0x393/0x420
[    0.103154]  [<ffffffff810b4e60>] ? watchdog+0x0/0xa0
[    0.103156]  [<ffffffff81050ece>] sched_setscheduler+0xe/0x10
[    0.103158]  [<ffffffff810b4e8a>] watchdog+0x2a/0xa0
[    0.103160]  [<ffffffff810b4e60>] ? watchdog+0x0/0xa0
[    0.103162]  [<ffffffff8107133c>] kthread+0xac/0xc0
[    0.103164]  [<ffffffff81087db0>] ? trace_hardirqs_on_caller+0xc0/0x260
[    0.103170]  [<ffffffff8100bc24>] kernel_thread_helper+0x4/0x10
[    0.103172]  [<ffffffff814fc714>] ? restore_args+0x0/0x30
[    0.103174]  [<ffffffff81071290>] ? kthread+0x0/0xc0
[    0.103176]  [<ffffffff8100bc20>] ? kernel_thread_helper+0x0/0x10

[   13.639379] ===================================================
[   13.639381] [ INFO: suspicious rcu_dereference_check() usage. ]
[   13.639382] ---------------------------------------------------
[   13.639383] fs/nfs/delegation.c:333 invoked rcu_dereference_check() without protection!
[   13.639385]
[   13.639385] other info that might help us debug this:
[   13.639389]
[   13.639390]
[   13.639391] rcu_scheduler_active = 1, debug_locks = 1
[   13.639393] 2 locks held by mount.nfs/2099:
[   13.639394]  #0:  (&type->s_umount_key#35){+.+...}, at: [<ffffffff81114cad>] deactivate_super+0x7d/0xa0
[   13.639422]  #1:  (iprune_sem){+.+...}, at: [<ffffffff81128e06>] invalidate_inodes+0x36/0x140
[   13.639435]
[   13.639435] stack backtrace:
[   13.639439] Pid: 2099, comm: mount.nfs Tainted: G        W  2.6.34-rc6-kernel1-next-20100503+ #132
[   13.639442] Call Trace:
[   13.639456]  [<ffffffff810862f2>] lockdep_rcu_dereference+0xa2/0xb0
[   13.639489]  [<ffffffffa01f4373>] nfs_inode_return_delegation_noreclaim+0xc3/0xd0 [nfs]
[   13.639494]  [<ffffffffa01cf461>] nfs4_clear_inode+0x11/0x20 [nfs]
[   13.639497]  [<ffffffff81128828>] clear_inode+0x88/0x120
[   13.639499]  [<ffffffff81128a7a>] dispose_list+0x2a/0x100
[   13.639501]  [<ffffffff81128ea0>] invalidate_inodes+0xd0/0x140
[   13.639503]  [<ffffffff81114451>] generic_shutdown_super+0x51/0xe0
[   13.639505]  [<ffffffff81114541>] kill_anon_super+0x11/0x60
[   13.639511]  [<ffffffffa01d2554>] nfs4_kill_super+0x34/0x90 [nfs]
[   13.639513]  [<ffffffff81114cb5>] deactivate_super+0x85/0xa0
[   13.639516]  [<ffffffff8112bf3b>] mntput_no_expire+0x6b/0xb0
[   13.639519]  [<ffffffff8112d182>] release_mounts+0xb2/0xd0
[   13.639521]  [<ffffffff8112d20f>] put_mnt_ns+0x6f/0x90
[   13.639526]  [<ffffffffa01d225e>] nfs_follow_remote_path+0x17e/0x2a0 [nfs]
[   13.639531]  [<ffffffffa01d23f7>] nfs4_try_mount+0x77/0xd0 [nfs]
[   13.639537]  [<ffffffffa01d44e3>] nfs_get_sb+0x823/0xbb0 [nfs]
[   13.639541]  [<ffffffff8110f763>] ? pcpu_alloc+0x4d3/0x9a0
[   13.639544]  [<ffffffff81087f5d>] ? trace_hardirqs_on+0xd/0x10
[   13.639546]  [<ffffffff8110fc4b>] ? __alloc_percpu+0xb/0x10
[   13.639548]  [<ffffffff811149b9>] vfs_kern_mount+0x89/0x1d0
[   13.639550]  [<ffffffff81114b6e>] do_kern_mount+0x4e/0x110
[   13.639553]  [<ffffffff8112e59f>] do_mount+0x52f/0x7e0
[   13.639555]  [<ffffffff8112cd5a>] ? copy_mount_options+0x10a/0x180
[   13.639557]  [<ffffffff8112e8da>] sys_mount+0x8a/0xd0
[   13.639572]  [<ffffffff8100ad82>] system_call_fastpath+0x16/0x1b