WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] RE: [Xen-changelog] [xen-unstable]vt-d: Fixpanic in msi_

To: Dexuan Cui <dexuan.cui@xxxxxxxxx>
Subject: Re: [Xen-devel] RE: [Xen-changelog] [xen-unstable]vt-d: Fixpanic in msi_msg_read_remap_rte with acpi=off
From: Miroslav Rezanina <mrezanin@xxxxxxxxxx>
Date: Mon, 19 Oct 2009 04:34:29 -0400 (EDT)
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx, Keir Fraser <keir.fraser@xxxxxxxxxxxxx>
Delivery-date: Mon, 19 Oct 2009 01:34:58 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <1949920474.361541255941211791.JavaMail.root@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
----- "Dexuan Cui" <dexuan.cui@xxxxxxxxx> wrote:

> From: "Dexuan Cui" <dexuan.cui@xxxxxxxxx>
> To: "Miroslav Rezanina" <mrezanin@xxxxxxxxxx>
> Cc: xen-devel@xxxxxxxxxxxxxxxxxxx, "Keir Fraser" <keir.fraser@xxxxxxxxxxxxx>
> Sent: Monday, October 19, 2009 9:38:12 AM GMT +01:00 Amsterdam / Berlin / 
> Bern / Rome / Stockholm / Vienna
> Subject: [Xen-devel] RE: [Xen-changelog] [xen-unstable]vt-d: Fixpanic in 
> msi_msg_read_remap_rte with acpi=off
>
> Hi Miroslav,
> I agree we should program defensively.
> However, here when acpi=off and iommu=1, or when iommu=0, with my "if
> ( acpi_disabled ) iommu_enabled = 0" checking, I believe xen's
> execution can't reach the places you pointed out.
> And when (by default acpi=on and ) iommu=1, normally the places can't
> return NULL either, otherwise the BIOS is buggy or Xen has a bug; in
> these cases, we can't simply ignore it silently -- I think we should
> at least print a warning message.
> So how about my attached new patch?
> 
> Thanks,
> -- Dexuan
> 

Hi Dexuan,
you're right. We should print warning. In your patch, I do not understand 
why you put comment only in setup_dom0_devices function. There is more 
calling of domain_context_mapping and we check NULL also in domain_context_unmap
and reassign_device_ownership. We should put warning in there too, shouldn't we?

Regards,
Mirek

> 
> 
> -----Original Message-----
> From: Miroslav Rezanina [mailto:mrezanin@xxxxxxxxxx] 
> Sent: 2009年10月17日 1:40
> To: Cui, Dexuan
> Cc: Keir Fraser; xen-devel@xxxxxxxxxxxxxxxxxxx
> Subject: RE: [Xen-changelog] [xen-unstable]vt-d: Fixpanic in
> msi_msg_read_remap_rte with acpi=off
> 
> ---- "Dexuan Cui" <dexuan.cui@xxxxxxxxx> wrote:
> 
> > From: "Dexuan Cui" <dexuan.cui@xxxxxxxxx>
> > To: "Miroslav Rezanina" <mrezanin@xxxxxxxxxx>
> > Cc: "Keir Fraser" <keir.fraser@xxxxxxxxxxxxx>,
> xen-devel@xxxxxxxxxxxxxxxxxxx
> > Sent: Friday, October 16, 2009 4:16:55 PM GMT +01:00 Amsterdam /
> Berlin / Bern / Rome / Stockholm / Vienna
> > Subject: RE:  [Xen-changelog] [xen-unstable]vt-d: Fixpanic in
> msi_msg_read_remap_rte with acpi=off
> >
> > Hi Miroslav and Keir,
> > When acpi=off and we set iommu_enabled=0, the execution of xen
> can't
> > reach the acpi_find_matched_drhd_unit Miroslav explicitly points
> out
> > one by one.
> > I think I can give a cleaner fix. Please see the attached patch.
> > 
> > Thanks,
> > -- Dexuan
> > 
> Hi Dexuan,
> acpi_find_matched_drhd_unit can theoretically return NULL. Is one
> check so big overhead to risk
> segmentation fault? 
> > 
> > diff -r 0705efd9c69e xen/drivers/passthrough/iommu.c
> > --- a/xen/drivers/passthrough/iommu.c   Fri Oct 16 09:04:53 2009
> +0100
> > +++ b/xen/drivers/passthrough/iommu.c   Fri Oct 16 18:41:46 2009
> +0800
> > @@ -266,9 +266,13 @@ int iommu_setup(void)
> >  {
> >      int rc = -ENODEV;
> > 
> > -    rc = iommu_hardware_setup();
> > -
> > -     iommu_enabled = (rc == 0);
> > +    if ( acpi_disabled )
> > +        iommu_enabled = 0;
> > +    else
> > +    {
> > +        rc = iommu_hardware_setup();
> > +        iommu_enabled = (rc == 0);
> > +    }
> > 
> >     if ( force_iommu && !iommu_enabled )
> >          panic("IOMMU setup failed, crash Xen for security
> purpose!\n");
> 
> I miss this part, so this one should be add. However, I would leave
> checks when calling acpi_find_matched_drhd_unit.
> -- 
> Miroslav Rezanina
> Software Engineer - Virtualization Team - XEN kernel
> 
> -- 
> Miroslav Rezanina
> Software Engineer - Virtualization Team - XEN kernel
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-devel

-- 
Miroslav Rezanina
Software Engineer - Virtualization Team - XEN kernel


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel