From: Tim Deegan Date: Fri, 24 Apr 2015 10:04:57 +0000 (+0200) Subject: passthrough/amd: avoid reading an uninitialized variable X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~3369 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=a8ccf2d9f6f291f8fc6003e3d8bc7275ac1cc69f;p=xen.git passthrough/amd: avoid reading an uninitialized variable update_intremap_entry_from_msi() doesn't write to its data pointer on some error paths, so we copying that variable into the msg would count as undefined behaviour. Signed-off-by: Tim Deegan Reviewed-by: Andrew Cooper Reviewed-by: Jan Beulich Acked-by: Suravee Suthikulpanit --- diff --git a/xen/drivers/passthrough/amd/iommu_intr.c b/xen/drivers/passthrough/amd/iommu_intr.c index c1b76fb9d0..439ba05f2a 100644 --- a/xen/drivers/passthrough/amd/iommu_intr.c +++ b/xen/drivers/passthrough/amd/iommu_intr.c @@ -529,10 +529,12 @@ int amd_iommu_msi_msg_update_ire( } while ( PCI_SLOT(bdf) == PCI_SLOT(pdev->devfn) ); if ( !rc ) + { for ( i = 1; i < nr; ++i ) msi_desc[i].remap_index = msi_desc->remap_index + i; + msg->data = data; + } - msg->data = data; return rc; }