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 kernel-testers" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html