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

Matthew Dillon dillon at
Mon Jan 15 01:31:48 PST 2007

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 
  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 at>
  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

More information about the Commits mailing list