Change two KASSERTS to printfs and simple returns. Stress testing has
revealed that a process' current working directory can be VBAD if the directory is removed. This can trigger a panic when procstat -f PID is run. Tested by: pho Discovered by: phobot Reviewed by: kib Approved by: kib
This commit is contained in:
parent
900dd11db2
commit
130b8c14ad
@ -2532,7 +2532,12 @@ export_vnode_for_osysctl(struct vnode *vp, int type,
|
||||
kif->kf_fd = type;
|
||||
kif->kf_type = KF_TYPE_VNODE;
|
||||
/* This function only handles directories. */
|
||||
KASSERT(vp->v_type == VDIR, ("export_vnode_for_osysctl: vnode not directory"));
|
||||
if (vp->v_type != VDIR) {
|
||||
printf("export_vnode_for_osysctl: vnode not directory: %d\n",
|
||||
vp->v_type);
|
||||
vrele(vp);
|
||||
return (ENOTDIR);
|
||||
}
|
||||
kif->kf_vnode_type = KF_VTYPE_VDIR;
|
||||
|
||||
/*
|
||||
@ -2779,7 +2784,12 @@ export_vnode_for_sysctl(struct vnode *vp, int type,
|
||||
kif->kf_fd = type;
|
||||
kif->kf_type = KF_TYPE_VNODE;
|
||||
/* This function only handles directories. */
|
||||
KASSERT(vp->v_type == VDIR, ("export_vnode_for_sysctl: vnode not directory"));
|
||||
if (vp->v_type != VDIR) {
|
||||
printf("export_vnode_for_sysctl: vnode not directory: %d\n",
|
||||
vp->v_type);
|
||||
vrele(vp);
|
||||
return (ENOTDIR);
|
||||
}
|
||||
kif->kf_vnode_type = KF_VTYPE_VDIR;
|
||||
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user