Message ID | 1488159949-15011-3-git-send-email-chao.gao@intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
>>> On 27.02.17 at 02:45, <chao.gao@intel.com> wrote: > That is to say, don't support a domain assigns a device to itself or detachs > a device from itself. > > Signed-off-by: Chao Gao <chao.gao@intel.com> Acked-by: Jan Beulich <jbeulich@suse.com> albeit I would have wished for ... > --- a/xen/drivers/passthrough/pci.c > +++ b/xen/drivers/passthrough/pci.c > @@ -1603,6 +1603,13 @@ int iommu_do_pci_domctl( > break; > > case XEN_DOMCTL_assign_device: > + /* Don't support self-(de)assignment of devices */ ... this comment to only talk about assignment and ... > + if ( d == current->domain ) > + { > + ret = -EINVAL; > + break; > + } > + > ret = -ENODEV; > if ( domctl->u.assign_device.dev != XEN_DOMCTL_DEV_PCI ) > break; > @@ -1643,6 +1650,13 @@ int iommu_do_pci_domctl( > break; > > case XEN_DOMCTL_deassign_device: > + /* Don't support self-(de)assignment of devices */ ... this one only about de-assignment. I may take the liberty to do this edit if I end up committing this. Jan
diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c index 338d6b4..a80d59e 100644 --- a/xen/drivers/passthrough/pci.c +++ b/xen/drivers/passthrough/pci.c @@ -1603,6 +1603,13 @@ int iommu_do_pci_domctl( break; case XEN_DOMCTL_assign_device: + /* Don't support self-(de)assignment of devices */ + if ( d == current->domain ) + { + ret = -EINVAL; + break; + } + ret = -ENODEV; if ( domctl->u.assign_device.dev != XEN_DOMCTL_DEV_PCI ) break; @@ -1643,6 +1650,13 @@ int iommu_do_pci_domctl( break; case XEN_DOMCTL_deassign_device: + /* Don't support self-(de)assignment of devices */ + if ( d == current->domain ) + { + ret = -EINVAL; + break; + } + ret = -ENODEV; if ( domctl->u.assign_device.dev != XEN_DOMCTL_DEV_PCI ) break;
That is to say, don't support a domain assigns a device to itself or detachs a device from itself. Signed-off-by: Chao Gao <chao.gao@intel.com> --- v9: - Newly added xen/drivers/passthrough/pci.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+)