PERFORCE change 150391 for review
Ed Schouten
ed at FreeBSD.org
Wed Sep 24 17:34:33 UTC 2008
http://perforce.freebsd.org/chv.cgi?CH=150391
Change 150391 by ed at ed_dull on 2008/09/24 17:34:00
Clamp the TTY buffer sizes to 64K. It turns out we have many
drivers in the tree that have no practical limit on the baud
rate, which is dangerous.
Affected files ...
.. //depot/projects/mpsafetty/sys/kern/tty.c#49 edit
Differences ...
==== //depot/projects/mpsafetty/sys/kern/tty.c#49 (text+ko) ====
@@ -92,21 +92,23 @@
* Set TTY buffer sizes.
*/
+#define TTYBUF_MAX 65536
+
static void
tty_watermarks(struct tty *tp)
{
- speed_t sp;
+ size_t bs;
/* Provide an input buffer for 0.2 seconds of data. */
- sp = MAX(tp->t_termios.c_ispeed, 0);
- ttyinq_setsize(&tp->t_inq, tp, sp / 5);
+ bs = MIN(tp->t_termios.c_ispeed / 5, TTYBUF_MAX);
+ ttyinq_setsize(&tp->t_inq, tp, bs);
/* Set low watermark at 10% (when 90% is available). */
tp->t_inlow = (ttyinq_getsize(&tp->t_inq) * 9) / 10;
/* Provide an ouput buffer for 0.2 seconds of data. */
- sp = MAX(tp->t_termios.c_ospeed, 0);
- ttyoutq_setsize(&tp->t_outq, tp, sp / 5);
+ bs = MIN(tp->t_termios.c_ospeed / 5, TTYBUF_MAX);
+ ttyoutq_setsize(&tp->t_outq, tp, bs);
/* Set low watermark at 10% (when 90% is available). */
tp->t_outlow = (ttyoutq_getsize(&tp->t_outq) * 9) / 10;
More information about the p4-projects
mailing list