7f6bd728fd
xend-cpuid.patch - Rename 2XXXX-vif-bridge.patch -> vif-bridge-tap-fix.patch - bnc#747331 - XEN: standard "newburn" kernel QA stress test on guest (+ smartd on Dom0?) freezes the guest 24883-x86-guest-walk-not-present.patch - bnc#745367 - MCE bank handling during migration 24781-x86-vmce-mcg_ctl.patch 24886-x86-vmce-mcg_ctl-default.patch 24887-x86-vmce-sr.patch - bnc#744771 - L3: VM with passed through PCI card fails to reboot under dom0 load 24888-pci-release-devices.patch - Upstream patches from Jan 24517-VT-d-fault-softirq.patch 24527-AMD-Vi-fault-softirq.patch 24535-x86-vMSI-misc.patch 24615-VESA-lfb-flush.patch 24690-x86-PCI-SERR-no-deadlock.patch 24701-gnttab-map-grant-ref-recovery.patch 24742-gnttab-misc.patch 24780-x86-paging-use-clear_guest.patch 24805-x86-MSI-X-dom0-ro.patch ioemu-9869-MSI-X-init.patch ioemu-9873-MSI-X-fix-unregister_iomem.patch - bnc#745005 - Update vif configuration examples in xmexample* Updated xen-xmexample.diff OBS-URL: https://build.opensuse.org/package/show/Virtualization/xen?expand=0&rev=172
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,
|