Displaying 4 results from an estimated 4 matches for "xen_initdom_restore_msi_irqs".
2013 Aug 29
6
[PATCH 2/3 v3] Refactor MSI restore call-chain to drop unnecessary argument
...ib.masked to device,
but with current code, entry->masked is used and MSI-x interrupt is masked.
Before patch, restore call graph under initial domain:
pci_reset_function->
pci_restore_state->
__pci_restore_msix_state->
arch_restore_msi_irqs->
xen_initdom_restore_msi_irqs->
PHYSDEVOP_restore_msi hypercall (first mask restore)
msix_mask_irq(entry, entry->masked) (second mask restore)
So msix_mask_irq call in initial domain call graph needs to be removed.
Based on this we can move the restore of the mask in default_restore_m...
2012 Sep 14
3
memory corruption in HYPERVISOR_physdev_op()
...;op.u, sizeof(op.u));
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Some of the arg buffers are not as large as sizeof(op.u) which is either
12 or 16 depending on the size of longs in struct physdev_apic.
399 }
400 return rc;
401 }
One example of this is in xen_initdom_restore_msi_irqs().
arch/x86/pci/xen.c
337 struct physdev_pci_device restore_ext;
338
339 restore_ext.seg = pci_domain_nr(dev->bus);
340 restore_ext.bus = dev->bus->number;
341 restore_ext.devfn = dev->devfn;
342...
2012 Sep 14
3
memory corruption in HYPERVISOR_physdev_op()
...;op.u, sizeof(op.u));
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Some of the arg buffers are not as large as sizeof(op.u) which is either
12 or 16 depending on the size of longs in struct physdev_apic.
399 }
400 return rc;
401 }
One example of this is in xen_initdom_restore_msi_irqs().
arch/x86/pci/xen.c
337 struct physdev_pci_device restore_ext;
338
339 restore_ext.seg = pci_domain_nr(dev->bus);
340 restore_ext.bus = dev->bus->number;
341 restore_ext.devfn = dev->devfn;
342...
2012 Sep 14
3
memory corruption in HYPERVISOR_physdev_op()
...;op.u, sizeof(op.u));
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Some of the arg buffers are not as large as sizeof(op.u) which is either
12 or 16 depending on the size of longs in struct physdev_apic.
399 }
400 return rc;
401 }
One example of this is in xen_initdom_restore_msi_irqs().
arch/x86/pci/xen.c
337 struct physdev_pci_device restore_ext;
338
339 restore_ext.seg = pci_domain_nr(dev->bus);
340 restore_ext.bus = dev->bus->number;
341 restore_ext.devfn = dev->devfn;
342...