xen/mmu: WARN_ON when racing to swap middle leaf.
The initial bootup code uses set_phys_to_machine quite a lot, and after bootup it would be used by the balloon driver. The balloon driver does have mutex lock so this should not be necessary - but just in case, add a WARN_ON if we do hit this scenario. If we do fail this, it is OK to continue as there is a backup mechanism (VM_IO) that can bypass the P2M and still set the _PAGE_IOMAP flags. [v2: Change from WARN to BUG_ON] [v3: Rebased on top of xen->p2m code split] [v4: Change from BUG_ON to WARN] Reviewed-by: Ian Campbell <Ian.Campbell@eu.citrix.com> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
This commit is contained in:
parent
fb38923ead
commit
c761779877
1 changed files with 2 additions and 1 deletions
|
@ -605,7 +605,8 @@ bool __set_phys_to_machine(unsigned long pfn, unsigned long mfn)
|
|||
|
||||
/* Swap over from MISSING to IDENTITY if needed. */
|
||||
if (p2m_top[topidx][mididx] == p2m_missing) {
|
||||
p2m_top[topidx][mididx] = p2m_identity;
|
||||
WARN_ON(cmpxchg(&p2m_top[topidx][mididx], p2m_missing,
|
||||
p2m_identity) != p2m_missing);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue