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:	Mon, 14 Feb 2011 19:53:25 +0100 (CET)
From:	Thomas Gleixner <tglx@...utronix.de>
To:	Yong Zhang <yong.zhang0@...il.com>
cc:	Peter Zijlstra <peterz@...radead.org>,
	Borislav Petkov <bp@...en8.de>,
	Linus Torvalds <torvalds@...ux-foundation.org>,
	Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
	x86@...nel.org, Ingo Molnar <mingo@...e.hu>,
	Andrew Morton <akpm@...ux-foundation.org>
Subject: Re: lockdep: possible reason: unannotated irqs-off. (was: Re: Linux
 2.6.38-rc4)

On Mon, 14 Feb 2011, Yong Zhang wrote:

> On Tue, Feb 08, 2011 at 03:18:00PM +0100, Peter Zijlstra wrote:
> > Subject: lockdep, timer: Revert the del_timer_sync() annotation
> > 
> > Both attempts at trying to allow softirq usage failed, revert for this
> > release and try again later.
> > 
> > Signed-off-by: Peter Zijlstra <a.p.zijlstra@...llo.nl>
> > ---
> >  kernel/timer.c |    8 +++-----
> >  1 files changed, 3 insertions(+), 5 deletions(-)
> > 
> > diff --git a/kernel/timer.c b/kernel/timer.c
> > index 343ff27..c848cd8 100644
> > --- a/kernel/timer.c
> > +++ b/kernel/timer.c
> > @@ -959,7 +959,7 @@ EXPORT_SYMBOL(try_to_del_timer_sync);
> >   *
> >   * Synchronization rules: Callers must prevent restarting of the timer,
> >   * otherwise this function is meaningless. It must not be called from
> > - * hardirq contexts. The caller must not hold locks which would prevent
> > + * interrupt contexts. The caller must not hold locks which would prevent
> 
> I think we don't need to revert this comment.

That does not matter. It breaks stuff left and right and we need to go
back to the old (maybe less broken) state in that phase of -rc. It's
that simple.
 
> >   * completion of the timer's handler. The timer's handler must not call
> >   * add_timer_on(). Upon exit the timer is not queued and the handler is
> >   * not running on any CPU.
> > @@ -971,12 +971,10 @@ int del_timer_sync(struct timer_list *timer)
> >  #ifdef CONFIG_LOCKDEP
> >  	unsigned long flags;
> >  
> > -	raw_local_irq_save(flags);
> > -	local_bh_disable();
> > +	local_irq_save(flags);
> 
> Going back to local_irq_save()/local_irq_restore() doesn't prevent
> it from using in softirq context.

That does not matter. It goes back to status quo and does not
introduce new problems. As the changelog says:

> > Both attempts at trying to allow softirq usage failed, revert for this
> > release and try again later.

So it's not forgotten. It's just not fixable right now.

Thanks,

	tglx
--
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