mmu: do not free pages before flushing remote tlbs during unpopulate
Page cannot be freed before remote tlbs are flushed since if remote cpu has the page in its tlb and the page is reallocated for some other purposes remote cpu can still access the page through tlb and corrupt its content. Think about two threads running on two different cpus: first one writes to a virtual address constantly and second unmaps the virtual address. Physical page, virtual address is mapped to, cannot be freed before both cpus tlb are flushed. Signed-off-by:Gleb Natapov <gleb@cloudius-systems.com> Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
Loading
Please register or sign in to comment