Messages in this thread | | | Date | Tue, 13 Oct 2009 08:02:35 -0700 (PDT) | From | Linus Torvalds <> | Subject | Re: [Bug #14388] keyboard under X with 2.6.31 |
| |
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
| |