A possible bug in "evict" function in v/vm.c:
In line 123, when evict a dirty page in user space, memcpy should be from that page, rather than to the evicted page.
Yeah, looks right. I think the reason this never mattered in practice is that evict is only invoked at the end of a test program's execution, at which point the memory contents are no longer of interest.
A possible bug in "evict" function in v/vm.c: In line 123, when evict a dirty page in user space, memcpy should be from that page, rather than to the evicted page.