perhaps i'm missing something, but we experienced
a crash in mmuwalk that was explained by interpreting
the garbage in a page allocated by mmuwalk as valid
page flags. of course this did not end well.
/n/dump/2009/1112/sys/src/9/pc/mmu.c:624,629 - mmu.c:624,630
map = rampage();
if(map == nil)
panic("mmuwalk xspanalloc failed");
+ memset(map, 0, BY2PG); /* d'oh! */
*table = PADDR(map)|PTEWRITE|PTEVALID;
}
table = KADDR(PPN(*table));
is there something that i'm missing here? it's hard
to imagine that this doesn't cause problems more often.
- erik