From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3B6E9C433EF for ; Fri, 24 Jun 2022 18:32:03 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230486AbiFXScC (ORCPT ); Fri, 24 Jun 2022 14:32:02 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57412 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229981AbiFXScA (ORCPT ); Fri, 24 Jun 2022 14:32:00 -0400 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 1B95A7C516; Fri, 24 Jun 2022 11:32:00 -0700 (PDT) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id E9BE31042; Fri, 24 Jun 2022 11:31:59 -0700 (PDT) Received: from [10.57.84.111] (unknown [10.57.84.111]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 862573F792; Fri, 24 Jun 2022 11:31:53 -0700 (PDT) Message-ID: Date: Fri, 24 Jun 2022 19:31:47 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; rv:91.0) Gecko/20100101 Thunderbird/91.10.0 Subject: Re: [PATCH v2 3/5] vfio/iommu_type1: Remove the domain->ops comparison Content-Language: en-GB To: Jason Gunthorpe Cc: Nicolin Chen , "Tian, Kevin" , "joro@8bytes.org" , "will@kernel.org" , "marcan@marcan.st" , "sven@svenpeter.dev" , "robdclark@gmail.com" , "baolu.lu@linux.intel.com" , "matthias.bgg@gmail.com" , "orsonzhai@gmail.com" , "baolin.wang7@gmail.com" , "zhang.lyra@gmail.com" , "jean-philippe@linaro.org" , "alex.williamson@redhat.com" , "suravee.suthikulpanit@amd.com" , "alyssa@rosenzweig.io" , "dwmw2@infradead.org" , "yong.wu@mediatek.com" , "mjrosato@linux.ibm.com" , "gerald.schaefer@linux.ibm.com" , "thierry.reding@gmail.com" , "vdumpa@nvidia.com" , "jonathanh@nvidia.com" , "cohuck@redhat.com" , "thunder.leizhen@huawei.com" , "tglx@linutronix.de" , "christophe.jaillet@wanadoo.fr" , "john.garry@huawei.com" , "chenxiang66@hisilicon.com" , "saiprakash.ranjan@codeaurora.org" , "isaacm@codeaurora.org" , "yangyingliang@huawei.com" , "jordan@cosmicpenguin.net" , "iommu@lists.linux-foundation.org" , "linux-kernel@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , "linux-arm-msm@vger.kernel.org" , "linux-mediatek@lists.infradead.org" , "linux-s390@vger.kernel.org" , "linux-tegra@vger.kernel.org" , "virtualization@lists.linux-foundation.org" , "kvm@vger.kernel.org" References: <20220616000304.23890-1-nicolinc@nvidia.com> <20220616000304.23890-4-nicolinc@nvidia.com> <6e1280c5-4b22-ebb3-3912-6c72bc169982@arm.com> <20220624131611.GM4147@nvidia.com> From: Robin Murphy In-Reply-To: <20220624131611.GM4147@nvidia.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-tegra@vger.kernel.org On 2022-06-24 14:16, Jason Gunthorpe wrote: > On Wed, Jun 22, 2022 at 08:54:45AM +0100, Robin Murphy wrote: >> On 2022-06-16 23:23, Nicolin Chen wrote: >>> On Thu, Jun 16, 2022 at 06:40:14AM +0000, Tian, Kevin wrote: >>> >>>>> The domain->ops validation was added, as a precaution, for mixed-driver >>>>> systems. However, at this moment only one iommu driver is possible. So >>>>> remove it. >>>> >>>> It's true on a physical platform. But I'm not sure whether a virtual platform >>>> is allowed to include multiple e.g. one virtio-iommu alongside a virtual VT-d >>>> or a virtual smmu. It might be clearer to claim that (as Robin pointed out) >>>> there is plenty more significant problems than this to solve instead of simply >>>> saying that only one iommu driver is possible if we don't have explicit code >>>> to reject such configuration. 😊 >>> >>> Will edit this part. Thanks! >> >> Oh, physical platforms with mixed IOMMUs definitely exist already. The main >> point is that while bus_set_iommu still exists, the core code effectively >> *does* prevent multiple drivers from registering - even in emulated cases >> like the example above, virtio-iommu and VT-d would both try to >> bus_set_iommu(&pci_bus_type), and one of them will lose. The aspect which >> might warrant clarification is that there's no combination of supported >> drivers which claim non-overlapping buses *and* could appear in the same >> system - even if you tried to contrive something by emulating, say, VT-d >> (PCI) alongside rockchip-iommu (platform), you could still only describe one >> or the other due to ACPI vs. Devicetree. > > Right, and that is still something we need to protect against with > this ops check. VFIO is not checking that the bus's are the same > before attempting to re-use a domain. > > So it is actually functional and does protect against systems with > multiple iommu drivers on different busses. But as above, which systems *are* those? Everything that's on my radar would have drivers all competing for the platform bus - Intel and s390 are somewhat the odd ones out in that respect, but are also non-issues as above. FWIW my iommu/bus dev branch has got as far as the final bus ops removal and allowing multiple driver registrations, and before it allows that, it does now have the common attach check that I sketched out in the previous discussion of this. It's probably also noteworthy that domain->ops is no longer the same domain->ops that this code was written to check, and may now be different between domains from the same driver. Thanks, Robin. From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from smtp3.osuosl.org (smtp3.osuosl.org [140.211.166.136]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 2AA08C433EF for ; Fri, 24 Jun 2022 18:32:05 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp3.osuosl.org (Postfix) with ESMTP id B5E9B60E6B; Fri, 24 Jun 2022 18:32:04 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp3.osuosl.org B5E9B60E6B X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp3.osuosl.org ([127.0.0.1]) by localhost (smtp3.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id fd9ealKC6NCu; Fri, 24 Jun 2022 18:32:03 +0000 (UTC) Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [140.211.9.56]) by smtp3.osuosl.org (Postfix) with ESMTPS id 66A27607B5; Fri, 24 Jun 2022 18:32:03 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp3.osuosl.org 66A27607B5 Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id 2B2C5C0039; Fri, 24 Jun 2022 18:32:03 +0000 (UTC) Received: from smtp1.osuosl.org (smtp1.osuosl.org [140.211.166.138]) by lists.linuxfoundation.org (Postfix) with ESMTP id AAE28C002D; Fri, 24 Jun 2022 18:32:01 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp1.osuosl.org (Postfix) with ESMTP id 7F71F84956; Fri, 24 Jun 2022 18:32:01 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp1.osuosl.org 7F71F84956 X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp1.osuosl.org ([127.0.0.1]) by localhost (smtp1.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Ieq6n2JTHTNZ; Fri, 24 Jun 2022 18:32:00 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.8.0 DKIM-Filter: OpenDKIM Filter v2.11.0 smtp1.osuosl.org 8CD2A84950 X-Greylist: domain auto-whitelisted by SQLgrey-1.8.0 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by smtp1.osuosl.org (Postfix) with ESMTP id 8CD2A84950; Fri, 24 Jun 2022 18:32:00 +0000 (UTC) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id E9BE31042; Fri, 24 Jun 2022 11:31:59 -0700 (PDT) Received: from [10.57.84.111] (unknown [10.57.84.111]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 862573F792; Fri, 24 Jun 2022 11:31:53 -0700 (PDT) Message-ID: Date: Fri, 24 Jun 2022 19:31:47 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; rv:91.0) Gecko/20100101 Thunderbird/91.10.0 Subject: Re: [PATCH v2 3/5] vfio/iommu_type1: Remove the domain->ops comparison Content-Language: en-GB To: Jason Gunthorpe References: <20220616000304.23890-1-nicolinc@nvidia.com> <20220616000304.23890-4-nicolinc@nvidia.com> <6e1280c5-4b22-ebb3-3912-6c72bc169982@arm.com> <20220624131611.GM4147@nvidia.com> From: Robin Murphy In-Reply-To: <20220624131611.GM4147@nvidia.com> Cc: "cohuck@redhat.com" , "jordan@cosmicpenguin.net" , "linux-tegra@vger.kernel.org" , "thierry.reding@gmail.com" , "will@kernel.org" , "alyssa@rosenzweig.io" , "jean-philippe@linaro.org" , "saiprakash.ranjan@codeaurora.org" , "kvm@vger.kernel.org" , "zhang.lyra@gmail.com" , "iommu@lists.linux-foundation.org" , "jonathanh@nvidia.com" , "linux-arm-kernel@lists.infradead.org" , "yangyingliang@huawei.com" , "orsonzhai@gmail.com" , "gerald.schaefer@linux.ibm.com" , "Tian, Kevin" , "linux-arm-msm@vger.kernel.org" , "christophe.jaillet@wanadoo.fr" , "matthias.bgg@gmail.com" , "tglx@linutronix.de" , "virtualization@lists.linux-foundation.org" , "isaacm@codeaurora.org" , "linux-s390@vger.kernel.org" , "marcan@marcan.st" , "alex.williamson@redhat.com" , "linux-kernel@vger.kernel.org" , "baolin.wang7@gmail.com" , "linux-mediatek@lists.infradead.org" , "dwmw2@infradead.org" X-BeenThere: iommu@lists.linux-foundation.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Development issues for Linux IOMMU support List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: iommu-bounces@lists.linux-foundation.org Sender: "iommu" T24gMjAyMi0wNi0yNCAxNDoxNiwgSmFzb24gR3VudGhvcnBlIHdyb3RlOgo+IE9uIFdlZCwgSnVu IDIyLCAyMDIyIGF0IDA4OjU0OjQ1QU0gKzAxMDAsIFJvYmluIE11cnBoeSB3cm90ZToKPj4gT24g MjAyMi0wNi0xNiAyMzoyMywgTmljb2xpbiBDaGVuIHdyb3RlOgo+Pj4gT24gVGh1LCBKdW4gMTYs IDIwMjIgYXQgMDY6NDA6MTRBTSArMDAwMCwgVGlhbiwgS2V2aW4gd3JvdGU6Cj4+Pgo+Pj4+PiBU aGUgZG9tYWluLT5vcHMgdmFsaWRhdGlvbiB3YXMgYWRkZWQsIGFzIGEgcHJlY2F1dGlvbiwgZm9y IG1peGVkLWRyaXZlcgo+Pj4+PiBzeXN0ZW1zLiBIb3dldmVyLCBhdCB0aGlzIG1vbWVudCBvbmx5 IG9uZSBpb21tdSBkcml2ZXIgaXMgcG9zc2libGUuIFNvCj4+Pj4+IHJlbW92ZSBpdC4KPj4+Pgo+ Pj4+IEl0J3MgdHJ1ZSBvbiBhIHBoeXNpY2FsIHBsYXRmb3JtLiBCdXQgSSdtIG5vdCBzdXJlIHdo ZXRoZXIgYSB2aXJ0dWFsIHBsYXRmb3JtCj4+Pj4gaXMgYWxsb3dlZCB0byBpbmNsdWRlIG11bHRp cGxlIGUuZy4gb25lIHZpcnRpby1pb21tdSBhbG9uZ3NpZGUgYSB2aXJ0dWFsIFZULWQKPj4+PiBv ciBhIHZpcnR1YWwgc21tdS4gSXQgbWlnaHQgYmUgY2xlYXJlciB0byBjbGFpbSB0aGF0IChhcyBS b2JpbiBwb2ludGVkIG91dCkKPj4+PiB0aGVyZSBpcyBwbGVudHkgbW9yZSBzaWduaWZpY2FudCBw cm9ibGVtcyB0aGFuIHRoaXMgdG8gc29sdmUgaW5zdGVhZCBvZiBzaW1wbHkKPj4+PiBzYXlpbmcg dGhhdCBvbmx5IG9uZSBpb21tdSBkcml2ZXIgaXMgcG9zc2libGUgaWYgd2UgZG9uJ3QgaGF2ZSBl eHBsaWNpdCBjb2RlCj4+Pj4gdG8gcmVqZWN0IHN1Y2ggY29uZmlndXJhdGlvbi4g8J+Yigo+Pj4K Pj4+IFdpbGwgZWRpdCB0aGlzIHBhcnQuIFRoYW5rcyEKPj4KPj4gT2gsIHBoeXNpY2FsIHBsYXRm b3JtcyB3aXRoIG1peGVkIElPTU1VcyBkZWZpbml0ZWx5IGV4aXN0IGFscmVhZHkuIFRoZSBtYWlu Cj4+IHBvaW50IGlzIHRoYXQgd2hpbGUgYnVzX3NldF9pb21tdSBzdGlsbCBleGlzdHMsIHRoZSBj b3JlIGNvZGUgZWZmZWN0aXZlbHkKPj4gKmRvZXMqIHByZXZlbnQgbXVsdGlwbGUgZHJpdmVycyBm cm9tIHJlZ2lzdGVyaW5nIC0gZXZlbiBpbiBlbXVsYXRlZCBjYXNlcwo+PiBsaWtlIHRoZSBleGFt cGxlIGFib3ZlLCB2aXJ0aW8taW9tbXUgYW5kIFZULWQgd291bGQgYm90aCB0cnkgdG8KPj4gYnVz X3NldF9pb21tdSgmcGNpX2J1c190eXBlKSwgYW5kIG9uZSBvZiB0aGVtIHdpbGwgbG9zZS4gVGhl IGFzcGVjdCB3aGljaAo+PiBtaWdodCB3YXJyYW50IGNsYXJpZmljYXRpb24gaXMgdGhhdCB0aGVy ZSdzIG5vIGNvbWJpbmF0aW9uIG9mIHN1cHBvcnRlZAo+PiBkcml2ZXJzIHdoaWNoIGNsYWltIG5v bi1vdmVybGFwcGluZyBidXNlcyAqYW5kKiBjb3VsZCBhcHBlYXIgaW4gdGhlIHNhbWUKPj4gc3lz dGVtIC0gZXZlbiBpZiB5b3UgdHJpZWQgdG8gY29udHJpdmUgc29tZXRoaW5nIGJ5IGVtdWxhdGlu Zywgc2F5LCBWVC1kCj4+IChQQ0kpIGFsb25nc2lkZSByb2NrY2hpcC1pb21tdSAocGxhdGZvcm0p LCB5b3UgY291bGQgc3RpbGwgb25seSBkZXNjcmliZSBvbmUKPj4gb3IgdGhlIG90aGVyIGR1ZSB0 byBBQ1BJIHZzLiBEZXZpY2V0cmVlLgo+IAo+IFJpZ2h0LCBhbmQgdGhhdCBpcyBzdGlsbCBzb21l dGhpbmcgd2UgbmVlZCB0byBwcm90ZWN0IGFnYWluc3Qgd2l0aAo+IHRoaXMgb3BzIGNoZWNrLiBW RklPIGlzIG5vdCBjaGVja2luZyB0aGF0IHRoZSBidXMncyBhcmUgdGhlIHNhbWUKPiBiZWZvcmUg YXR0ZW1wdGluZyB0byByZS11c2UgYSBkb21haW4uCj4gCj4gU28gaXQgaXMgYWN0dWFsbHkgZnVu Y3Rpb25hbCBhbmQgZG9lcyBwcm90ZWN0IGFnYWluc3Qgc3lzdGVtcyB3aXRoCj4gbXVsdGlwbGUg aW9tbXUgZHJpdmVycyBvbiBkaWZmZXJlbnQgYnVzc2VzLgoKQnV0IGFzIGFib3ZlLCB3aGljaCBz eXN0ZW1zICphcmUqIHRob3NlPyBFdmVyeXRoaW5nIHRoYXQncyBvbiBteSByYWRhciAKd291bGQg aGF2ZSBkcml2ZXJzIGFsbCBjb21wZXRpbmcgZm9yIHRoZSBwbGF0Zm9ybSBidXMgLSBJbnRlbCBh bmQgczM5MCAKYXJlIHNvbWV3aGF0IHRoZSBvZGQgb25lcyBvdXQgaW4gdGhhdCByZXNwZWN0LCBi dXQgYXJlIGFsc28gbm9uLWlzc3VlcyAKYXMgYWJvdmUuIEZXSVcgbXkgaW9tbXUvYnVzIGRldiBi cmFuY2ggaGFzIGdvdCBhcyBmYXIgYXMgdGhlIGZpbmFsIGJ1cyAKb3BzIHJlbW92YWwgYW5kIGFs bG93aW5nIG11bHRpcGxlIGRyaXZlciByZWdpc3RyYXRpb25zLCBhbmQgYmVmb3JlIGl0IAphbGxv d3MgdGhhdCwgaXQgZG9lcyBub3cgaGF2ZSB0aGUgY29tbW9uIGF0dGFjaCBjaGVjayB0aGF0IEkg c2tldGNoZWQgCm91dCBpbiB0aGUgcHJldmlvdXMgZGlzY3Vzc2lvbiBvZiB0aGlzLgoKSXQncyBw cm9iYWJseSBhbHNvIG5vdGV3b3J0aHkgdGhhdCBkb21haW4tPm9wcyBpcyBubyBsb25nZXIgdGhl IHNhbWUgCmRvbWFpbi0+b3BzIHRoYXQgdGhpcyBjb2RlIHdhcyB3cml0dGVuIHRvIGNoZWNrLCBh bmQgbWF5IG5vdyBiZSAKZGlmZmVyZW50IGJldHdlZW4gZG9tYWlucyBmcm9tIHRoZSBzYW1lIGRy aXZlci4KClRoYW5rcywKUm9iaW4uCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCmlvbW11IG1haWxpbmcgbGlzdAppb21tdUBsaXN0cy5saW51eC1mb3VuZGF0 aW9uLm9yZwpodHRwczovL2xpc3RzLmxpbnV4Zm91bmRhdGlvbi5vcmcvbWFpbG1hbi9saXN0aW5m by9pb21tdQ== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from smtp4.osuosl.org (smtp4.osuosl.org [140.211.166.137]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id AC2E3C43334 for ; Fri, 24 Jun 2022 18:32:06 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp4.osuosl.org (Postfix) with ESMTP id 4019B41556; Fri, 24 Jun 2022 18:32:06 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp4.osuosl.org 4019B41556 X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp4.osuosl.org ([127.0.0.1]) by localhost (smtp4.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id uuUJmW_Un-xH; Fri, 24 Jun 2022 18:32:04 +0000 (UTC) Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [IPv6:2605:bc80:3010:104::8cd3:938]) by smtp4.osuosl.org (Postfix) with ESMTPS id 1208641561; Fri, 24 Jun 2022 18:32:04 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp4.osuosl.org 1208641561 Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id 672BDC0080; Fri, 24 Jun 2022 18:32:03 +0000 (UTC) Received: from smtp1.osuosl.org (smtp1.osuosl.org [140.211.166.138]) by lists.linuxfoundation.org (Postfix) with ESMTP id AAE28C002D; Fri, 24 Jun 2022 18:32:01 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp1.osuosl.org (Postfix) with ESMTP id 7F71F84956; Fri, 24 Jun 2022 18:32:01 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 smtp1.osuosl.org 7F71F84956 X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp1.osuosl.org ([127.0.0.1]) by localhost (smtp1.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Ieq6n2JTHTNZ; Fri, 24 Jun 2022 18:32:00 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.8.0 DKIM-Filter: OpenDKIM Filter v2.11.0 smtp1.osuosl.org 8CD2A84950 X-Greylist: domain auto-whitelisted by SQLgrey-1.8.0 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by smtp1.osuosl.org (Postfix) with ESMTP id 8CD2A84950; Fri, 24 Jun 2022 18:32:00 +0000 (UTC) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id E9BE31042; Fri, 24 Jun 2022 11:31:59 -0700 (PDT) Received: from [10.57.84.111] (unknown [10.57.84.111]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 862573F792; Fri, 24 Jun 2022 11:31:53 -0700 (PDT) Message-ID: Date: Fri, 24 Jun 2022 19:31:47 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; rv:91.0) Gecko/20100101 Thunderbird/91.10.0 Subject: Re: [PATCH v2 3/5] vfio/iommu_type1: Remove the domain->ops comparison Content-Language: en-GB To: Jason Gunthorpe References: <20220616000304.23890-1-nicolinc@nvidia.com> <20220616000304.23890-4-nicolinc@nvidia.com> <6e1280c5-4b22-ebb3-3912-6c72bc169982@arm.com> <20220624131611.GM4147@nvidia.com> From: Robin Murphy In-Reply-To: <20220624131611.GM4147@nvidia.com> Cc: "cohuck@redhat.com" , "mjrosato@linux.ibm.com" , "jordan@cosmicpenguin.net" , "linux-tegra@vger.kernel.org" , "thierry.reding@gmail.com" , "will@kernel.org" , "alyssa@rosenzweig.io" , "jean-philippe@linaro.org" , "saiprakash.ranjan@codeaurora.org" , "kvm@vger.kernel.org" , "zhang.lyra@gmail.com" , "joro@8bytes.org" , "iommu@lists.linux-foundation.org" , "jonathanh@nvidia.com" , Nicolin Chen , "linux-arm-kernel@lists.infradead.org" , "yangyingliang@huawei.com" , "orsonzhai@gmail.com" , "gerald.schaefer@linux.ibm.com" , "sven@svenpeter.dev" , "linux-arm-msm@vger.kernel.org" , "john.garry@huawei.com" , "vdumpa@nvidia.com" , "christophe.jaillet@wanadoo.fr" , "thunder.leizhen@huawei.com" , "matthias.bgg@gmail.com" , "tglx@linutronix.de" , "virtualization@lists.linux-foundation.org" , "yong.wu@mediatek.com" , "isaacm@codeaurora.org" , "chenxiang66@hisilicon.com" , "linux-s390@vger.kernel.org" , "marcan@marcan.st" , "linux-kernel@vger.kernel.org" , "robdclark@gmail.com" , "suravee.suthikulpanit@amd.com" , "baolin.wang7@gmail.com" , "linux-mediatek@lists.infradead.org" , "dwmw2@infradead.org" , "baolu.lu@linux.intel.com" X-BeenThere: virtualization@lists.linux-foundation.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Linux virtualization List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: virtualization-bounces@lists.linux-foundation.org Sender: "Virtualization" T24gMjAyMi0wNi0yNCAxNDoxNiwgSmFzb24gR3VudGhvcnBlIHdyb3RlOgo+IE9uIFdlZCwgSnVu IDIyLCAyMDIyIGF0IDA4OjU0OjQ1QU0gKzAxMDAsIFJvYmluIE11cnBoeSB3cm90ZToKPj4gT24g MjAyMi0wNi0xNiAyMzoyMywgTmljb2xpbiBDaGVuIHdyb3RlOgo+Pj4gT24gVGh1LCBKdW4gMTYs IDIwMjIgYXQgMDY6NDA6MTRBTSArMDAwMCwgVGlhbiwgS2V2aW4gd3JvdGU6Cj4+Pgo+Pj4+PiBU aGUgZG9tYWluLT5vcHMgdmFsaWRhdGlvbiB3YXMgYWRkZWQsIGFzIGEgcHJlY2F1dGlvbiwgZm9y IG1peGVkLWRyaXZlcgo+Pj4+PiBzeXN0ZW1zLiBIb3dldmVyLCBhdCB0aGlzIG1vbWVudCBvbmx5 IG9uZSBpb21tdSBkcml2ZXIgaXMgcG9zc2libGUuIFNvCj4+Pj4+IHJlbW92ZSBpdC4KPj4+Pgo+ Pj4+IEl0J3MgdHJ1ZSBvbiBhIHBoeXNpY2FsIHBsYXRmb3JtLiBCdXQgSSdtIG5vdCBzdXJlIHdo ZXRoZXIgYSB2aXJ0dWFsIHBsYXRmb3JtCj4+Pj4gaXMgYWxsb3dlZCB0byBpbmNsdWRlIG11bHRp cGxlIGUuZy4gb25lIHZpcnRpby1pb21tdSBhbG9uZ3NpZGUgYSB2aXJ0dWFsIFZULWQKPj4+PiBv ciBhIHZpcnR1YWwgc21tdS4gSXQgbWlnaHQgYmUgY2xlYXJlciB0byBjbGFpbSB0aGF0IChhcyBS b2JpbiBwb2ludGVkIG91dCkKPj4+PiB0aGVyZSBpcyBwbGVudHkgbW9yZSBzaWduaWZpY2FudCBw cm9ibGVtcyB0aGFuIHRoaXMgdG8gc29sdmUgaW5zdGVhZCBvZiBzaW1wbHkKPj4+PiBzYXlpbmcg dGhhdCBvbmx5IG9uZSBpb21tdSBkcml2ZXIgaXMgcG9zc2libGUgaWYgd2UgZG9uJ3QgaGF2ZSBl eHBsaWNpdCBjb2RlCj4+Pj4gdG8gcmVqZWN0IHN1Y2ggY29uZmlndXJhdGlvbi4g8J+Yigo+Pj4K Pj4+IFdpbGwgZWRpdCB0aGlzIHBhcnQuIFRoYW5rcyEKPj4KPj4gT2gsIHBoeXNpY2FsIHBsYXRm b3JtcyB3aXRoIG1peGVkIElPTU1VcyBkZWZpbml0ZWx5IGV4aXN0IGFscmVhZHkuIFRoZSBtYWlu Cj4+IHBvaW50IGlzIHRoYXQgd2hpbGUgYnVzX3NldF9pb21tdSBzdGlsbCBleGlzdHMsIHRoZSBj b3JlIGNvZGUgZWZmZWN0aXZlbHkKPj4gKmRvZXMqIHByZXZlbnQgbXVsdGlwbGUgZHJpdmVycyBm cm9tIHJlZ2lzdGVyaW5nIC0gZXZlbiBpbiBlbXVsYXRlZCBjYXNlcwo+PiBsaWtlIHRoZSBleGFt cGxlIGFib3ZlLCB2aXJ0aW8taW9tbXUgYW5kIFZULWQgd291bGQgYm90aCB0cnkgdG8KPj4gYnVz X3NldF9pb21tdSgmcGNpX2J1c190eXBlKSwgYW5kIG9uZSBvZiB0aGVtIHdpbGwgbG9zZS4gVGhl IGFzcGVjdCB3aGljaAo+PiBtaWdodCB3YXJyYW50IGNsYXJpZmljYXRpb24gaXMgdGhhdCB0aGVy ZSdzIG5vIGNvbWJpbmF0aW9uIG9mIHN1cHBvcnRlZAo+PiBkcml2ZXJzIHdoaWNoIGNsYWltIG5v bi1vdmVybGFwcGluZyBidXNlcyAqYW5kKiBjb3VsZCBhcHBlYXIgaW4gdGhlIHNhbWUKPj4gc3lz dGVtIC0gZXZlbiBpZiB5b3UgdHJpZWQgdG8gY29udHJpdmUgc29tZXRoaW5nIGJ5IGVtdWxhdGlu Zywgc2F5LCBWVC1kCj4+IChQQ0kpIGFsb25nc2lkZSByb2NrY2hpcC1pb21tdSAocGxhdGZvcm0p LCB5b3UgY291bGQgc3RpbGwgb25seSBkZXNjcmliZSBvbmUKPj4gb3IgdGhlIG90aGVyIGR1ZSB0 byBBQ1BJIHZzLiBEZXZpY2V0cmVlLgo+IAo+IFJpZ2h0LCBhbmQgdGhhdCBpcyBzdGlsbCBzb21l dGhpbmcgd2UgbmVlZCB0byBwcm90ZWN0IGFnYWluc3Qgd2l0aAo+IHRoaXMgb3BzIGNoZWNrLiBW RklPIGlzIG5vdCBjaGVja2luZyB0aGF0IHRoZSBidXMncyBhcmUgdGhlIHNhbWUKPiBiZWZvcmUg YXR0ZW1wdGluZyB0byByZS11c2UgYSBkb21haW4uCj4gCj4gU28gaXQgaXMgYWN0dWFsbHkgZnVu Y3Rpb25hbCBhbmQgZG9lcyBwcm90ZWN0IGFnYWluc3Qgc3lzdGVtcyB3aXRoCj4gbXVsdGlwbGUg aW9tbXUgZHJpdmVycyBvbiBkaWZmZXJlbnQgYnVzc2VzLgoKQnV0IGFzIGFib3ZlLCB3aGljaCBz eXN0ZW1zICphcmUqIHRob3NlPyBFdmVyeXRoaW5nIHRoYXQncyBvbiBteSByYWRhciAKd291bGQg aGF2ZSBkcml2ZXJzIGFsbCBjb21wZXRpbmcgZm9yIHRoZSBwbGF0Zm9ybSBidXMgLSBJbnRlbCBh bmQgczM5MCAKYXJlIHNvbWV3aGF0IHRoZSBvZGQgb25lcyBvdXQgaW4gdGhhdCByZXNwZWN0LCBi dXQgYXJlIGFsc28gbm9uLWlzc3VlcyAKYXMgYWJvdmUuIEZXSVcgbXkgaW9tbXUvYnVzIGRldiBi cmFuY2ggaGFzIGdvdCBhcyBmYXIgYXMgdGhlIGZpbmFsIGJ1cyAKb3BzIHJlbW92YWwgYW5kIGFs bG93aW5nIG11bHRpcGxlIGRyaXZlciByZWdpc3RyYXRpb25zLCBhbmQgYmVmb3JlIGl0IAphbGxv d3MgdGhhdCwgaXQgZG9lcyBub3cgaGF2ZSB0aGUgY29tbW9uIGF0dGFjaCBjaGVjayB0aGF0IEkg c2tldGNoZWQgCm91dCBpbiB0aGUgcHJldmlvdXMgZGlzY3Vzc2lvbiBvZiB0aGlzLgoKSXQncyBw cm9iYWJseSBhbHNvIG5vdGV3b3J0aHkgdGhhdCBkb21haW4tPm9wcyBpcyBubyBsb25nZXIgdGhl IHNhbWUgCmRvbWFpbi0+b3BzIHRoYXQgdGhpcyBjb2RlIHdhcyB3cml0dGVuIHRvIGNoZWNrLCBh bmQgbWF5IG5vdyBiZSAKZGlmZmVyZW50IGJldHdlZW4gZG9tYWlucyBmcm9tIHRoZSBzYW1lIGRy aXZlci4KClRoYW5rcywKUm9iaW4uCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fClZpcnR1YWxpemF0aW9uIG1haWxpbmcgbGlzdApWaXJ0dWFsaXphdGlvbkBs aXN0cy5saW51eC1mb3VuZGF0aW9uLm9yZwpodHRwczovL2xpc3RzLmxpbnV4Zm91bmRhdGlvbi5v cmcvbWFpbG1hbi9saXN0aW5mby92aXJ0dWFsaXphdGlvbg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 16969C43334 for ; Fri, 24 Jun 2022 18:33:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:Content-Type: Content-Transfer-Encoding:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:From:References:To:Subject:MIME-Version: Date:Message-ID:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=BAQYl7r7/4NO4u4+uQMIj0FuqXxyR8bA+zdHpkHRhDU=; b=Vc2MRPxbN2EJfzUuYwljo+B5qg Lq1PDp2YI25F867/x1fhWlTgitq7amR5PqDW28C9yONKhTjy3F6W/5K3UTDQQaCtr4wNepsl9LvL7 7PHVOJcTDW9OL62haVAsSz3W+zSUU07RxhCnDXRlswbgJGr8rJne7pKDLBSycm3TvgZlkV4kStuBw VC3II3PHFsLcXYdDku8n9yzylSSjBdpSuxo8LOrEOUzxR5WDixZWI/sCLYSepeYXXxpxvIPOiebVv SRDsoGzZScNbbTeffRUY929o2Oul0cIBp7150aRLaw8JwzqqZZN+p6tyaEGueEwoguiYhw/EeW8Kz TgcGbp1A==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1o4o6A-003TXM-4G; Fri, 24 Jun 2022 18:32:06 +0000 Received: from foss.arm.com ([217.140.110.172]) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1o4o66-003TVV-HW; Fri, 24 Jun 2022 18:32:04 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id E9BE31042; Fri, 24 Jun 2022 11:31:59 -0700 (PDT) Received: from [10.57.84.111] (unknown [10.57.84.111]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 862573F792; Fri, 24 Jun 2022 11:31:53 -0700 (PDT) Message-ID: Date: Fri, 24 Jun 2022 19:31:47 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; rv:91.0) Gecko/20100101 Thunderbird/91.10.0 Subject: Re: [PATCH v2 3/5] vfio/iommu_type1: Remove the domain->ops comparison Content-Language: en-GB To: Jason Gunthorpe References: <20220616000304.23890-1-nicolinc@nvidia.com> <20220616000304.23890-4-nicolinc@nvidia.com> <6e1280c5-4b22-ebb3-3912-6c72bc169982@arm.com> <20220624131611.GM4147@nvidia.com> From: Robin Murphy In-Reply-To: <20220624131611.GM4147@nvidia.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220624_113202_727837_50EC17E4 X-CRM114-Status: GOOD ( 17.92 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "cohuck@redhat.com" , "mjrosato@linux.ibm.com" , "jordan@cosmicpenguin.net" , "linux-tegra@vger.kernel.org" , "thierry.reding@gmail.com" , "will@kernel.org" , "alyssa@rosenzweig.io" , "jean-philippe@linaro.org" , "saiprakash.ranjan@codeaurora.org" , "kvm@vger.kernel.org" , "zhang.lyra@gmail.com" , "joro@8bytes.org" , "iommu@lists.linux-foundation.org" , "jonathanh@nvidia.com" , Nicolin Chen , "linux-arm-kernel@lists.infradead.org" , "yangyingliang@huawei.com" , "orsonzhai@gmail.com" , "gerald.schaefer@linux.ibm.com" , "Tian, Kevin" , "sven@svenpeter.dev" , "linux-arm-msm@vger.kernel.org" , "john.garry@huawei.com" , "christophe.jaillet@wanadoo.fr" , "thunder.leizhen@huawei.com" , "matthias.bgg@gmail.com" , "tglx@linutronix.de" , "virtualization@lists.linux-foundation.org" , "yong.wu@mediatek.com" , "isaacm@codeaurora.org" , "chenxiang66@hisilicon.com" , "linux-s390@vger.kernel.org" , "marcan@marcan.st" , "alex.williamson@redhat.com" , "linux-kernel@vger.kernel.org" , "robdclark@gmail.com" , "suravee.suthikulpanit@amd.com" , "baolin.wang7@gmail.com" , "linux-mediatek@lists.infradead.org" , "dwmw2@infradead.org" , "baolu.lu@linux.intel.com" Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gMjAyMi0wNi0yNCAxNDoxNiwgSmFzb24gR3VudGhvcnBlIHdyb3RlOgo+IE9uIFdlZCwgSnVu IDIyLCAyMDIyIGF0IDA4OjU0OjQ1QU0gKzAxMDAsIFJvYmluIE11cnBoeSB3cm90ZToKPj4gT24g MjAyMi0wNi0xNiAyMzoyMywgTmljb2xpbiBDaGVuIHdyb3RlOgo+Pj4gT24gVGh1LCBKdW4gMTYs IDIwMjIgYXQgMDY6NDA6MTRBTSArMDAwMCwgVGlhbiwgS2V2aW4gd3JvdGU6Cj4+Pgo+Pj4+PiBU aGUgZG9tYWluLT5vcHMgdmFsaWRhdGlvbiB3YXMgYWRkZWQsIGFzIGEgcHJlY2F1dGlvbiwgZm9y IG1peGVkLWRyaXZlcgo+Pj4+PiBzeXN0ZW1zLiBIb3dldmVyLCBhdCB0aGlzIG1vbWVudCBvbmx5 IG9uZSBpb21tdSBkcml2ZXIgaXMgcG9zc2libGUuIFNvCj4+Pj4+IHJlbW92ZSBpdC4KPj4+Pgo+ Pj4+IEl0J3MgdHJ1ZSBvbiBhIHBoeXNpY2FsIHBsYXRmb3JtLiBCdXQgSSdtIG5vdCBzdXJlIHdo ZXRoZXIgYSB2aXJ0dWFsIHBsYXRmb3JtCj4+Pj4gaXMgYWxsb3dlZCB0byBpbmNsdWRlIG11bHRp cGxlIGUuZy4gb25lIHZpcnRpby1pb21tdSBhbG9uZ3NpZGUgYSB2aXJ0dWFsIFZULWQKPj4+PiBv ciBhIHZpcnR1YWwgc21tdS4gSXQgbWlnaHQgYmUgY2xlYXJlciB0byBjbGFpbSB0aGF0IChhcyBS b2JpbiBwb2ludGVkIG91dCkKPj4+PiB0aGVyZSBpcyBwbGVudHkgbW9yZSBzaWduaWZpY2FudCBw cm9ibGVtcyB0aGFuIHRoaXMgdG8gc29sdmUgaW5zdGVhZCBvZiBzaW1wbHkKPj4+PiBzYXlpbmcg dGhhdCBvbmx5IG9uZSBpb21tdSBkcml2ZXIgaXMgcG9zc2libGUgaWYgd2UgZG9uJ3QgaGF2ZSBl eHBsaWNpdCBjb2RlCj4+Pj4gdG8gcmVqZWN0IHN1Y2ggY29uZmlndXJhdGlvbi4g8J+Yigo+Pj4K Pj4+IFdpbGwgZWRpdCB0aGlzIHBhcnQuIFRoYW5rcyEKPj4KPj4gT2gsIHBoeXNpY2FsIHBsYXRm b3JtcyB3aXRoIG1peGVkIElPTU1VcyBkZWZpbml0ZWx5IGV4aXN0IGFscmVhZHkuIFRoZSBtYWlu Cj4+IHBvaW50IGlzIHRoYXQgd2hpbGUgYnVzX3NldF9pb21tdSBzdGlsbCBleGlzdHMsIHRoZSBj b3JlIGNvZGUgZWZmZWN0aXZlbHkKPj4gKmRvZXMqIHByZXZlbnQgbXVsdGlwbGUgZHJpdmVycyBm cm9tIHJlZ2lzdGVyaW5nIC0gZXZlbiBpbiBlbXVsYXRlZCBjYXNlcwo+PiBsaWtlIHRoZSBleGFt cGxlIGFib3ZlLCB2aXJ0aW8taW9tbXUgYW5kIFZULWQgd291bGQgYm90aCB0cnkgdG8KPj4gYnVz X3NldF9pb21tdSgmcGNpX2J1c190eXBlKSwgYW5kIG9uZSBvZiB0aGVtIHdpbGwgbG9zZS4gVGhl IGFzcGVjdCB3aGljaAo+PiBtaWdodCB3YXJyYW50IGNsYXJpZmljYXRpb24gaXMgdGhhdCB0aGVy ZSdzIG5vIGNvbWJpbmF0aW9uIG9mIHN1cHBvcnRlZAo+PiBkcml2ZXJzIHdoaWNoIGNsYWltIG5v bi1vdmVybGFwcGluZyBidXNlcyAqYW5kKiBjb3VsZCBhcHBlYXIgaW4gdGhlIHNhbWUKPj4gc3lz dGVtIC0gZXZlbiBpZiB5b3UgdHJpZWQgdG8gY29udHJpdmUgc29tZXRoaW5nIGJ5IGVtdWxhdGlu Zywgc2F5LCBWVC1kCj4+IChQQ0kpIGFsb25nc2lkZSByb2NrY2hpcC1pb21tdSAocGxhdGZvcm0p LCB5b3UgY291bGQgc3RpbGwgb25seSBkZXNjcmliZSBvbmUKPj4gb3IgdGhlIG90aGVyIGR1ZSB0 byBBQ1BJIHZzLiBEZXZpY2V0cmVlLgo+IAo+IFJpZ2h0LCBhbmQgdGhhdCBpcyBzdGlsbCBzb21l dGhpbmcgd2UgbmVlZCB0byBwcm90ZWN0IGFnYWluc3Qgd2l0aAo+IHRoaXMgb3BzIGNoZWNrLiBW RklPIGlzIG5vdCBjaGVja2luZyB0aGF0IHRoZSBidXMncyBhcmUgdGhlIHNhbWUKPiBiZWZvcmUg YXR0ZW1wdGluZyB0byByZS11c2UgYSBkb21haW4uCj4gCj4gU28gaXQgaXMgYWN0dWFsbHkgZnVu Y3Rpb25hbCBhbmQgZG9lcyBwcm90ZWN0IGFnYWluc3Qgc3lzdGVtcyB3aXRoCj4gbXVsdGlwbGUg aW9tbXUgZHJpdmVycyBvbiBkaWZmZXJlbnQgYnVzc2VzLgoKQnV0IGFzIGFib3ZlLCB3aGljaCBz eXN0ZW1zICphcmUqIHRob3NlPyBFdmVyeXRoaW5nIHRoYXQncyBvbiBteSByYWRhciAKd291bGQg aGF2ZSBkcml2ZXJzIGFsbCBjb21wZXRpbmcgZm9yIHRoZSBwbGF0Zm9ybSBidXMgLSBJbnRlbCBh bmQgczM5MCAKYXJlIHNvbWV3aGF0IHRoZSBvZGQgb25lcyBvdXQgaW4gdGhhdCByZXNwZWN0LCBi dXQgYXJlIGFsc28gbm9uLWlzc3VlcyAKYXMgYWJvdmUuIEZXSVcgbXkgaW9tbXUvYnVzIGRldiBi cmFuY2ggaGFzIGdvdCBhcyBmYXIgYXMgdGhlIGZpbmFsIGJ1cyAKb3BzIHJlbW92YWwgYW5kIGFs bG93aW5nIG11bHRpcGxlIGRyaXZlciByZWdpc3RyYXRpb25zLCBhbmQgYmVmb3JlIGl0IAphbGxv d3MgdGhhdCwgaXQgZG9lcyBub3cgaGF2ZSB0aGUgY29tbW9uIGF0dGFjaCBjaGVjayB0aGF0IEkg c2tldGNoZWQgCm91dCBpbiB0aGUgcHJldmlvdXMgZGlzY3Vzc2lvbiBvZiB0aGlzLgoKSXQncyBw cm9iYWJseSBhbHNvIG5vdGV3b3J0aHkgdGhhdCBkb21haW4tPm9wcyBpcyBubyBsb25nZXIgdGhl IHNhbWUgCmRvbWFpbi0+b3BzIHRoYXQgdGhpcyBjb2RlIHdhcyB3cml0dGVuIHRvIGNoZWNrLCBh bmQgbWF5IG5vdyBiZSAKZGlmZmVyZW50IGJldHdlZW4gZG9tYWlucyBmcm9tIHRoZSBzYW1lIGRy aXZlci4KClRoYW5rcywKUm9iaW4uCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2Vy bmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1h bi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==