mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 18:50:05 +01:00
x86/mm: Fix checks during foreign mapping of paged pages
Check that the valid mfn is the one we are mapping, not the mfn of the page table of the foreign domain. Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org> Acked-by: Tim Deegan <tim@xen.org> Committed-by: Tim Deegan <tim@xen.org>
This commit is contained in:
1 parent
70af77fae7
commit
cd4e6b4768
1 file changed
+8
-4
+8
-4
@@ -3572,7 +3572,8 @@ int do_mmu_update(
|
||||
rc = -ENOENT;
|
||||
break;
|
||||
}
|
||||
else if ( p2m_ram_paging_in_start == l1e_p2mt && !mfn_valid(mfn) )
|
||||
else if ( p2m_ram_paging_in_start == l1e_p2mt &&
|
||||
!mfn_valid(l1emfn) )
|
||||
{
|
||||
put_gfn(pg_owner, l1egfn);
|
||||
rc = -ENOENT;
|
||||
@@ -3620,7 +3621,8 @@ int do_mmu_update(
|
||||
rc = -ENOENT;
|
||||
break;
|
||||
}
|
||||
else if ( p2m_ram_paging_in_start == l2e_p2mt && !mfn_valid(mfn) )
|
||||
else if ( p2m_ram_paging_in_start == l2e_p2mt &&
|
||||
!mfn_valid(l2emfn) )
|
||||
{
|
||||
put_gfn(pg_owner, l2egfn);
|
||||
rc = -ENOENT;
|
||||
@@ -3654,7 +3656,8 @@ int do_mmu_update(
|
||||
rc = -ENOENT;
|
||||
break;
|
||||
}
|
||||
else if ( p2m_ram_paging_in_start == l3e_p2mt && !mfn_valid(mfn) )
|
||||
else if ( p2m_ram_paging_in_start == l3e_p2mt &&
|
||||
!mfn_valid(l3emfn) )
|
||||
{
|
||||
put_gfn(pg_owner, l3egfn);
|
||||
rc = -ENOENT;
|
||||
@@ -3688,7 +3691,8 @@ int do_mmu_update(
|
||||
rc = -ENOENT;
|
||||
break;
|
||||
}
|
||||
else if ( p2m_ram_paging_in_start == l4e_p2mt && !mfn_valid(mfn) )
|
||||
else if ( p2m_ram_paging_in_start == l4e_p2mt &&
|
||||
!mfn_valid(l4emfn) )
|
||||
{
|
||||
put_gfn(pg_owner, l4egfn);
|
||||
rc = -ENOENT;
|
||||
|
||||