From: Grzegorz Uriasz Date: Sun, 14 Jun 2020 16:17:08 +0000 (+0000) Subject: libxl: tooling expects wrong errno X-Git-Tag: archive/raspbian/4.14.0+80-gd101b417b7-1+rpi1^2~63^2~50 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=ed69c2ecaf3a6745b7c5a10cf2482e3c49cb8c4f;p=xen.git libxl: tooling expects wrong errno When iommu is not enabled for a given domain then pci passthrough hypercalls such as xc_test_assign_device return EOPNOTSUPP. The code responsible for this is in "iommu_do_domctl" inside xen/drivers/passthrough/iommu.c This patch fixes the error message reported by libxl when assigning pci devices to domains without iommu. Signed-off-by: Grzegorz Uriasz Tested-by: Grzegorz Uriasz Backport: 4.13 Acked-by: Ian Jackson Release-acked-by: Paul Durrant --- diff --git a/tools/libxl/libxl_pci.c b/tools/libxl/libxl_pci.c index 957ff5c8e9..bc5843b137 100644 --- a/tools/libxl/libxl_pci.c +++ b/tools/libxl/libxl_pci.c @@ -1561,7 +1561,7 @@ void libxl__device_pci_add(libxl__egc *egc, uint32_t domid, LOGD(ERROR, domid, "PCI device %04x:%02x:%02x.%u %s?", pcidev->domain, pcidev->bus, pcidev->dev, pcidev->func, - errno == ENOSYS ? "cannot be assigned - no IOMMU" + errno == EOPNOTSUPP ? "cannot be assigned - no IOMMU" : "already assigned to a different guest"); goto out; }