--- a/sys/kern/kern_fp.c +++ b/sys/kern/kern_fp.c @@ -493,6 +493,14 @@ pos = 0; } else { /* + * Make sure the device has not been revoked (mirrors kern_mmap). + */ + if (vp->v_type == VCHR && vp->v_rdev == NULL) { + error = EBADF; + goto done; + } + + /* * cdevs does not provide private mappings of any kind. */ if (vp->v_type == VCHR &&