DragonFly commits List (threaded) for 2007-01
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]
cvs commit: src/sys/machine/pc32/i386 pmap.c src/sys/machine/pc32/include pmap.h src/sys/machine/vkernel/include pmap.h src/sys/machine/vkernel/platform pmap.c
dillon 2007/01/15 01:28:40 PST
DragonFly src repository
Modified files:
sys/machine/pc32/i386 pmap.c
sys/machine/pc32/include pmap.h
sys/machine/vkernel/include pmap.h
sys/machine/vkernel/platform pmap.c
Log:
Close two holes in the pmap code. The page table self mapping does not
necessarily stay valid through a blocking condition, recheck it for every
page. The 'next' pointer in the loop that runs through PV entries is not
safe when code blocks in the loop. Add a generation count to detect
unexpected removals and restart the loop. Add a kprintf() to print when
the condition is detected.
Crash-Reported-by: Nuno Antunes <bugs@crater.dragonflybsd.org>
Revision Changes Path
1.72 +29 -12 src/sys/machine/pc32/i386/pmap.c
1.6 +3 -2 src/sys/machine/pc32/include/pmap.h
1.3 +1 -0 src/sys/machine/vkernel/include/pmap.h
1.15 +29 -13 src/sys/machine/vkernel/platform/pmap.c
http://www.dragonflybsd.org/cvsweb/src/sys/machine/pc32/i386/pmap.c.diff?r1=1.71&r2=1.72&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/machine/pc32/include/pmap.h.diff?r1=1.5&r2=1.6&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/machine/vkernel/include/pmap.h.diff?r1=1.2&r2=1.3&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/machine/vkernel/platform/pmap.c.diff?r1=1.14&r2=1.15&f=u
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]