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