Date: Fri, 2 May 1997 19:32:42 +0400 (MSD) From: Dmitrij Tejblum <dima@tejblum.dnttm.rssi.ru> To: FreeBSD-gnats-submit@FreeBSD.ORG Subject: kern/3469: After unmounting DEVFS, mounting DEVFS cause panic: page fault Message-ID: <199705021532.TAA00524@tejblum.dnttm.rssi.ru> Resent-Message-ID: <199705021540.IAA06697@hub.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 3469
>Category: kern
>Synopsis: After unmounting DEVFS, mounting DEVFS cause panic: page fault
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: freebsd-bugs
>State: open
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Fri May 2 08:40:01 PDT 1997
>Last-Modified:
>Originator: Dmitrij Tejblum
>Organization:
>Release: FreeBSD 3.0-CURRENT i386
>Environment:
FreeBSD tejblum.dnttm.rssi.ru 3.0-CURRENT FreeBSD 3.0-CURRENT #6: Fri May 2 17:58:13 MSD 1997 dima@tejblum.dnttm.rssi.ru:/usr/src/sys/compile/DIMA i386
devfs /devs devfs rw 0 0
in /etc/fstab
>Description:
After 'umount /devs', any attempt to mount DEVFS cause 'panic: page
fault'. It is due to missing cleanup in devfs_dn_free().
>How-To-Repeat:
First, apply patch from kern/3276, or you will repeat kern/3276 :-)
umount /devs
mount /devs
>Fix:
*** /usr/src/sys/miscfs/devfs/devfs_tree.c.00 Fri Apr 11 22:56:28 1997
--- /usr/src/sys/miscfs/devfs/devfs_tree.c Fri May 2 17:57:04 1997
***************
*** 496,501 ****
--- 496,507 ----
if(--dnp->links <= 0 ) /* can be -1 for initial free, on error */
{
/*probably need to do other cleanups XXX */
+ if (dnp->nextsibling != dnp) {
+ dn_p* prevp = dnp->prevsiblingp;
+ *prevp = dnp->nextsibling;
+ dnp->nextsibling->prevsiblingp = prevp;
+
+ }
if(dnp->type == DEV_SLNK) {
free(dnp->by.Slnk.name,M_DEVFSNODE);
}
>Audit-Trail:
>Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199705021532.TAA00524>
