[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] passthrough/amd: avoid reading an uninitialized variable.



On Thu, Apr 16, 2015 at 05:44:10PM +0100, Tim Deegan wrote:
> 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 <tim@xxxxxxx>
> Cc: Suravee Suthikulpanit <suravee.suthikulpanit@xxxxxxx>
> Cc: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx>

CC-ing Sander who I believe saw this problem.
http://lists.xen.org/archives/html/xen-devel/2015-03/msg03679.html

> ---
> I'm not sure whether we ought to be writing some default value
> instead.  Happy to respin if someone knowledgeable can advise.
> ---
>  xen/drivers/passthrough/amd/iommu_intr.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/xen/drivers/passthrough/amd/iommu_intr.c 
> b/xen/drivers/passthrough/amd/iommu_intr.c
> index c1b76fb..c097d52 100644
> --- a/xen/drivers/passthrough/amd/iommu_intr.c
> +++ b/xen/drivers/passthrough/amd/iommu_intr.c
> @@ -529,10 +529,11 @@ 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;
>  }
>  
> -- 
> 2.1.4
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxx
> http://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.