[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH] Fix casting usage in xen_create_msi_irq.
rc is int, domid is unsigned int. The casting of negatives values to domid results in wrap where -16 becomes 0xfff0. If we check for rc (instead of domid) and find a negative value (which you can't with domid) then we will default to DOMID_SELF - which is exactly what this line was intending to do earlier but failed to do. Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> --- drivers/xen/events.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/xen/events.c b/drivers/xen/events.c index adc8c09..67598bc 100644 --- a/drivers/xen/events.c +++ b/drivers/xen/events.c @@ -678,7 +678,7 @@ int xen_create_msi_irq(struct pci_dev *dev, struct msi_desc *msidesc, /* Walk the XenStore keys to see if the device is assigned to any * domain. If so, extract the domain id. */ domid = rc = xenbus_walk( "/local/domain/0", get_domid_for_dev, dev); - if (domid <= 0) + if (rc <= 0) domid = DOMID_SELF; memset(&map_irq, 0, sizeof(map_irq)); -- 1.6.2.5 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |