| Summary: | Kernel Panic | ||
|---|---|---|---|
| Product: | Base System | Reporter: | mm <mm> |
| Component: | kern | Assignee: | dwmalone |
| Status: | Closed FIXED | ||
| Severity: | Affects Only Me | ||
| Priority: | Normal | ||
| Version: | Unspecified | ||
| Hardware: | Any | ||
| OS: | Any | ||
|
Description
mm
2001-02-19 19:40:01 UTC
On Mon, Feb 19, 2001 at 11:34:40AM -0800, mm@omnix.net wrote: > luser@PAF$ tail -f /dev/ttyp1 > > now ruser is going to connect to my box: > ruser@NOWHERE$ telnet PAF > Connection closed by foreign host. This seems to be caused by kqueue trying to work on a revoked file discriptor. I think this bug is inaccessable in more recent versions of -stable after Peter's commit to vfs_vnops.c on 2001/02/09. The offending code looks like: static int filt_vnread(struct knote *kn, long hint) { struct vnode *vp = (struct vnode *)kn->kn_fp->f_data; struct inode *ip = VTOI(vp); kn->kn_data = ip->i_size - kn->kn_fp->f_offset; return (kn->kn_data != 0); } There is now a check to make sure that the file is in a UFS filesystem at the time the filter is attached. However, if the file is revoked it could change type, so checking something like: if (vp->v_tag != VT_UFS) return 1; might be a good idea. (Currently only device files can be revoked, but that's only 'cos it was disabeled on other file types 'cos it didn't work on fifos). David. Responsible Changed From-To: freebsd-bugs->dwmalone This is the same bug as in 25309 - I'll try to get a fix reviewed for both. . State Changed From-To: open->closed I believe this has now been fixed in -stable. |