|
|
|
|
|
|
|
|
|
|
xen-devel
[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
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-devel] [PATCH] Fix casting usage in xen_create_msi_irq.,
Konrad Rzeszutek Wilk <=
|
|
|
|
|