lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Fri, 9 Apr 2010 16:16:14 -0700
From:	"Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>
To:	Valdis.Kletnieks@...edu
Cc:	Andrew Morton <akpm@...ux-foundation.org>,
	Ingo Molnar <mingo@...e.hu>,
	Peter Zijlstra <a.p.zijlstra@...llo.nl>,
	linux-kernel@...r.kernel.org
Subject: Re: mmotm 2010-04-05 - another RCU whinge (not network this time)

On Thu, Apr 08, 2010 at 07:57:28PM -0400, Valdis.Kletnieks@...edu wrote:
> On Mon, 05 Apr 2010 16:09:45 PDT, akpm@...ux-foundation.org said:
> > The mm-of-the-moment snapshot 2010-04-05-16-09 has been uploaded to
> > 
> >    http://userweb.kernel.org/~akpm/mmotm/
> 
> Hit another one.  I seem to be on a roll...
> 
> Seen in dmesg, happened near end of the initrd..
> 
> [   26.756864] 
> [   26.756866] ===================================================
> [   26.756869] [ INFO: suspicious rcu_dereference_check() usage. ]
> [   26.756871] ---------------------------------------------------
> [   26.756874] fs/proc/array.c:241 invoked rcu_dereference_check() without protection!

Color me confused.  I cloned James Toy's git repository at
git://zen-kernel.org/kernel/mmotm.git, and gitk claims that I am on tag
2010-04-05-16-09, which matches the string above.  But when I look at
fs/proc/array.c near line 241, I see:

238 static void collect_sigign_sigcatch(struct task_struct *p, sigset_t *ign,
239                                     sigset_t *catch)
240 {
241         struct k_sigaction *k;
242         int i;
243 
244         k = p->sighand->action;
245         for (i = 1; i <= _NSIG; ++i, ++k) {
246                 if (k->sa.sa_handler == SIG_IGN)
247                         sigaddset(ign, i);
248                 else if (k->sa.sa_handler != SIG_DFL)
249                         sigaddset(catch, i);
250         }
251 }

It seems unlikely that line 241 generated the above error.

Am I on the wrong version?  Or do the git tags not mean what I think
that they mean?

							Thanx, Paul

> [   26.756876] 
> [   26.756877] other info that might help us debug this:
> [   26.756877] 
> [   26.756879] 
> [   26.756880] rcu_scheduler_active = 1, debug_locks = 0
> [   26.756883] 2 locks held by pidof/2197:
> [   26.756884]  #0:  (&p->lock){+.+.+.}, at: [<ffffffff810f4c2a>] seq_read+0x3a/0x42d
> [   26.756894]  #1:  (&(&sighand->siglock)->rlock){......}, at: [<ffffffff81047eff>] lock_task_sighand+0x79/0xcf
> [   26.756903] 
> [   26.756903] stack backtrace:
> [   26.756906] Pid: 2197, comm: pidof Not tainted 2.6.34-rc3-mmotm0405 #3
> [   26.756909] Call Trace:
> [   26.756914]  [<ffffffff810638c5>] lockdep_rcu_dereference+0xaa/0xb2
> [   26.756919]  [<ffffffff8112ed88>] collect_sigign_sigcatch+0x37/0xa0
> [   26.756923]  [<ffffffff8112f066>] do_task_stat+0x275/0x837
> [   26.756927]  [<ffffffff81063f83>] ? mark_held_locks+0x52/0x70
> [   26.756931]  [<ffffffff810af6be>] ? get_page_from_freelist+0x390/0x5ab
> [   26.756935]  [<ffffffff81062e7b>] ? register_lock_class+0x1e/0x325
> [   26.756938]  [<ffffffff8106421a>] ? trace_hardirqs_on+0xd/0xf
> [   26.756942]  [<ffffffff810af742>] ? get_page_from_freelist+0x414/0x5ab
> [   26.756946]  [<ffffffff81063d32>] ? mark_lock+0x2d/0x22c
> [   26.756949]  [<ffffffff81063d32>] ? mark_lock+0x2d/0x22c
> [   26.756953]  [<ffffffff81064fe7>] ? __lock_acquire+0x391/0xcfc
> [   26.756956]  [<ffffffff810b006f>] ? __alloc_pages_nodemask+0x796/0x823
> [   26.756961]  [<ffffffff810d4e60>] ? ____cache_alloc+0x10a/0x5cb
> [   26.756964]  [<ffffffff810d4e60>] ? ____cache_alloc+0x10a/0x5cb
> [   26.756969]  [<ffffffff8159f84c>] ? sub_preempt_count+0x35/0x49
> [   26.756973]  [<ffffffff8112f637>] proc_tgid_stat+0xf/0x11
> [   26.756977]  [<ffffffff8112c005>] proc_single_show+0x57/0x74
> [   26.756980]  [<ffffffff810f4ca1>] ? seq_read+0xb1/0x42d
> [   26.756983]  [<ffffffff810f4dc3>] seq_read+0x1d3/0x42d
> [   26.756988]  [<ffffffff810da357>] vfs_read+0xe0/0x140
> [   26.756991]  [<ffffffff810da46d>] sys_read+0x45/0x69
> [   26.756996]  [<ffffffff810026eb>] system_call_fastpath+0x16/0x1b
> [   26.788544] dracut: Switching root
> 


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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ