Re: [Bug #14388] keyboard under X with 2.6.31

From: Linus Torvalds
Date: Tue Oct 13 2009 - 11:04:22 EST




On Tue, 13 Oct 2009, Linus Torvalds wrote:
>
> - whoever is _reading_ the buffer, and due to memory ordering may see the
> update to the buffer length _before_ it actually sees the data itself.
> That spinlock does all the memory ordering too.

Hmm. This one looks like it's ok, because whenever we commit it, we do
take the spinlock, so '->commit' is protected for the reader side.

> - scrambling the data order with two writers is certainly less annoying
> than potentially screwing up ->used entirely, and having the memcpy's
> overflow the buffer. Both writers may have decided that there is enough
> room for each one - but that does not mean that there is enough room
> for _both_.

.. but this one is still true. Anybody who doesn't lock writers at a
higher level could easily end up causing some really subtle memory
corruption.

But maybe all users really are safe.

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