From: Ingo Molnar <mingo@elte.hu>
To: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: linux-kernel@vger.kernel.org,
Pekka Enberg <penberg@cs.helsinki.fi>,
Vegard Nossum <vegard.nossum@gmail.com>,
"Rafael J. Wysocki" <rjw@sisk.pl>,
Andrew Morton <akpm@linux-foundation.org>,
Linus Torvalds <torvalds@linux-foundation.org>,
Peter Zijlstra <a.p.zijlstra@chello.nl>
Subject: Re: [bug] WARNING: at drivers/char/tty_io.c:1266 tty_open+0x1ea/0x388()
Date: Tue, 16 Jun 2009 12:24:18 +0200 [thread overview]
Message-ID: <20090616102418.GC28204@elte.hu> (raw)
In-Reply-To: <20090616111316.6b3bb078@lxorguk.ukuu.org.uk>
* Alan Cox <alan@lxorguk.ukuu.org.uk> wrote:
> > I have applied your patch from yesterday (attached further below for
> > reference) and the SLAB corruption has not triggered - instead i'm
> > now getting this warning, after 96 reboots
>
> That one is interesting btw - however its not a new bug. The
> WARN_ON() was added in the new patches to catch cases where the
> tty open/close locking was broken and see if all the ldisc related
> ones were nailed.
>
> Apparently on a very SMP box they are not. It's not however a new
> bug - just the result of checking for the problem.
>
> + WARN_ON(!test_bit(TTY_LDISC, &tty->flags));
>
>
> ..
>
> which means that someone cleared the ldisc behind our back despite
> us holding tty_mutex. That would suggest a hangup/reopen race
> which shouldn't be too hard to find.
>
> Dunno what you feed your SMP box but its very useful 8)
it's plain old-fashioned brute force plus a randconfig search: if a
race is possible it will trigger eventually here, given the right
hardware (i use a number of different systems), given the right
user-space (i use heterogenous installations), given the right
compiler/binutils (that too is heterogenous) and the right timing
and kernel feature combo via a huge, 2^1000 randconfig space.
Plus this system is an old P4 HyperThreading dual-socket system:
pretty much the only thing HyperThreading is good for on that box is
finding SMP races: that CPU can (and will) yield between
hyperthreads on arbitrary instruction boundaries - opening up races
wide open.
In fact we had races in the past that would only trigger on that
box, ever. (note that this warning did trigger on another box as
well - after 350+ bootups ...) And we thought P4-HT is pure crap ;-)
Ingo
prev parent reply other threads:[~2009-06-16 10:24 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-06-14 8:10 tty_ldisc_try_get(): BUG kmalloc-8: Poison overwritten Ingo Molnar
2009-06-14 8:20 ` Pekka Enberg
2009-06-14 8:30 ` Pekka Enberg
2009-06-14 8:32 ` Pekka Enberg
2009-06-14 23:03 ` Vegard Nossum
2009-06-15 4:25 ` Pekka Enberg
2009-06-14 8:32 ` Ingo Molnar
2009-06-14 8:35 ` Ingo Molnar
2009-06-14 12:32 ` Ingo Molnar
2009-06-14 10:54 ` Alan Cox
2009-06-15 9:10 ` Catalin Marinas
2009-06-16 7:10 ` [bug] WARNING: at drivers/char/tty_io.c:1266 tty_open+0x1ea/0x388() Ingo Molnar
2009-06-16 8:44 ` Alan Cox
2009-06-16 8:49 ` Ingo Molnar
2009-06-16 9:00 ` Alan Cox
2009-06-16 19:43 ` Ingo Molnar
2009-06-16 10:13 ` Alan Cox
2009-06-16 10:24 ` Ingo Molnar [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20090616102418.GC28204@elte.hu \
--to=mingo@elte.hu \
--cc=a.p.zijlstra@chello.nl \
--cc=akpm@linux-foundation.org \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=linux-kernel@vger.kernel.org \
--cc=penberg@cs.helsinki.fi \
--cc=rjw@sisk.pl \
--cc=torvalds@linux-foundation.org \
--cc=vegard.nossum@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox