[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 2/2] xen/arm: smmuv3: fix xl pci-assignable-remove
- To: "dmkhn@xxxxxxxxx" <dmkhn@xxxxxxxxx>
- From: Bertrand Marquis <Bertrand.Marquis@xxxxxxx>
- Date: Fri, 25 Jul 2025 06:13:51 +0000
- Accept-language: en-GB, en-US
- Arc-authentication-results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 4.158.2.129) smtp.rcpttodomain=proton.me smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com] dmarc=[1,1,header.from=arm.com])
- Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none
- Arc-message-signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=8BfLve+NA+DkN0U2pbbY41CdmbMK9qY+0/NG2CdNRS4=; b=Uoin+8l0lVjCByjjs7M9diYMTzD+sFemLtsTFDRO2saZ+rNiVs/UyF0VbCvJWOx3RUBO0/wtJCHC40T27DcCeWMM97JLgl6J+a+cbSrbtGq/dATAkdTyGWDAaTsS+y3kjJ8t0OoY6idsB4bipBLqfu3LHBWppxDAxHCnRLpoih0mIVtedPN6YWULKrdNzMfCUCc4n41ApNRhPaS3HHa+VaRaVjLBBSmqNYFx7Y71KnTxPOMtsrvZ9BQeOI+9wk9+kYHTAmpLFQV8eYWQzW6ZB/hrzCGQT8x76L+KIz+nfKco+0y9fq/9vOyyxWJyMzaGDIRxOjVO4qLq7fiiqZSK2w==
- Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=8BfLve+NA+DkN0U2pbbY41CdmbMK9qY+0/NG2CdNRS4=; b=SOLcCmsCFIPhMYk3VbKjlr7umVsiJlKtclwjbkm9ckD7CPkpWN/7NZkwTS4evMulszfOlkIKqQmcOc9GeS5Z8qPUpqZUY/zwMgjNivtdlXPs94JLZWMPR8yMkcebZ3vFkE8GM19dRf8Nggdkr6/Opn20EPj1Ebbhcf0VCQKY4+QJR8+c8mgSzjvaHMYD3la64excQPdVlxPTI/606iAAhubcvA7gPyBCxo8eqnPPGQh9uLnQ9r5efeijrTI5VBKwPVGcq7klv0wGn/fYXa5Ab1PcQkSI35bOJFhuznlWiXwImj53p6Zsrcwvzj1uyye8NnzCNn6O9sggidmNaZDvrA==
- Arc-seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=w7oFyYBf6Z6IwkEZwKldTLTEVX9rGctlljP7vhE/i0sAFKdYwUIVnyNsPUyPiZWZfV6J9x88qv1/xSfba+vWMJvnUzSEHK4iOAAZYM/iPz24zlNBj65GJJ1HlN1UpTlAgP4M80Cfs/Kw64jZSW1HN0o4Fq5cO+DBY1pGbRBgFaUd+JD5LSL6Rcsmg7kPT7lc8pCVYOKh+gr9grvMZPgWQ/iRWItqi8wqHqDBXhjM6/mjSS+O2uXkxj4/ifu4EYxwnOl5AOwaqGbJSsTNxcIPnwKGpencI9bz/ePm4eEfYeEj8dmsRtXFv/5qBQ6CUko/Zr7metefnX2Aaw6Zk0an1g==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Kn0iQk9aZcMYrQIPdNyd0tbxDz6Co4weWTrreGRKsNms8C6tXAzA771DTkZLhwh7dHaQAKay7kEpdhLcJbrNfcEUzG1UKQqJ/jbii9UwHI8KezHBCnn4aZ1H8QIkfc0Ut7T35oafOPtHlcyXo/OiTPc40OeQXFjbyddb64Jpfxn9VLLwjOZ8VjSJN768JSqKKpyiXjvMELv1oDIe3j03tRdtCSDUsiOCjvIE2/VrOB9ntvCSRLHnAEG/lqkOT48E+yj9g0cCfpzySVHvvolS5jWnmxcAXxhDLfh6EG1TPYgw7UsgYhF1zeS0kcY/lGEtKiDEcs3TEV9HSAJwpUYFhw==
- Authentication-results-original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com;
- Cc: Stewart Hildebrand <stewart.hildebrand@xxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Rahul Singh <Rahul.Singh@xxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Julien Grall <julien@xxxxxxx>, Michal Orzel <michal.orzel@xxxxxxx>, Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>
- Delivery-date: Fri, 25 Jul 2025 06:14:34 +0000
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
- Nodisclaimer: true
- Thread-index: AQHb/CTEwM+ofGaU5U6Z0S9DvRagM7RAdHSAgAHpygA=
- Thread-topic: [PATCH 2/2] xen/arm: smmuv3: fix xl pci-assignable-remove
> On 24 Jul 2025, at 03:00, dmkhn@xxxxxxxxx wrote:
>
> On Wed, Jul 23, 2025 at 06:54:20PM -0400, Stewart Hildebrand wrote:
>> When attempting to xl pci-assignable-remove a PCI device, we encounter:
>>
>> $ xl pci-assignable-remove 00:01.0
>> (XEN) SMMUv3: <no-node>: not attached to domain 32753
>> (XEN) d[IO]: deassign (0000:00:01.0) failed (-3)
>> libxl: error: libxl_pci.c:910:libxl__device_pci_assignable_remove: failed to
>> de-quarantine 0000:00:01.0
>>
>> When a PCI device is being deassigned from domIO,
>> arm_smmu_deassign_dev() should return before checking the smmu domain.
>>
>> Fixes: 63919fc4d1ca ("xen/arm: smmuv3: Add PCI devices support for SMMUv3")
>> Signed-off-by: Stewart Hildebrand <stewart.hildebrand@xxxxxxx>
>> ---
>> xen/drivers/passthrough/arm/smmu-v3.c | 10 +++++-----
>> 1 file changed, 5 insertions(+), 5 deletions(-)
>>
>> diff --git a/xen/drivers/passthrough/arm/smmu-v3.c
>> b/xen/drivers/passthrough/arm/smmu-v3.c
>> index db08d3c04269..9312bb3c72d8 100644
>> --- a/xen/drivers/passthrough/arm/smmu-v3.c
>> +++ b/xen/drivers/passthrough/arm/smmu-v3.c
>> @@ -2747,11 +2747,6 @@ static int arm_smmu_deassign_dev(struct domain *d,
>> uint8_t devfn, struct device
>> struct arm_smmu_domain *smmu_domain = to_smmu_domain(io_domain);
>> struct arm_smmu_master *master = dev_iommu_priv_get(dev);
>>
>> - if (!smmu_domain || smmu_domain->d != d) {
>> - dev_err(dev, " not attached to domain %d\n", d->domain_id);
>> - return -ESRCH;
>> - }
>> -
>> #ifdef CONFIG_HAS_PCI
>> if ( dev_is_pci(dev) )
>> {
>> @@ -2767,6 +2762,11 @@ static int arm_smmu_deassign_dev(struct domain *d,
>> uint8_t devfn, struct device
>> }
>> #endif
>>
>> + if (!smmu_domain || smmu_domain->d != d) {
>> + dev_err(dev, " not attached to domain %d\n", d->domain_id);
>
> Use %pd?
>
> dev_err(dev, " not attached to %pd\n", d);
Agree.
With this fixed:
Acked-by: Bertrand Marquis <bertrand.marquis@xxxxxxx>
Cheers
Bertrand
>
>> + return -ESRCH;
>> + }
>> +
>> spin_lock(&xen_domain->lock);
>>
>> arm_smmu_detach_dev(master);
>> --
>> 2.50.1
>>
>>
>
|