From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: [PATCH] x86/HVM: correct hvmemul_map_linear_addr() for multi-page case Date: Wed, 12 Sep 2018 03:09:35 -0600 Message-ID: <5B98D7CF02000078001E7AEA@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 1g019Y-000814-JG for xen-devel@lists.xenproject.org; Wed, 12 Sep 2018 09:09:40 +0000 Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel Cc: Andrew Cooper , Paul Durrant List-Id: xen-devel@lists.xenproject.org VGhlIGZ1bmN0aW9uIGRvZXMgdHdvIHRyYW5zbGF0aW9ucyBpbiBvbmUgZ28gZm9yIGEgc2luZ2xl IGd1ZXN0IGFjY2Vzcy4KQW55IGZhaWx1cmUgb2YgdGhlIGZpcnN0IHRyYW5zbGF0aW9uIHN0ZXAg KGd1ZXN0IGxpbmVhciAtPiBndWVzdApwaHlzaWNhbCksIHJlc3VsdGluZyBpbiAjUEYsIG91Z2h0 IHRvIHRha2UgcHJlY2VkZW5jZSBvdmVyIGFueSBmYWlsdXJlCm9mIHRoZSBzZWNvbmQgc3RlcCAo Z3Vlc3QgcGh5c2ljYWwgLT4gaG9zdCBwaHlzaWNhbCkuIEJhaWwgb3V0IG9mIHRoZQpsb29wIGVh cmx5IHNvbGVseSB3aGVuIHRyYW5zbGF0aW9uIHByb2R1Y2VzIEhWTVRSQU5TX2JhZF9saW5lYXJf dG9fZ2ZuLAphbmQgcmVjb3JkIHRoZSBtb3N0IHJlbGV2YW50IG9mIHBlcmhhcHMgbXVsdGlwbGUg ZGlmZmVyZW50IGVycm9ycwpvdGhlcndpc2UuIChUaGUgY2hvaWNlIG9mIFpFUk9fQkxPQ0tfUFRS IGFzIHNlbnRpbmVsIGlzIGFyYml0cmFyeS4pCgpTaWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8 amJldWxpY2hAc3VzZS5jb20+CgotLS0gYS94ZW4vYXJjaC94ODYvaHZtL2VtdWxhdGUuYworKysg Yi94ZW4vYXJjaC94ODYvaHZtL2VtdWxhdGUuYwpAQCAtNTMxLDYgKzUzMSwyMCBAQCBzdGF0aWMg aW50IGh2bWVtdWxfZG9fbW1pb19hZGRyKHBhZGRyX3QKICAgICByZXR1cm4gaHZtZW11bF9kb19p b19hZGRyKDEsIG1taW9fZ3BhLCByZXBzLCBzaXplLCBkaXIsIGRmLCByYW1fZ3BhKTsKIH0KIAor c3RhdGljIHZvaWQgKnVwZGF0ZV9tYXBfZXJyKHZvaWQgKmVyciwgdm9pZCAqbmV3KQoreworICAg IGlmICggZXJyID09IFpFUk9fQkxPQ0tfUFRSIHx8IGVyciA9PSBFUlJfUFRSKH5YODZFTVVMX09L QVkpICkKKyAgICAgICAgcmV0dXJuIG5ldzsKKworICAgIGlmICggbmV3ID09IEVSUl9QVFIoflg4 NkVNVUxfT0tBWSkgKQorICAgICAgICByZXR1cm4gZXJyOworCisgICAgaWYgKCBlcnIgPT0gRVJS X1BUUih+WDg2RU1VTF9SRVRSWSkgKQorICAgICAgICByZXR1cm4gbmV3OworCisgICAgcmV0dXJu IGVycjsKK30KKwogLyoKICAqIE1hcCB0aGUgZnJhbWUocykgY292ZXJpbmcgYW4gaW5kaXZpZHVh bCBsaW5lYXIgYWNjZXNzLCBmb3Igd3JpdGVhYmxlCiAgKiBhY2Nlc3MuICBNYXkgcmV0dXJuIE5V TEwgZm9yIE1NSU8sIG9yIEVSUl9QVFIoflg4NkVNVUxfKikgZm9yIG90aGVyIGVycm9ycwpAQCAt NTQ0LDcgKzU1OCw3IEBAIHN0YXRpYyB2b2lkICpodm1lbXVsX21hcF9saW5lYXJfYWRkcigKICAg ICBzdHJ1Y3QgaHZtX2VtdWxhdGVfY3R4dCAqaHZtZW11bF9jdHh0KQogewogICAgIHN0cnVjdCB2 Y3B1ICpjdXJyID0gY3VycmVudDsKLSAgICB2b2lkICplcnIsICptYXBwaW5nOworICAgIHZvaWQg KmVyciA9IFpFUk9fQkxPQ0tfUFRSLCAqbWFwcGluZzsKICAgICB1bnNpZ25lZCBpbnQgbnJfZnJh bWVzID0gKChsaW5lYXIgKyBieXRlcyAtICEhYnl0ZXMpID4+IFBBR0VfU0hJRlQpIC0KICAgICAg ICAgKGxpbmVhciA+PiBQQUdFX1NISUZUKSArIDE7CiAgICAgdW5zaWduZWQgaW50IGk7CkBAIC02 MDAsMjcgKzYxNCwyOCBAQCBzdGF0aWMgdm9pZCAqaHZtZW11bF9tYXBfbGluZWFyX2FkZHIoCiAg ICAgICAgICAgICBnb3RvIG91dDsKIAogICAgICAgICBjYXNlIEhWTVRSQU5TX2JhZF9nZm5fdG9f bWZuOgotICAgICAgICAgICAgZXJyID0gTlVMTDsKLSAgICAgICAgICAgIGdvdG8gb3V0OworICAg ICAgICAgICAgZXJyID0gdXBkYXRlX21hcF9lcnIoZXJyLCBOVUxMKTsKKyAgICAgICAgICAgIGNv bnRpbnVlOwogCiAgICAgICAgIGNhc2UgSFZNVFJBTlNfZ2ZuX3BhZ2VkX291dDoKICAgICAgICAg Y2FzZSBIVk1UUkFOU19nZm5fc2hhcmVkOgotICAgICAgICAgICAgZXJyID0gRVJSX1BUUih+WDg2 RU1VTF9SRVRSWSk7Ci0gICAgICAgICAgICBnb3RvIG91dDsKKyAgICAgICAgICAgIGVyciA9IHVw ZGF0ZV9tYXBfZXJyKGVyciwgRVJSX1BUUih+WDg2RU1VTF9SRVRSWSkpOworICAgICAgICAgICAg Y29udGludWU7CiAKICAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIGdvdG8gdW5oYW5kbGVh YmxlOworICAgICAgICAgICAgZXJyID0gdXBkYXRlX21hcF9lcnIoZXJyLCBFUlJfUFRSKH5YODZF TVVMX1VOSEFORExFQUJMRSkpOworICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KIAog ICAgICAgICAqbWZuKysgPSBwYWdlX3RvX21mbihwYWdlKTsKIAogICAgICAgICBpZiAoIHAybV9p c19kaXNjYXJkX3dyaXRlKHAybXQpICkKLSAgICAgICAgewotICAgICAgICAgICAgZXJyID0gRVJS X1BUUih+WDg2RU1VTF9PS0FZKTsKLSAgICAgICAgICAgIGdvdG8gb3V0OwotICAgICAgICB9Cisg ICAgICAgICAgICBlcnIgPSB1cGRhdGVfbWFwX2VycihlcnIsIEVSUl9QVFIoflg4NkVNVUxfT0tB WSkpOwogICAgIH0KIAorICAgIGlmICggZXJyICE9IFpFUk9fQkxPQ0tfUFRSICkKKyAgICAgICAg Z290byBvdXQ7CisKICAgICAvKiBFbnRpcmUgYWNjZXNzIHdpdGhpbiBhIHNpbmdsZSBmcmFtZT8g Ki8KICAgICBpZiAoIG5yX2ZyYW1lcyA9PSAxICkKICAgICAgICAgbWFwcGluZyA9IG1hcF9kb21h aW5fcGFnZShodm1lbXVsX2N0eHQtPm1mblswXSk7CkBAIC02MzksNiArNjU0LDcgQEAgc3RhdGlj IHZvaWQgKmh2bWVtdWxfbWFwX2xpbmVhcl9hZGRyKAogICAgIHJldHVybiBtYXBwaW5nICsgKGxp bmVhciAmIH5QQUdFX01BU0spOwogCiAgdW5oYW5kbGVhYmxlOgorICAgIEFTU0VSVChlcnIgPT0g WkVST19CTE9DS19QVFIpOwogICAgIGVyciA9IEVSUl9QVFIoflg4NkVNVUxfVU5IQU5ETEVBQkxF KTsKIAogIG91dDoKCgoKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0 Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRl dmVs