On 10/13/22 15:15, Huang, Kai wrote: > On Thu, 2022-10-13 at 15:02 -0700, Hansen, Dave wrote: >> Specifically, with this machine check SIGBUS implementation, one EPC >> page can only have on host virtual address. But, it's possible to >> mmap() a single VEPC page in multiple processes at multiple host virtual >> addresses. >> >> So, the implementation only allows one host virtual address. But, we >> can imagine a scenario where there are *TWO* valid virtual addresses >> where the VEPC is mapped. >> >> What might happen in this case? What's the fallout? > > My understanding is there can be two #MC happening on two virtual addresses. > > Each #MC will be injected to the VM which triggers that #MC to handle. OK but which address with each of them see in siginfo->si_addr? There's only one ->vepc_vaddr. It seems to me like this might result in the siginfo getting populated with the ->si_addr from the *OTHER* process and *OTHER* virtual address. Basically, whoever allocates the page sets up *their* virtual address. Anyone else who gets a machine check on that page will see a virtual address that has nothing to do with its virtual address space. Is that problematic?