31 lines
1.1 KiB
Diff
31 lines
1.1 KiB
Diff
|
# HG changeset patch
|
||
|
# User Jan Beulich <jbeulich@suse.com>
|
||
|
# Date 1329303884 -3600
|
||
|
# Node ID 618cbd27bac06fe39b1c6f28ded6d4d7f444e7bd
|
||
|
# Parent 0ba87b95e80bae059fe70b4b117dcc409f2471ef
|
||
|
x86: don't allow Dom0 to map MSI-X table writably
|
||
|
|
||
|
With the traditional qemu tree fixed to not use PROT_WRITE anymore in
|
||
|
the mmap() call for this region, and with the upstream qemu tree not
|
||
|
being capable of handling passthrough, yet, there's no need to treat
|
||
|
Dom specially here anymore.
|
||
|
|
||
|
This continues to leave unaddressed the case where PV guests map the
|
||
|
MSI-X table page(s) before setting up the first MSI-X interrupt (see
|
||
|
the original c/s 22182:68cc3c514a0a description for options).
|
||
|
|
||
|
Signed-off-by: Jan Beulich <jbeulich@suse.com>
|
||
|
Acked-by: Keir Fraser <keir@xen.org>
|
||
|
|
||
|
--- a/xen/arch/x86/mm.c
|
||
|
+++ b/xen/arch/x86/mm.c
|
||
|
@@ -835,7 +835,7 @@ get_page_from_l1e(
|
||
|
return -EINVAL;
|
||
|
}
|
||
|
|
||
|
- if ( !(l1f & _PAGE_RW) || IS_PRIV(pg_owner) ||
|
||
|
+ if ( !(l1f & _PAGE_RW) ||
|
||
|
!rangeset_contains_singleton(mmio_ro_ranges, mfn) )
|
||
|
return 0;
|
||
|
dprintk(XENLOG_G_WARNING,
|