x86/mm: drop guest_get_eff_l1e()

There's no actual user of it: pv_ro_page_fault() has a
guest_kernel_mode() conditional around its only call site.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
This commit is contained in:
Jan Beulich committed 2020-11-04 09:27:22 +01:00
1 parent c0d3cc9b0f
commit 9ff9705647
3 files changed
+6 -24

No files matched your search

-21
View File
@@ -55,27 +55,6 @@ l1_pgentry_t *map_guest_l1e(unsigned long linear, mfn_t *gl1mfn)
return (l1_pgentry_t *)map_domain_page(*gl1mfn) + l1_table_offset(linear);
}
/*
* Read the guest's l1e that maps this address, from the kernel-mode
* page tables.
*/
static l1_pgentry_t guest_get_eff_kern_l1e(unsigned long linear)
{
struct vcpu *curr = current;
const bool user_mode = !(curr->arch.flags & TF_kernel_mode);
l1_pgentry_t l1e;
if ( user_mode )
toggle_guest_pt(curr);
l1e = guest_get_eff_l1e(linear);
if ( user_mode )
toggle_guest_pt(curr);
return l1e;
}
/*
* Map a guest's LDT page (covering the byte at @offset from start of the LDT)
* into Xen's virtual range. Returns true if the mapping changed, false
+5 -2
View File
@@ -5,8 +5,11 @@ l1_pgentry_t *map_guest_l1e(unsigned long linear, mfn_t *gl1mfn);
int new_guest_cr3(mfn_t mfn);
/* Read a PV guest's l1e that maps this linear address. */
static inline l1_pgentry_t guest_get_eff_l1e(unsigned long linear)
/*
* Read the guest's l1e that maps this address, from the kernel-mode
* page tables.
*/
static inline l1_pgentry_t guest_get_eff_kern_l1e(unsigned long linear)
{
l1_pgentry_t l1e;
+1 -1
View File
@@ -342,7 +342,7 @@ int pv_ro_page_fault(unsigned long addr, struct cpu_user_regs *regs)
bool mmio_ro;
/* Attempt to read the PTE that maps the VA being accessed. */
pte = guest_get_eff_l1e(addr);
pte = guest_get_eff_kern_l1e(addr);
/* We are only looking for read-only mappings */
if ( ((l1e_get_flags(pte) & (_PAGE_PRESENT | _PAGE_RW)) != _PAGE_PRESENT) )
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.