diff --git a/sys/dev/vt/vt_core.c b/sys/dev/vt/vt_core.c --- a/sys/dev/vt/vt_core.c +++ b/sys/dev/vt/vt_core.c @@ -3046,9 +3046,9 @@ DPRINTF(5, "reset WAIT_ACQ, "); return (0); } else if (mode->mode == VT_PROCESS) { - if (!ISSIGVALID(mode->relsig) || - !ISSIGVALID(mode->acqsig) || - !ISSIGVALID(mode->frsig)) { + if (!(ISSIGVALID(mode->relsig) && + ISSIGVALID(mode->acqsig) && + (mode->frsig == 0 || ISSIGVALID(mode->frsig)))) { DPRINTF(5, "error EINVAL\n"); return (EINVAL); }