cvs commit: src/sys/amd64/amd64 pmap.c src/sys/i386/i386 pmap.c

Alan Cox alc at cs.rice.edu
Sun Oct 1 13:37:21 PDT 2006


Martin Blapp wrote:

>
> Hi Alan,
>
> This commit makes my box crash with HEAD at startup. Please back it out
> and investige why it happens. I'm pretty sure that it happens for 
> RELENG_6 too.
>
The assertion that fails for you under HEAD does not exist in RELENG_6.  
Have you seen a different assertion failure or crash in RELENG_6 since 
this patch was applied there?

I will discuss this with re at .

Regards,
Alan

>  
>
> Martin Blapp, <mb at imp.ch> <mbr at FreeBSD.org>
> ------------------------------------------------------------------
> ImproWare AG, UNIXSP & ISP, Zurlindenstrasse 29, 4133 Pratteln, CH
> Phone: +41 61 826 93 00 Fax: +41 61 826 93 01
> PGP: <finger -l mbr at freebsd.org>
> PGP Fingerprint: B434 53FC C87C FE7B 0A18 B84C 8686 EF22 D300 551E
> ------------------------------------------------------------------
>
> On Wed, 27 Sep 2006, Alan Cox wrote:
>
>> alc         2006-09-27 18:10:16 UTC
>>
>>  FreeBSD src repository
>>
>>  Modified files:        (Branch: RELENG_6)
>>    sys/amd64/amd64      pmap.c
>>    sys/i386/i386        pmap.c
>>  Log:
>>  MFC
>>    Correct a very old and very obscure bug: vmspace_fork() calls
>>    pmap_copy() if the mapping is VM_INHERIT_SHARE.  Suppose the mapping
>>    is also wired.  vmspace_fork() clears the wiring attributes in the vm
>>    map entry but pmap_copy() copies the PG_W attribute in the PTE.  I
>>    don't think this is catastrophic.  It blocks pmap_remove_pages() from
>>    destroying the mapping and corrupts the pmap's wiring count.
>>
>>    This revision fixes the problem by changing pmap_copy() to clear the
>>    PG_W attribute.
>>
>>  Approved by: re (mux)
>>
>>  Revision   Changes    Path
>>  1.516.2.8  +4 -3      src/sys/amd64/amd64/pmap.c
>>  1.523.2.8  +5 -3      src/sys/i386/i386/pmap.c
>>



More information about the cvs-all mailing list