mirror of
https://github.com/torvalds/linux.git
synced 2024-11-11 22:51:42 +00:00
xen-pciback: rate limit error messages from xen_pcibk_enable_msi{,x}()
... as being guest triggerable (e.g. by invoking XEN_PCI_OP_enable_msi{,x} on a device not being MSI/MSI-X capable). This is CVE-2013-0231 / XSA-43. Also make the two messages uniform in both their wording and severity. Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Ian Campbell <ian.campbell@citrix.com> Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
This commit is contained in:
parent
9174adbee4
commit
51ac8893a7
@ -135,7 +135,6 @@ int xen_pcibk_enable_msi(struct xen_pcibk_device *pdev,
|
|||||||
struct pci_dev *dev, struct xen_pci_op *op)
|
struct pci_dev *dev, struct xen_pci_op *op)
|
||||||
{
|
{
|
||||||
struct xen_pcibk_dev_data *dev_data;
|
struct xen_pcibk_dev_data *dev_data;
|
||||||
int otherend = pdev->xdev->otherend_id;
|
|
||||||
int status;
|
int status;
|
||||||
|
|
||||||
if (unlikely(verbose_request))
|
if (unlikely(verbose_request))
|
||||||
@ -144,8 +143,9 @@ int xen_pcibk_enable_msi(struct xen_pcibk_device *pdev,
|
|||||||
status = pci_enable_msi(dev);
|
status = pci_enable_msi(dev);
|
||||||
|
|
||||||
if (status) {
|
if (status) {
|
||||||
printk(KERN_ERR "error enable msi for guest %x status %x\n",
|
pr_warn_ratelimited(DRV_NAME ": %s: error enabling MSI for guest %u: err %d\n",
|
||||||
otherend, status);
|
pci_name(dev), pdev->xdev->otherend_id,
|
||||||
|
status);
|
||||||
op->value = 0;
|
op->value = 0;
|
||||||
return XEN_PCI_ERR_op_failed;
|
return XEN_PCI_ERR_op_failed;
|
||||||
}
|
}
|
||||||
@ -223,10 +223,10 @@ int xen_pcibk_enable_msix(struct xen_pcibk_device *pdev,
|
|||||||
pci_name(dev), i,
|
pci_name(dev), i,
|
||||||
op->msix_entries[i].vector);
|
op->msix_entries[i].vector);
|
||||||
}
|
}
|
||||||
} else {
|
} else
|
||||||
printk(KERN_WARNING DRV_NAME ": %s: failed to enable MSI-X: err %d!\n",
|
pr_warn_ratelimited(DRV_NAME ": %s: error enabling MSI-X for guest %u: err %d!\n",
|
||||||
pci_name(dev), result);
|
pci_name(dev), pdev->xdev->otherend_id,
|
||||||
}
|
result);
|
||||||
kfree(entries);
|
kfree(entries);
|
||||||
|
|
||||||
op->value = result;
|
op->value = result;
|
||||||
|
Loading…
Reference in New Issue
Block a user