[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20060803175613.GK22448@redhat.com>
Date: Thu, 3 Aug 2006 13:56:13 -0400
From: Dave Jones <davej@...hat.com>
To: Alan Cox <alan@...rguk.ukuu.org.uk>
Cc: David Miller <davem@...emloft.net>, linux-kernel@...r.kernel.org,
jbaron@...hat.com
Subject: Re: frequent slab corruption (since a long time)
On Thu, Aug 03, 2006 at 06:40:42PM +0100, Alan Cox wrote:
> Ar Mer, 2006-08-02 am 15:49 -0700, ysgrifennodd David Miller:
> > > None of the code manipulating tty->count seems to be under
> > > the tty_mutex. Should it be ?
> > > Or is this protected through some other means?
> >
> > It is in the primary code paths at least, all callers of init_dev()
> > (which increments tty->count) grab the mutex and also release_dev()
> > grabs the mutex around tty->count manipulations.
>
> I've been auditing tty code and its joyously bad but only in harmless
> places so far except for one.
>
> init_dev (and caller) relies on tty_mutex to ensure that the
> driver->ttys list is protected from things going away.
>
> release_mem() removes stuff from the said list and frees memory. It is
> not always called under tty_mutex and that appears very dubious to me at
> the moment although tty->closing and the BKL *might* be sufficient.
Against my better judgment I was poring over that code until the wee
hours last night, and one thing crossed my mind re: the assumptions made
about the BKL in that subsystem. Now that the BKL is preemtible, do
any of those assumptions break ?
Dave
--
http://www.codemonkey.org.uk
-
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