>it could (just for one example) have exited and been cleaned up >before p is dereferenced to set newtlb = 1.
it wouldn't matter since processes aren't deallocated, and an extra newtlb is at worst inefficient. the kproc doesn't, however, share memory with the current proc, and i don't think it needs to do anything at all. (even if memory were shared, a new process starts with an empty mmu state.) the comment is copied from another site, where it does matter, but only for up (and flushmmu sets up->newtlb), and indeed there isn't a p->newtlb mention there. i don't think either statement is needed, but neither will they actually cause harm.