panic: munhash (4.2BSD crash) (A fix)
Chris Maloney
chris at mddc.UUCP
Thu Dec 22 06:16:47 AEST 1983
---
I belive that the correction mention previously by RWS at mit-xx
will fix this problem (It did for use anyway).
Chris Maloney
7209 Dixie Highway
Fairfield, Ohio 45014
Management Decisions Development Corp.
(513)874-6464
...{ucbvax,decvax,inhp4,mhuxi}!cbosgd!qusavx!mddc!chris (uucp)
----
>From qusavx!cbosgd!mhuxl!eagle!harpo!seismo!hao!hplabs!sri-unix!RWS at mit-xx Wed Dec 31 19:00:00 1969
Path: mddc!qusavx!cbosgd!mhuxl!eagle!harpo!seismo!hao!hplabs!sri-unix!RWS at mit-xx
From: RWS%mit-xx at sri-unix.UUCP
Newsgroups: net.unix-wizards
Subject: sundry 4.2 bugs
Message-ID: <13280 at sri-arpa.UUCP>
Date: Wed, 2-Nov-83 17:15:00 EST
Article-I.D.: sri-arpa.13280
Posted: Wed Nov 2 17:15:00 1983
Date-Received: Fri, 4-Nov-83 09:05:00 EST
Lines: 64
Status: RO
Despite claims to the contrary, the block number sign extension problem still
exists. Berkeley put in a fix that should have worked, but a C compiler bug
apparently keeps it from working. In /sys/sys/vm_mem.c in memall() the code
swapdev : mount[c->c_mdev].m_dev, (daddr_t)(u_long)c->c_blkno
should be changed to
swapdev : mount[c->c_mdev].m_dev, c->c_blkno
and in /sys/vax/vm_machdep.c in chgprot() the code
munhash(mount[c->c_mdev].m_dev, (daddr_t)(u_long)c->c_blkno);
should be changed to
munhash(mount[c->c_mdev].m_dev, c->c_blkno);
because the C compiler apparently incorrectly folds the (daddr_t) and (u_long)
together and sign extends anyway. Simply taking out the (daddr_t)(u_long)
works, although lint will probably complain about it.
---
More information about the Comp.unix.wizards
mailing list