Jan Beulich
2012-Feb-14 14:54 UTC
[PATCH] 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>
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -869,7 +869,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,
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
Keir Fraser
2012-Feb-14 18:32 UTC
Re: [PATCH] x86: don''t allow Dom0 to map MSI-X table writably
On 14/02/2012 14:54, "Jan Beulich" <JBeulich@suse.com> wrote:> 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 > @@ -869,7 +869,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, > > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel