summaryrefslogtreecommitdiffstats
path: root/sys/dev/syscons/syscons.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/syscons/syscons.c')
-rw-r--r--sys/dev/syscons/syscons.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/sys/dev/syscons/syscons.c b/sys/dev/syscons/syscons.c
index 8a4a226..ed441bd 100644
--- a/sys/dev/syscons/syscons.c
+++ b/sys/dev/syscons/syscons.c
@@ -2233,6 +2233,7 @@ sc_switch_scr(sc_softc_t *sc, u_int next_scr)
/*
* Is the wanted vty open? Don't allow switching to a closed vty.
+ * If we are in DDB, don't switch to a vty in the VT_PROCESS mode.
* Note that we always allow the user to switch to the kernel
* console even if it is closed.
*/
@@ -2244,6 +2245,11 @@ sc_switch_scr(sc_softc_t *sc, u_int next_scr)
DPRINTF(5, ("error 2, requested vty isn't open!\n"));
return EINVAL;
}
+ if ((debugger > 0) && (SC_STAT(tp->t_dev)->smode.mode == VT_PROCESS)) {
+ splx(s);
+ DPRINTF(5, ("error 3, requested vty is in the VT_PROCESS mode\n"));
+ return EINVAL;
+ }
}
/* this is the start of vty switching process... */
OpenPOWER on IntegriCloud