From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Williamson Subject: Re: [PATCH] iommu/virtio: Reject IOMMU page granule larger than PAGE_SIZE Date: Thu, 19 Mar 2020 12:54:16 -0600 Message-ID: <20200319125416.4ff08ca2@w520.home> References: <20200318114047.1518048-1-jean-philippe@linaro.org> <09a32736-ea01-21f9-6bd5-9344b368f90a@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <09a32736-ea01-21f9-6bd5-9344b368f90a@redhat.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: virtualization-bounces@lists.linux-foundation.org Sender: "Virtualization" To: Auger Eric Cc: Jean-Philippe Brucker , joro@8bytes.org, virtualization@lists.linux-foundation.org, iommu@lists.linux-foundation.org, Bharat Bhushan , Robin Murphy List-Id: virtualization@lists.linuxfoundation.org T24gV2VkLCAxOCBNYXIgMjAyMCAxNzoxNDowNSArMDEwMApBdWdlciBFcmljIDxlcmljLmF1Z2Vy QHJlZGhhdC5jb20+IHdyb3RlOgoKPiBIaSwKPiAKPiBPbiAzLzE4LzIwIDE6MDAgUE0sIFJvYmlu IE11cnBoeSB3cm90ZToKPiA+IE9uIDIwMjAtMDMtMTggMTE6NDAgYW0sIEplYW4tUGhpbGlwcGUg QnJ1Y2tlciB3cm90ZTogIAo+ID4+IFdlIGRvbid0IGN1cnJlbnRseSBzdXBwb3J0IElPTU1VcyB3 aXRoIGEgcGFnZSBncmFudWxlIGxhcmdlciB0aGFuIHRoZQo+ID4+IHN5c3RlbSBwYWdlIHNpemUu IFRoZSBJT1ZBIGFsbG9jYXRvciBoYXMgYSBCVUdfT04oKSBpbiB0aGlzIGNhc2UsIGFuZAo+ID4+ IFZGSU8gaGFzIGEgV0FSTl9PTigpLiAgCj4gCj4gQWRkaW5nIEFsZXggaW4gQ0MgaW4gY2FzZSBo ZSBoYXMgdGltZSB0byBqdW1wIGluLiBBdCB0aGUgbW9tZW50IEkgZG9uJ3QKPiBnZXQgd2h5IHRo aXMgV0FSTl9PTigpIGlzIGhlcmUuCj4gCj4gVGhpcyB3YXMgaW50cm9kdWNlZCBpbgo+IGM4ZGJj YTE2NWJiMDkwZjkyNjk5NmE1NzJlYTJiNWI1NzdiMzRiNzAgdmZpby9pb21tdV90eXBlMTogQXZv aWQgb3ZlcmZsb3cKCkkgZG9uJ3QgcmVjYWxsIGlmIEkgaGFkIHNvbWV0aGluZyBzcGVjaWZpYyBp biBtaW5kIHdoZW4gYWRkaW5nIHRoaXMKd2FybmluZywgYnV0IGlmIFBBR0VfU0laRSBpcyBzbWFs bGVyIHRoYW4gdGhlIG1pbmltdW0gSU9NTVUgcGFnZSBzaXplLAp0aGVuIHdlIG5lZWQgbXVsdGlw bGUgUEFHRV9TSVpFIHBhZ2VzIHBlciBJT01NVSBUTEIgZW50cnkuICBUaGVyZWZvcmUKdGhvc2Ug cGFnZXMgbXVzdCBiZSBjb250aWd1b3VzLiAgQXNpZGUgZnJvbSByZXF1aXJpbmcgb25seSBodWdl cGFnZQpiYWNraW5nLCBob3cgY291bGQgYSB1c2VyIG1ha2Ugc3VyZSB0aGF0IHRoZWlyIHZpcnR1 YWwgYWRkcmVzcyBidWZmZXIKaXMgcGh5c2ljYWxseSBjb250aWd1b3VzPyAgSSBkb24ndCB0aGlu ayB3ZSBoYXZlIGFueSBzYW5pdHkgY2hlY2tpbmcKY29kZSB0aGF0IGRvZXMgdGhpcywgdGh1cyB0 aGUgd2FybmluZy4gIFRoYW5rcywKCkFsZXgKCj4gPj4gSXQgbWlnaHQgYmUgcG9zc2libGUgdG8g cmVtb3ZlIHRoZXNlIG9ic3RhY2xlcyBpZiBuZWNlc3NhcnkuIElmIHRoZSBob3N0Cj4gPj4gdXNl cyA2NGtCIHBhZ2VzIGFuZCB0aGUgZ3Vlc3QgdXNlcyA0a0IsIHRoZW4gYSBkZXZpY2UgZHJpdmVy IGNhbGxpbmcKPiA+PiBhbGxvY19wYWdlKCkgZm9sbG93ZWQgYnkgZG1hX21hcF9wYWdlKCkgd2ls bCBjcmVhdGUgYSA2NGtCIG1hcHBpbmcgZm9yIGEKPiA+PiA0a0IgcGh5c2ljYWwgcGFnZSwgYWxs b3dpbmcgdGhlIGVuZHBvaW50IHRvIGFjY2VzcyB0aGUgbmVpZ2hib3VyaW5nIDYwa0IKPiA+PiBv ZiBtZW1vcnkuIFRoaXMgcHJvYmxlbSBjb3VsZCBiZSB3b3JrZWQgYXJvdW5kIHdpdGggYm91bmNl IGJ1ZmZlcnMuICAKPiA+IAo+ID4gRldJVyB0aGUgZnVuZGFtZW50YWwgaXNzdWUgaXMgdGhhdCBj YWxsZXJzIG9mIGlvbW11X21hcCgpIG1heSBleHBlY3QgdG8KPiA+IGJlIGFibGUgdG8gbWFwIHR3 byBvciBtb3JlIHBhZ2UtYWxpZ25lZCByZWdpb25zIGRpcmVjdGx5IGFkamFjZW50IHRvCj4gPiBl YWNoIG90aGVyIGZvciBzY2F0dGVyLWdhdGhlciBwdXJwb3NlcyAob3IgcmluZyBidWZmZXIgdHJp Y2tzKSwgYW5kCj4gPiB0aGF0J3MganVzdCBub3QgcG9zc2libGUgaWYgdGhlIElPTU1VIGdyYW51 bGUgaXMgdG9vIGJpZy4gQm91bmNlCj4gPiBidWZmZXJpbmcgd291bGQgYmUgYSB2aWFibGUgd29y a2Fyb3VuZCBmb3IgdGhlIHN0cmVhbWluZyBETUEgQVBJIGFuZAo+ID4gY2VydGFpbiBzaW1pbGFy IHVzZS1jYXNlcywgYnV0IG5vdCBpbiBnZW5lcmFsIChlLmcuIGNvaGVyZW50IERNQSwgVkZJTywK PiA+IEdQVXMsIGV0Yy4pCj4gPiAKPiA+IFJvYmluLgo+ID4gICAKPiA+PiBGb3IgdGhlIG1vbWVu dCwgcmF0aGVyIHRoYW4gdHJpZ2dlcmluZyB0aGUgSU9WQSBCVUdfT04oKSBvbiBtaXNtYXRjaGVk Cj4gPj4gcGFnZSBzaXplcywgYWJvcnQgdGhlIHZpcnRpby1pb21tdSBwcm9iZSB3aXRoIGFuIGVy cm9yIG1lc3NhZ2UuICAKPiAKPiBJIHVuZGVyc3RhbmQgdGhpcyBpcyBhIGludHJvZHVjZWQgYXMg YSB0ZW1wb3Jhcnkgc29sdXRpb24gYnV0IHRoaXMKPiBzb3VuZHMgYXMgYW4gaW1wb3J0YW50IGxp bWl0YXRpb24gdG8gbWUuIEZvciBpbnN0YW5jZSB0aGlzIHdpbGwgcHJldmVudAo+IGZyb20gcnVu bmluZyBhIGZlZG9yYSBndWVzdCBleHBvc2VkIHdpdGggYSB2aXJ0aW8taW9tbXUgd2l0aCBhIFJI RUwgaG9zdC4KPiAKPiBUaGFua3MKPiAKPiBFcmljCj4gPj4KPiA+PiBSZXBvcnRlZC1ieTogQmhh cmF0IEJodXNoYW4gPGJiaHVzaGFuMkBtYXJ2ZWxsLmNvbT4KPiA+PiBTaWduZWQtb2ZmLWJ5OiBK ZWFuLVBoaWxpcHBlIEJydWNrZXIgPGplYW4tcGhpbGlwcGVAbGluYXJvLm9yZz4KPiA+PiAtLS0K PiA+PiDCoCBkcml2ZXJzL2lvbW11L3ZpcnRpby1pb21tdS5jIHwgOSArKysrKysrKysKPiA+PiDC oCAxIGZpbGUgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCspCj4gPj4KPiA+PiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9pb21tdS92aXJ0aW8taW9tbXUuYyBiL2RyaXZlcnMvaW9tbXUvdmlydGlvLWlvbW11 LmMKPiA+PiBpbmRleCA2ZDRlM2MyYTJkZGIuLjgwZDVkOGY2MjFhYiAxMDA2NDQKPiA+PiAtLS0g YS9kcml2ZXJzL2lvbW11L3ZpcnRpby1pb21tdS5jCj4gPj4gKysrIGIvZHJpdmVycy9pb21tdS92 aXJ0aW8taW9tbXUuYwo+ID4+IEBAIC05OTgsNiArOTk4LDcgQEAgc3RhdGljIGludCB2aW9tbXVf cHJvYmUoc3RydWN0IHZpcnRpb19kZXZpY2UgKnZkZXYpCj4gPj4gwqDCoMKgwqDCoCBzdHJ1Y3Qg ZGV2aWNlICpwYXJlbnRfZGV2ID0gdmRldi0+ZGV2LnBhcmVudDsKPiA+PiDCoMKgwqDCoMKgIHN0 cnVjdCB2aW9tbXVfZGV2ICp2aW9tbXUgPSBOVUxMOwo+ID4+IMKgwqDCoMKgwqAgc3RydWN0IGRl dmljZSAqZGV2ID0gJnZkZXYtPmRldjsKPiA+PiArwqDCoMKgIHVuc2lnbmVkIGxvbmcgdmlvbW11 X3BhZ2Vfc2l6ZTsKPiA+PiDCoMKgwqDCoMKgIHU2NCBpbnB1dF9zdGFydCA9IDA7Cj4gPj4gwqDC oMKgwqDCoCB1NjQgaW5wdXRfZW5kID0gLTFVTDsKPiA+PiDCoMKgwqDCoMKgIGludCByZXQ7Cj4g Pj4gQEAgLTEwMjgsNiArMTAyOSwxNCBAQCBzdGF0aWMgaW50IHZpb21tdV9wcm9iZShzdHJ1Y3Qg dmlydGlvX2RldmljZQo+ID4+ICp2ZGV2KQo+ID4+IMKgwqDCoMKgwqDCoMKgwqDCoCBnb3RvIGVy cl9mcmVlX3ZxczsKPiA+PiDCoMKgwqDCoMKgIH0KPiA+PiDCoCArwqDCoMKgIHZpb21tdV9wYWdl X3NpemUgPSAxVUwgPDwgX19mZnModmlvbW11LT5wZ3NpemVfYml0bWFwKTsKPiA+PiArwqDCoMKg IGlmICh2aW9tbXVfcGFnZV9zaXplID4gUEFHRV9TSVpFKSB7Cj4gPj4gK8KgwqDCoMKgwqDCoMKg IGRldl9lcnIoZGV2LCAiZ3JhbnVsZSAweCVseCBsYXJnZXIgdGhhbiBzeXN0ZW0gcGFnZSBzaXpl Cj4gPj4gMHglbHhcbiIsCj4gPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdmlvbW11X3BhZ2Vf c2l6ZSwgUEFHRV9TSVpFKTsKPiA+PiArwqDCoMKgwqDCoMKgwqAgcmV0ID0gLUVJTlZBTDsKPiA+ PiArwqDCoMKgwqDCoMKgwqAgZ290byBlcnJfZnJlZV92cXM7Cj4gPj4gK8KgwqDCoCB9Cj4gPj4g Kwo+ID4+IMKgwqDCoMKgwqAgdmlvbW11LT5tYXBfZmxhZ3MgPSBWSVJUSU9fSU9NTVVfTUFQX0Zf UkVBRCB8Cj4gPj4gVklSVElPX0lPTU1VX01BUF9GX1dSSVRFOwo+ID4+IMKgwqDCoMKgwqAgdmlv bW11LT5sYXN0X2RvbWFpbiA9IH4wVTsKPiA+PiDCoCAgCj4gPiAgIAoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KVmlydHVhbGl6YXRpb24gbWFpbGluZyBs aXN0ClZpcnR1YWxpemF0aW9uQGxpc3RzLmxpbnV4LWZvdW5kYXRpb24ub3JnCmh0dHBzOi8vbGlz dHMubGludXhmb3VuZGF0aW9uLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3ZpcnR1YWxpemF0aW9u