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

Reply via email to