Date: Tue, 25 Sep 2001 11:20:19 +0200 From: Poul-Henning Kamp <phk@critter.freebsd.dk> To: Bernd Walter <ticso@mail.cicely.de> Cc: Peter Wullinger <RivaW@gmx.de>, freebsd-hackers@FreeBSD.ORG Subject: Re: VM Corruption - stumped, anyone have any ideas? Message-ID: <25345.1001409619@critter> In-Reply-To: Your message of "Tue, 25 Sep 2001 11:18:59 %2B0200." <20010925111858.C27615@cicely20.cicely.de>
next in thread | previous in thread | raw e-mail | index | archive | help
In message <20010925111858.C27615@cicely20.cicely.de>, Bernd Walter writes: >On Tue, Sep 25, 2001 at 10:01:03AM +0200, Peter Wullinger wrote: >> On Tue, Sep 25, 2001 at 09:56:07AM +0200, Bernd Walter wrote: >> > On Mon, Sep 24, 2001 at 06:14:34PM -0700, Bakul Shah wrote: >> > > FWIW, in a Unix port we did I remember putting the user >> > > struct *above* the kernel stack. The stack grew down so you >> > > hit the red zone (the guard pages) without clobbering the >> > > user struct. Since struct user _ended_ on a page boundary, >> > > its size was needed at locore.s assembly time but that was a >> > > small price to pay for the added safety. >> > >> > I don't think a guard page can help here, because the page fault >> > handler needs a working stack. >> > >> Depends on what is does ... if it just panics and syncs and does >> not care overwriting the user struct of the current process (which >> is lost anyway), is this much of a problem? > >Please correct me if I'm missing something. >If it is overwriting there is no page fault thus no guard page and >no panic. >If you would have a page fault there is no space where the CPU can >write the state information to for entering the handler. And it would take a double-fault for which we have a handler with it's own stack. -- Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 phk@FreeBSD.ORG | TCP/IP since RFC 956 FreeBSD committer | BSD since 4.3-tahoe Never attribute to malice what can adequately be explained by incompetence. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?25345.1001409619>