On 19.03.2013 18:26, Peter Hurley wrote: > receive_room is used to control the amount of data the flip > buffer work can push to the read buffer. This update is unsafe: > > CPU 0 | CPU 1 > | > | n_tty_read() > | n_tty_set_room() > | left = <calc of space> > n_tty_receive_buf() | > <push data to buffer> | > n_tty_set_room() | > left = <calc of space> | > tty->receive_room = left | > | tty->receive_room = left > > receive_room is now updated with a stale calculation of the > available buffer space, and the subsequent work loop will likely > overwrite unread data in the input buffer. > Sounds reasonable to me. Thank you. Ilya Zykov <linux@xxxxxxx> -- To unsubscribe from this list: send the line "unsubscribe linux-serial" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html