Messages in this thread |  | | Date | Sat, 17 Feb 2007 10:17:29 -0500 | Subject | Re: buffer overflows in the tty flip buffer in 2.6.17 | From | (Lennart Sorensen) |
| |
On Sat, Feb 17, 2007 at 03:29:31PM +0300, Mockern wrote: > When data is received from the hardware, it needs to be placed into the tty device's flip buffer. This can be done with the following bit of code: > > for (i = 0; i < data_size; ++i) { > if (tty->flip.count >= TTY_FLIPBUF_SIZE) > tty_flip_buffer_push(tty); > tty_insert_flip_char(tty, data[i], 0); > } > tty_flip_buffer_push(tty); > > This example makes sure there are no buffer overflows in the tty flip buffer as the data is being added. > > But how it is done in 2.6.17 linux kernel? I did check this "overflow code" in new tty driver's code. This code looks like just removed. But somehow overflow in the tty buffer must be kept.
Well there was a problem in 2.6.16, which was fixed by 2.6.18, although I am not sure if it was done by 2.6.17. It would loose characters due to buffer overflow and not properly checking under high load. I grabbed a few patches from the git tree that were added after 2.6.16 to fix the tty problems I was having.
-- Len Sorensen - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |