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:	Thu, 9 Jun 2011 13:06:17 -0700
From:	Andrew Morton <akpm@...ux-foundation.org>
To:	Peter Zijlstra <a.p.zijlstra@...llo.nl>
Cc:	Linus Torvalds <torvalds@...ux-foundation.org>,
	Ingo Molnar <mingo@...e.hu>,
	Thomas Gleixner <tglx@...utronix.de>,
	linux-kernel@...r.kernel.org, efault@....de,
	Arne Jansen <lists@...-jansens.de>
Subject: Re: [PATCH 1/3] printk: Release console_sem after logbuf_lock

On Thu, 09 Jun 2011 15:06:48 +0200
Peter Zijlstra <a.p.zijlstra@...llo.nl> wrote:

> Release console_sem after unlocking the logbuf_lock so that we don't
> generate wakeups while holding logbuf_lock. This avoids some lock
> inversion troubles once we remove the lockdep_off bits between
> logbuf_lock and rq->lock (prints while holding rq->lock vs doing
> wakeups while holding logbuf_lock).
> 
> There's of course still an actual deadlock where the printk()s under
> rq->lock will issue a wakeup from the up() call.
> 
> ...
>
> @@ -1271,8 +1273,8 @@ void console_unlock(void)
>  	if (unlikely(exclusive_console))
>  		exclusive_console = NULL;
>  
> -	up(&console_sem);
>  	spin_unlock_irqrestore(&logbuf_lock, flags);
> +	up(&console_sem);
>  	if (wake_klogd)
>  		wake_up_klogd();
>  }

I have a horrible feeling that I put the up() inside logbuf_lock for
Special And Cunning Reasons.  But I'm struggling to work out what they
might have been and my archives only go back to October 2000(!).

Hate it when that happens.
--
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