There is a serious bug in kmalloc: when allocating a new arena for nalloc, the size passed to nalloc_add_arena is too big! --- orig/util.c Tue Aug 17 21:23:28 1993 +++ util.c Sat Sep 4 22:06:36 1993 @@ -156,7 +156,7 @@ lp = (long *)m->loc; *lp++ = (long)KMAGIC; *lp++ = (long)m; - nalloc_arena_add((void *)lp,KERMEM_SIZE); + nalloc_arena_add((void *)lp,KERMEM_SIZE - 2*sizeof(long)); goto tryagain; } }