From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: Re: [PATCH v2] x86/HVM: correct hvmemul_map_linear_addr() for multi-page case Date: Mon, 08 Oct 2018 05:53:29 -0600 Message-ID: <5BBB453902000078001EF88D@prv1-mh.provo.novell.com> References: <5B98D7CF02000078001E7AEA@prv1-mh.provo.novell.com> <5B9A381302000078001E81DC@prv1-mh.provo.novell.com> <5BAA2D1302000078001EB979@prv1-mh.provo.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1g9U6T-0003lT-Bt for xen-devel@lists.xenproject.org; Mon, 08 Oct 2018 11:53:37 +0000 In-Reply-To: Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Andrew Cooper Cc: xen-devel , Paul Durrant List-Id: xen-devel@lists.xenproject.org Pj4+IE9uIDI1LjA5LjE4IGF0IDE3OjMwLCA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4gd3Jv dGU6Cj4gT24gMjUvMDkvMTggMTM6NDEsIEphbiBCZXVsaWNoIHdyb3RlOgo+Pj4+PiBPbiAyMC4w OS4xOCBhdCAxNDo0MSwgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+IHdyb3RlOgo+Pj4gT24g MTMvMDkvMTggMTE6MTIsIEphbiBCZXVsaWNoIHdyb3RlOgo+Pj4+IFRoZSBmdW5jdGlvbiBkb2Vz IHR3byB0cmFuc2xhdGlvbnMgaW4gb25lIGdvIGZvciBhIHNpbmdsZSBndWVzdCBhY2Nlc3MuCj4+ Pj4gQW55IGZhaWx1cmUgb2YgdGhlIGZpcnN0IHRyYW5zbGF0aW9uIHN0ZXAgKGd1ZXN0IGxpbmVh ciAtPiBndWVzdAo+Pj4+IHBoeXNpY2FsKSwgcmVzdWx0aW5nIGluICNQRiwgb3VnaHQgdG8gdGFr ZSBwcmVjZWRlbmNlIG92ZXIgYW55IGZhaWx1cmUKPj4+PiBvZiB0aGUgc2Vjb25kIHN0ZXAgKGd1 ZXN0IHBoeXNpY2FsIC0+IGhvc3QgcGh5c2ljYWwpLgo+Pj4gV2h5PyAgV2hhdCBpcyB0aGUgYmFz aXMgb2YgdGhpcyBwcmVzdW1wdGlvbj8KPj4+Cj4+PiBBcyBmYXIgYXMgd2hhdCByZWFsIGhhcmR3 YXJlIGRvZXMuLi4KPj4+Cj4+PiBUaGlzIHRlc3Qgc2V0cyB1cCBhIGJhbGxvb25lZCBwYWdlIGFu ZCBhIHJlYWQtb25seSBwYWdlLiAgSS5lLiBhIHNlY29uZAo+Pj4gc3RhZ2UgZmF1bHQgb24gdGhl IGZpcnN0IHBhcnQgb2YgYSBtaXNhbGlnbmVkIGFjY2VzcywgYW5kIGEgZmlyc3Qgc3RhZ2UKPj4+ IGZhdWx0IG9uIHRoZSBzZWNvbmQgcGFydCBvZiB0aGUgYWNjZXNzLgo+Pj4KPj4+IChkMSkgLS0t IFhlbiBUZXN0IEZyYW1ld29yayAtLS0KPj4+IChkMSkgRW52aXJvbm1lbnQ6IEhWTSA2NGJpdCAo TG9uZyBtb2RlIDQgbGV2ZWxzKQo+Pj4gKGQxKSBUZXN0IHNwbGl0ZmF1bHQKPj4+IChkMSkgQWJv dXQgdG8gcmVhZAo+Pj4gKFhFTikgKioqIEVQVCBxdWFsIDAwMDAwMDAwMDAwMDAxODEsIGdwYSAw MDAwMDAwMDAwMTFjZmZjCj4+PiAoZDEpIFJlYWRpbmcgUFRSOiBnb3QgMDAwMDAwMDBmZmZmZmZm Zgo+Pj4gKGQxKSBBYm91dCB0byB3cml0ZQo+Pj4gKFhFTikgKioqIEVQVCBxdWFsIDAwMDAwMDAw MDAwMDAxODIsIGdwYSAwMDAwMDAwMDAwMTFjZmZjCj4+PiAoZDEpICoqKioqKioqKioqKioqKioq KioqKioqKioqKioqKgo+Pj4gKGQxKSBQQU5JQzogVW5oYW5kbGVkIGV4Y2VwdGlvbiBhdCAwMDA4 OjAwMDAwMDAwMDAxMDQ3ZTAKPj4+IChkMSkgVmVjIDE0ICNQRlstZC1zV1BdICVjcjIgMDAwMDAw MDAwMDExZDAwMAo+Pj4gKGQxKSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKPj4+Cj4+ PiBUaGUgc2Vjb25kIHN0YWdlIGZhdWx0IGlzIHJlY29nbmlzZWQgZmlyc3QsIHdoaWNoIGlzIGNv bnRyYXJ5IHRvIHlvdXIKPj4+IHByZXN1bXB0aW9uLCBpLmUuIHRoZSBjb2RlIGluIGl0cyBjdXJy ZW50IGZvcm0gYXBwZWFycyB0byBiZSBjb3JyZWN0Lgo+PiBDb21pbmcgYmFjayB0byB0aGlzIGV4 YW1wbGUgb2YgeW91cnM6IEFzIGEgZmlyc3Qgc3RlcCwgYXJlIHdlIGluCj4+IGFncmVlbWVudCB0 aGF0IHdpdGggdGhlIGV4Y2VwdGlvbiBvZiB2ZXJ5IGNvbXBsZXggaW5zdHJ1Y3Rpb25zCj4+IChG U0FWRSwgRlhTQVZFLCBYU0FWRSBldGMpIGluc3RydWN0aW9ucyBhcmUgc3VwcG9zZWQgdG8gd29y ayBpbiBhbgo+PiBhbGwtb3Itbm90aGluZyBtYW5uZXIgd2hlbiBpdCBjb21lcyB0byB1cGRhdGlu ZyBvZiBhcmNoaXRlY3R1cmFsCj4+IHN0YXRlIChiZSBpdCByZWdpc3RlcnMgb3IgbWVtb3J5KT8K PiAKPiBOby4gIFJlYWQgQ2hhcHRlciBJbnRlbCBWb2wzIDguMSBhbmQgOC4yLCB3aGljaCBtYWtl cyBpdCBxdWl0ZSBjbGVhcgo+IHRoYXQgbWlzYWxpZ25lZCBhY2Nlc3NlcyBtYXkgYmUgc3BsaXQg YWNjZXNzLCBhbmQgb2JzZXJ2YWJseSBzbyB0byBvdGhlcgo+IHByb2Nlc3NvcnMgaW4gdGhlIHN5 c3RlbS4KPiAKPiBJJ3ZlIGV2ZW4gZm91bmQgYSBuZXcgYml0IGluIGl0IHdoaWNoIHNheXMgdGhh dCA+cXVhZHdvcmQgU1NFIGFjY2Vzc2VzCj4gbWF5IGV2ZW4gcmVzdWx0IGluIGEgcGFydGlhbCB3 cml0ZSBiZWluZyBjb21wbGV0ZWQgYmVmb3JlICNQRiBpcyByYWlzZWQuCgpBcyBzYWlkIGJlZm9y ZSwgSSdtIGFsbCB3aXRoIHlvdSB3aXRoIHRoZSAibWF5IiBwYXJ0IGZvciBGUFUsIFNTRSwgYW5k CmFsaWtlIG1vcmUgY29tcGxleCBhY2Nlc3Nlcy4gU2hvcnQgb2YgYmVpbmcgYWJsZSB0byB0aGlu ayBvZiBhIHdheSB0bwpjb21wYXJlIChpbiBhIG1vcmUgZGlyZWN0IHdheSB0aGFuIHZpYSBFUFQg YmVoYXZpb3IsIGFzIHlvdXIgdGVzdApkaWQpIG5hdGl2ZSBhbmQgZW11bGF0ZWQgYmVoYXZpb3Ig KEkgaGFkIGNvZGVkIHNvbWV0aGluZyB1cCB1bnRpbCBJCnJlYWxpemVkIHRoYXQgaXQgZG9lc24n dCB0ZXN0IHdoYXQgSSB3YW50IHRvIHRlc3QpLCBJJ3ZlIHdyaXR0ZW4gYSBzbWFsbAp0ZXN0IGZv ciByZWFsIGhhcmR3YXJlLiBXb3VsZCB0aGlzIGRlYnVnZ2luZyBwYXRjaAoKLS0tIGEveGVuL2Fy Y2gveDg2L2Jvb3QveDg2XzY0LlMKKysrIGIveGVuL2FyY2gveDg2L2Jvb3QveDg2XzY0LlMKQEAg LTg3LDcgKzg3LDcgQEAgR0xPQkFMKGJvb3RfY3B1X2NvbXBhdF9nZHRfdGFibGUpCiAgKiBvZiBw aHlzaWNhbCBtZW1vcnkuIEluIGFueSBjYXNlIHRoZSBWR0EgaG9sZSBzaG91bGQgYmUgbWFwcGVk IHdpdGggdHlwZSBVQy4KICAqIFVzZXMgMXggNGsgcGFnZS4KICAqLwotbDFfaWRlbnRtYXA6CitH TE9CQUwobDFfaWRlbnRtYXApCiAgICAgICAgIHBmbiA9IDAKICAgICAgICAgLnJlcHQgTDFfUEFH RVRBQkxFX0VOVFJJRVMKICAgICAgICAgLyogVkdBIGhvbGUgKDB4YTAwMDAtMHhjMDAwMCkgc2hv dWxkIGJlIG1hcHBlZCBVQy0uICovCi0tLSBhL3hlbi9hcmNoL3g4Ni9pb3BvcnRfZW11bGF0ZS5j CisrKyBiL3hlbi9hcmNoL3g4Ni9pb3BvcnRfZW11bGF0ZS5jCkBAIC0xMTIsOCArMTEyLDQ4IEBA IHN0YXRpYyBzdHJ1Y3QgZG1pX3N5c3RlbV9pZCBfX2luaXRkYXRhIGkKICAgICB7IH0KIH07CiAK K2V4dGVybiB1bnNpZ25lZCBsb25nIGwxX2lkZW50bWFwW0wxX1BBR0VUQUJMRV9FTlRSSUVTXTsv L3RlbXAKIHN0YXRpYyBpbnQgX19pbml0IGlvcG9ydF9xdWlya3NfaW5pdCh2b2lkKQogeworIHsv L3RlbXAKKyAgdW5zaWduZWQgY2hhcipob2xlID0gX192YSgweGIwMDAwKTsKKyAgdW5zaWduZWQg bG9uZyBsMWUgPSBsMV9pZGVudG1hcFsweGIwXTsKKyAgaW50IGk7CisKKyAgc2hvd19wYWdlX3dh bGsoKGxvbmcpaG9sZSk7CisKKyAgbDFfaWRlbnRtYXBbMHhiMF0gJj0gfl9QQUdFX1JXOworICBs MV9pZGVudG1hcFsweGIwXSB8PSBfUEFHRV9QV1Q7CisgIGZvcig7OykgeworICAgZmx1c2hfYXJl YV9hbGwoaG9sZSwgRkxVU0hfVExCfEZMVVNIX1RMQl9HTE9CQUwpOworICAgc2hvd19wYWdlX3dh bGsoKGxvbmcpaG9sZSk7CisKKyAgIGZvcihpID0gMzsgaSA+IDA7IC0taSkgeworICAgIHVuc2ln bmVkIGxvbmcgY3IyID0gMDsKKworICAgIG1lbXNldChob2xlIC0gNCwgMCwgNCk7CisgICAgYXNt KCIxOiBhZGRsICQtMSwgJTA7IDI6XG5cdCIKKyAgICAgICAgIi5wdXNoc2VjdGlvbiAuZml4dXAs XCJheFwiXG4iCisgICAgICAgICIzOiBtb3YgJSVjcjIsICUxOyBqbXAgMmJcblx0IgorICAgICAg ICAiLnBvcHNlY3Rpb25cblx0IgorICAgICAgICBfQVNNX0VYVEFCTEUoMWIsIDNiKQorICAgICAg ICA6ICIrbSIgKGhvbGVbLWldKSwgIityIiAoY3IyKSA6OiAibWVtb3J5Iik7CisKKyAgICBwcmlu dGsoIkNSMj0lbHggZGF0YTogJTAyeCAlMDJ4ICUwMnggJTAyeFxuIiwgY3IyLAorICAgICAgICAg ICBob2xlWy00XSwgaG9sZVstM10sIGhvbGVbLTJdLCBob2xlWy0xXSk7CisgICB9CisKKyAgIGlm KGwxX2lkZW50bWFwWzB4YjBdICYgKDFVTCA8PCAocGFkZHJfYml0cyAtIDEpKSkKKyAgICBicmVh azsKKworICAgbDFfaWRlbnRtYXBbMHhiMF0gfD0gKCgxVUwgPDwgcGFkZHJfYml0cykgLSAxKSAm IFBBR0VfTUFTSzsKKyAgfQorCisgIGwxX2lkZW50bWFwWzB4YjBdID0gbDFlOworICBmbHVzaF9h cmVhX2FsbChob2xlLCBGTFVTSF9UTEJ8RkxVU0hfVExCX0dMT0JBTCk7CisgIHNob3dfcGFnZV93 YWxrKChsb25nKWhvbGUpOworIH0KKwogICAgIGRtaV9jaGVja19zeXN0ZW0oaW9wb3J0X3F1aXJr c190YmwpOwogICAgIHJldHVybiAwOwogfQoKcHJvZHVjaW5nIHRoaXMgb3V0cHV0CgooWEVOKSBQ YWdldGFibGUgd2FsayBmcm9tIGZmZmY4MzAwMDAwYjAwMDA6CihYRU4pICBMNFsweDEwNl0gPSA4 MDAwMDAwMGNmMGJhMDYzIGZmZmZmZmZmZmZmZmZmZmYKKFhFTikgIEwzWzB4MDAwXSA9IDAwMDAw MDAwY2YwYjQwNjMgZmZmZmZmZmZmZmZmZmZmZgooWEVOKSAgTDJbMHgwMDBdID0gMDAwMDAwMDBj ZjBiMzA2MyBmZmZmZmZmZmZmZmZmZmZmCihYRU4pICBMMVsweDBiMF0gPSAwMDAwMDAwMDAwMGIw MzczIGZmZmZmZmZmZmZmZmZmZmYKKFhFTikgUGFnZXRhYmxlIHdhbGsgZnJvbSBmZmZmODMwMDAw MGIwMDAwOgooWEVOKSAgTDRbMHgxMDZdID0gODAwMDAwMDBjZjBiYTA2MyBmZmZmZmZmZmZmZmZm ZmZmCihYRU4pICBMM1sweDAwMF0gPSAwMDAwMDAwMGNmMGI0MDYzIGZmZmZmZmZmZmZmZmZmZmYK KFhFTikgIEwyWzB4MDAwXSA9IDAwMDAwMDAwY2YwYjMwNjMgZmZmZmZmZmZmZmZmZmZmZgooWEVO KSAgTDFbMHgwYjBdID0gMDAwMDAwMDAwMDBiMDM3OSBmZmZmZmZmZmZmZmZmZmZmCihYRU4pIENS Mj1mZmZmODMwMDAwMGIwMDAwIGRhdGE6IDAwIDAwIDAwIDAwCihYRU4pIENSMj1mZmZmODMwMDAw MGIwMDAwIGRhdGE6IDAwIDAwIDAwIDAwCihYRU4pIENSMj1mZmZmODMwMDAwMGIwMDAwIGRhdGE6 IDAwIDAwIDAwIDAwCihYRU4pIFBhZ2V0YWJsZSB3YWxrIGZyb20gZmZmZjgzMDAwMDBiMDAwMDoK KFhFTikgIEw0WzB4MTA2XSA9IDgwMDAwMDAwY2YwYmEwNjMgZmZmZmZmZmZmZmZmZmZmZgooWEVO KSAgTDNbMHgwMDBdID0gMDAwMDAwMDBjZjBiNDA2MyBmZmZmZmZmZmZmZmZmZmZmCihYRU4pICBM MlsweDAwMF0gPSAwMDAwMDAwMGNmMGIzMDYzIGZmZmZmZmZmZmZmZmZmZmYKKFhFTikgIEwxWzB4 MGIwXSA9IDAwMDAwMDBmZmZmZmYzNzkgZmZmZmZmZmZmZmZmZmZmZgooWEVOKSBDUjI9ZmZmZjgz MDAwMDBiMDAwMCBkYXRhOiAwMCAwMCAwMCAwMAooWEVOKSBDUjI9ZmZmZjgzMDAwMDBiMDAwMCBk YXRhOiAwMCAwMCAwMCAwMAooWEVOKSBDUjI9ZmZmZjgzMDAwMDBiMDAwMCBkYXRhOiAwMCAwMCAw MCAwMAooWEVOKSBQYWdldGFibGUgd2FsayBmcm9tIGZmZmY4MzAwMDAwYjAwMDA6CihYRU4pICBM NFsweDEwNl0gPSA4MDAwMDAwMGNmMGJhMDYzIGZmZmZmZmZmZmZmZmZmZmYKKFhFTikgIEwzWzB4 MDAwXSA9IDAwMDAwMDAwY2YwYjQwNjMgZmZmZmZmZmZmZmZmZmZmZgooWEVOKSAgTDJbMHgwMDBd ID0gMDAwMDAwMDBjZjBiMzA2MyBmZmZmZmZmZmZmZmZmZmZmCihYRU4pICBMMVsweDBiMF0gPSAw MDAwMDAwMDAwMGIwMzczIGZmZmZmZmZmZmZmZmZmZmYKCmNvbnZpbmNlIHlvdSB0aGF0IHNpbXBs ZSAoQUxVKSBhY2Nlc3NlcyBhdCB0aGUgdmVyeSBsZWFzdCBkbyBub3QgZ2V0CnNwbGl0LCBhbmQg aGVuY2Ugb3VyIGVtdWxhdGlvbiBzaG91bGRuJ3QgZG8gc28gZWl0aGVyLiAoSSBhZG1pdCB0aGF0 IEkKdGhpbmsgSSBzZWUgYW5vdGhlciBjaGFuZ2UsIGJleW9uZCB0aGUgcGF0Y2ggaGVyZSwgdG8g YmUgbmVjZXNzYXJ5CmZvciB0aGlzIHRvIHdvcmsgY29uc2lzdGVudGx5IGluIGFsbCBjYXNlczog SW4gdGhlICJrbm93bl9nbGEoKSByZXR1cm5zCnRydWUiIGNhc2Ugd2UnZCBhbHNvIGhhdmUgdG8g cGVyZm9ybSB0aGUgc2Vjb25kIHBhZ2Ugd2FsayBfYmVmb3JlXwp0cnlpbmcgdG8gYWN0dWFsbHkg d3JpdGUgYW55dGhpbmcuIEJ1dCBJIGhhZCBxdWVzdGlvbmVkIHRoYXQKY29uZGl0aW9uYWwgYW55 d2F5LCBmaXJzdCBpbgpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL2FyY2hpdmVzL2h0bWwv eGVuLWRldmVsLzIwMTgtMDkvbXNnMDAxNTUuaHRtbAphbmQgdGhlbiB3aXRoIGEgc2hvcnRlbmVk IHZlcnNpb24gbGVmdCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgY29tbWl0CjNiZGVjNTMwYTUgWyJ4 ODYvSFZNOiBzcGxpdCBwYWdlIHN0cmFkZGxpbmcgZW11bGF0ZWQgYWNjZXNzZXMgaW4KbW9yZSBj YXNlcyJdLiBQYXVsIHdhbnRlZCB0aGF0IGJlaGF2aW9yIHRvIGJlIG1pcnJvcmVkIHRvCmh2bWVt dWxfcm13KCkgaW5zdGVhZC4pCgpKYW4KCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54 ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGlu Zm8veGVuLWRldmVs