On Wed, 2010-04-28 at 17:47 +0800, Avi Kivity wrote: > On 04/28/2010 05:56 AM, Huang Ying wrote: > > > >>> > >>> Just want to use the side effect of copy_from_user, SIGBUS will be sent > >>> to current process because the page touched is marked as poisoned. That > >>> is, failure is expected, so the return value is not checked. > >>> > >>> > >> What if the failure doesn't happen? Say, someone mmap()ed over the page. > >> > > Sorry, not get your idea clearly. hva is re-mmap()ed? We just read the > > hva, not write, so I think it should be OK here. > > > > > > We don't generate a signal in this case. Does the code continue to work > correctly (not sure what correctly is in this case... should probably > just continue). > > There's also the possibility of -EFAULT. I think signal should be generated for copy_from_user, because the hva is poisoned now. The signal will not generated only if the hva is re-mmap()ped to some other physical page, but this should be impossible unless we have memory hotadd/hotremove in KVM. If the signal is not generated, lost or overwritten, guest will continue, and if the hva is still poisoned, the page fault will be triggered again; if the hva is not poisoned, there will be no further page fault. Best Regards, Huang Ying -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html