summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--etc/gettytab2
-rw-r--r--sys/kern/tty.c15
2 files changed, 14 insertions, 3 deletions
diff --git a/etc/gettytab b/etc/gettytab
index b75da3d..2d3a80a 100644
--- a/etc/gettytab
+++ b/etc/gettytab
@@ -162,7 +162,7 @@ X|Xwindow|X window system:\
:fd@:nd@:cd@:rw:sp#9600:
P|Pc|Pc console:\
- :ht:np:sp#115200:
+ :ht:np:
#
# Wierdo special case for fast crt's with hardcopy devices
diff --git a/sys/kern/tty.c b/sys/kern/tty.c
index 25908df..a3db944 100644
--- a/sys/kern/tty.c
+++ b/sys/kern/tty.c
@@ -870,8 +870,19 @@ static int
ttydevsw_defparam(struct tty *tp, struct termios *t)
{
- /* Use a fake baud rate, we're not a real device. */
- t->c_ispeed = t->c_ospeed = TTYDEF_SPEED;
+ /*
+ * Allow the baud rate to be adjusted for pseudo-devices, but at
+ * least restrict it to 115200 to prevent excessive buffer
+ * usage. Also disallow 0, to prevent foot shooting.
+ */
+ if (t->c_ispeed < B50)
+ t->c_ispeed = B50;
+ else if (t->c_ispeed > B115200)
+ t->c_ispeed = B115200;
+ if (t->c_ospeed < B50)
+ t->c_ospeed = B50;
+ else if (t->c_ospeed > B115200)
+ t->c_ospeed = B115200;
return (0);
}
OpenPOWER on IntegriCloud