x86/EPT: squash meaningless TLB flush

ept_free_entry() gets called after a flush was already issued, if one is
necessary in the first place. That behavior is similar to NPT, which
also doesn't have any further flush in p2m_free_entry(). (Furthermore,
the function being recursive, in case of recursiveness way too many
flushes would have been issued.)

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
Reviewed-by: Kevin Tian <kevin.tian@intel.com>
This commit is contained in:
Jan Beulich committed 2022-01-04 10:13:06 +01:00
1 parent f1e268b9fd
commit 4a59e6bb3a
1 file changed
+1 -2
+1 -2
View File
@@ -246,8 +246,7 @@ static void ept_free_entry(struct p2m_domain *p2m, ept_entry_t *ept_entry, int l
ept_free_entry(p2m, epte + i, level - 1);
unmap_domain_page(epte);
}
p2m_tlb_flush_sync(p2m);
p2m_free_ptp(p2m, mfn_to_page(_mfn(ept_entry->mfn)));
}
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.