Subject: Re: bug alert: pmap.c - m68k (solved?)
To: Gordon W. Ross <email@example.com>
From: Leo Weppelman <firstname.lastname@example.org>
Date: 04/18/1996 23:55:54
Thanks Gordon & Ignatios! As you both claimed that page 0 was not mapped
(although I could have sworn it was the last time I had an in-depth look
at the amiga vm-code ;-) ), I took up the trail looking at valid cases
for curproc to be NULL at that point (== pmap_delete). The most obvious
one turned out to be exit... In this case curproc is set to NULL _before_
removing the mappings.
The atari-port seems to have missed some general update on the pmap-code
because all other m68k ports tested curproc for NULL at the point of the
crash exept the atari. The hp300/mac68k & mvme ports also contain some
unguarded 'curproc->' tests in pmap_delete*(). These tests are within
an ifdef clause and I'm not sure if these references are in the danger zone,
this means that the alert light is still on - although a bit dimmed ;-).
[ problem description deleted ]
> > Another interesting point is: is it possible to make page-zero invalid.
> > I haven't investigated this very thoroughly yet, but I think it's possible.
> > This has the advantage of catching this kind of bugs earlier.
> Yes. Page zero is invalid on the Sun3.
I think it is time to do this for the atari-port too...