diff --git a/sys/kern/tty_tty.c b/sys/kern/tty_tty.c --- a/sys/kern/tty_tty.c +++ b/sys/kern/tty_tty.c @@ -283,8 +283,13 @@ KKASSERT(p); ttyvp = cttyvp(p); - if (ttyvp != NULL) - return (VOP_KQFILTER(ttyvp, kn)); + if (ttyvp != NULL) { + int error; + vhold(ttyvp); + error = VOP_KQFILTER(ttyvp, kn); + vdrop(ttyvp); + return (error); + } ap->a_result = 0;