Skip to content
Snippets Groups Projects
Commit 73a97f11 authored by Gleb Natapov's avatar Gleb Natapov Committed by Avi Kivity
Browse files

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: default avatarGleb Natapov <gleb@cloudius-systems.com>
Signed-off-by: default avatarAvi Kivity <avi@cloudius-systems.com>
parent 325a7b82
No related branches found
No related tags found
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment