Re: [PATCH] xen-pciback: Use pci_enable_msix_range() instead of pci_enable_msix()

From: Boris Ostrovsky
Date: Wed Feb 19 2014 - 11:23:11 EST


On 02/19/2014 11:05 AM, Alexander Gordeev wrote:
On Wed, Feb 19, 2014 at 10:40:19AM -0500, Boris Ostrovsky wrote:
diff --git a/drivers/xen/xen-pciback/pciback_ops.c
b/drivers/xen/xen-pciback/pciback_ops.c
index 64eb0cd..f5b4c3e 100644
--- a/drivers/xen/xen-pciback/pciback_ops.c
+++ b/drivers/xen/xen-pciback/pciback_ops.c
@@ -213,9 +213,15 @@ int xen_pcibk_enable_msix(struct
xen_pcibk_device *pdev,
entries[i].vector = op->msix_entries[i].vector;
}
- result = pci_enable_msix(dev, entries, op->value);
+ result = pci_enable_msix_range(dev, entries, op->value, op->value);
+ if (result < op->value) {

I think it would be better to have 'if (result != op->value)', in
case op->value is negative (which presumably it should never be).

Better yet, at the top of the routine we check 'if (op->value >
SH_INFO_MAX_VEC)'. If you add '|| op->value < 0' we'd be all set.
xen_pci_op::value is uint32_t

Ah, OK --- then 'if (op->value > SH_INFO_MAX_VEC)' alone will catch this (hopefully its' not in billions).

Reviewed-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx>

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/