From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: [PATCH v2] x86/HVM: correct hvmemul_map_linear_addr() for multi-page case Date: Thu, 13 Sep 2018 04:12:35 -0600 Message-ID: <5B9A381302000078001E81DC@prv1-mh.provo.novell.com> References: <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 1g0Oc6-0005wc-0U for xen-devel@lists.xenproject.org; Thu, 13 Sep 2018 10:12:42 +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+Ci0tLQp2MjogQWRkIGNvbW1lbnQgKG1hcHBpbmcgdGFibGUpIGFu ZCBhZGp1c3QgdXBkYXRlX21hcF9lcnIoKQogICAgYWNjb3JkaW5nbHkuCgotLS0gYS94ZW4vYXJj aC94ODYvaHZtL2VtdWxhdGUuYworKysgYi94ZW4vYXJjaC94ODYvaHZtL2VtdWxhdGUuYwpAQCAt NTMyLDYgKzUzMiwzNiBAQCBzdGF0aWMgaW50IGh2bWVtdWxfZG9fbW1pb19hZGRyKHBhZGRyX3QK IH0KIAogLyoKKyAqIEludGVuZGVkIG1hcHBpbmcsIGltcGxlbWVudGVkIHdpdGhvdXQgdGFibGUg bG9va3VwOgorICoKKyAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CisgKiB8IFwgbmV3IHwgICAgICAgfCAgICAgICB8ICAgICAgIHwgICAgICAgfAorICogfCAgIFwg ICB8IE9LQVkgIHwgTlVMTCAgfCBSRVRSWSB8IFVOSE5EIHwKKyAqIHwgZXJyIFwgfCAgICAgICB8 ICAgICAgIHwgICAgICAgfCAgICAgICB8CisgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQorICogfCBPS0FZICB8IE9LQVkgIHwgTlVMTCAgfCBSRVRSWSB8IFVOSE5E IHwKKyAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKiB8IE5V TEwgIHwgTlVMTCAgfCBOVUxMICB8IFJFVFJZIHwgVU5ITkQgfAorICogLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIHwgUkVUUlkgfCBSRVRSWSB8IFJFVFJZIHwg UkVUUlkgfCBVTkhORCB8CisgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQorICogfCBVTkhORCB8IFVOSE5EIHwgVU5ITkQgfCBVTkhORCB8IFVOSE5EIHwKKyAqIC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKi8KK3N0YXRpYyB2b2lk ICp1cGRhdGVfbWFwX2Vycih2b2lkICplcnIsIHZvaWQgKm5ldykKK3sKKyAgICBpZiAoIGVyciA9 PSBaRVJPX0JMT0NLX1BUUiB8fCBlcnIgPT0gRVJSX1BUUih+WDg2RU1VTF9PS0FZKSB8fAorICAg ICAgICAgbmV3ID09IEVSUl9QVFIoflg4NkVNVUxfVU5IQU5ETEVBQkxFKSApCisgICAgICAgIHJl dHVybiBuZXc7CisKKyAgICBpZiAoIG5ldyA9PSBFUlJfUFRSKH5YODZFTVVMX09LQVkpIHx8Cisg ICAgICAgICBlcnIgPT0gRVJSX1BUUih+WDg2RU1VTF9VTkhBTkRMRUFCTEUpICkKKyAgICAgICAg cmV0dXJuIGVycjsKKworICAgIHJldHVybiBlcnIgPzogbmV3OworfQorCisvKgogICogTWFwIHRo ZSBmcmFtZShzKSBjb3ZlcmluZyBhbiBpbmRpdmlkdWFsIGxpbmVhciBhY2Nlc3MsIGZvciB3cml0 ZWFibGUKICAqIGFjY2Vzcy4gIE1heSByZXR1cm4gTlVMTCBmb3IgTU1JTywgb3IgRVJSX1BUUih+ WDg2RU1VTF8qKSBmb3Igb3RoZXIgZXJyb3JzCiAgKiBpbmNsdWRpbmcgRVJSX1BUUih+WDg2RU1V TF9PS0FZKSBmb3Igd3JpdGUtZGlzY2FyZCBtYXBwaW5ncy4KQEAgLTU0NCw3ICs1NzQsNyBAQCBz dGF0aWMgdm9pZCAqaHZtZW11bF9tYXBfbGluZWFyX2FkZHIoCiAgICAgc3RydWN0IGh2bV9lbXVs YXRlX2N0eHQgKmh2bWVtdWxfY3R4dCkKIHsKICAgICBzdHJ1Y3QgdmNwdSAqY3VyciA9IGN1cnJl bnQ7Ci0gICAgdm9pZCAqZXJyLCAqbWFwcGluZzsKKyAgICB2b2lkICplcnIgPSBaRVJPX0JMT0NL X1BUUiwgKm1hcHBpbmc7CiAgICAgdW5zaWduZWQgaW50IG5yX2ZyYW1lcyA9ICgobGluZWFyICsg Ynl0ZXMgLSAhIWJ5dGVzKSA+PiBQQUdFX1NISUZUKSAtCiAgICAgICAgIChsaW5lYXIgPj4gUEFH RV9TSElGVCkgKyAxOwogICAgIHVuc2lnbmVkIGludCBpOwpAQCAtNjAwLDI3ICs2MzAsMjggQEAg c3RhdGljIHZvaWQgKmh2bWVtdWxfbWFwX2xpbmVhcl9hZGRyKAogICAgICAgICAgICAgZ290byBv dXQ7CiAKICAgICAgICAgY2FzZSBIVk1UUkFOU19iYWRfZ2ZuX3RvX21mbjoKLSAgICAgICAgICAg IGVyciA9IE5VTEw7Ci0gICAgICAgICAgICBnb3RvIG91dDsKKyAgICAgICAgICAgIGVyciA9IHVw ZGF0ZV9tYXBfZXJyKGVyciwgTlVMTCk7CisgICAgICAgICAgICBjb250aW51ZTsKIAogICAgICAg ICBjYXNlIEhWTVRSQU5TX2dmbl9wYWdlZF9vdXQ6CiAgICAgICAgIGNhc2UgSFZNVFJBTlNfZ2Zu X3NoYXJlZDoKLSAgICAgICAgICAgIGVyciA9IEVSUl9QVFIoflg4NkVNVUxfUkVUUlkpOwotICAg ICAgICAgICAgZ290byBvdXQ7CisgICAgICAgICAgICBlcnIgPSB1cGRhdGVfbWFwX2VycihlcnIs IEVSUl9QVFIoflg4NkVNVUxfUkVUUlkpKTsKKyAgICAgICAgICAgIGNvbnRpbnVlOwogCiAgICAg ICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICBnb3RvIHVuaGFuZGxlYWJsZTsKKyAgICAgICAgICAg IGVyciA9IHVwZGF0ZV9tYXBfZXJyKGVyciwgRVJSX1BUUih+WDg2RU1VTF9VTkhBTkRMRUFCTEUp KTsKKyAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CiAKICAgICAgICAgKm1mbisrID0g cGFnZV90b19tZm4ocGFnZSk7CiAKICAgICAgICAgaWYgKCBwMm1faXNfZGlzY2FyZF93cml0ZShw Mm10KSApCi0gICAgICAgIHsKLSAgICAgICAgICAgIGVyciA9IEVSUl9QVFIoflg4NkVNVUxfT0tB WSk7Ci0gICAgICAgICAgICBnb3RvIG91dDsKLSAgICAgICAgfQorICAgICAgICAgICAgZXJyID0g dXBkYXRlX21hcF9lcnIoZXJyLCBFUlJfUFRSKH5YODZFTVVMX09LQVkpKTsKICAgICB9CiAKKyAg ICBpZiAoIGVyciAhPSBaRVJPX0JMT0NLX1BUUiApCisgICAgICAgIGdvdG8gb3V0OworCiAgICAg LyogRW50aXJlIGFjY2VzcyB3aXRoaW4gYSBzaW5nbGUgZnJhbWU/ICovCiAgICAgaWYgKCBucl9m cmFtZXMgPT0gMSApCiAgICAgICAgIG1hcHBpbmcgPSBtYXBfZG9tYWluX3BhZ2UoaHZtZW11bF9j dHh0LT5tZm5bMF0pOwpAQCAtNjM5LDYgKzY3MCw3IEBAIHN0YXRpYyB2b2lkICpodm1lbXVsX21h cF9saW5lYXJfYWRkcigKICAgICByZXR1cm4gbWFwcGluZyArIChsaW5lYXIgJiB+UEFHRV9NQVNL KTsKIAogIHVuaGFuZGxlYWJsZToKKyAgICBBU1NFUlQoZXJyID09IFpFUk9fQkxPQ0tfUFRSKTsK ICAgICBlcnIgPSBFUlJfUFRSKH5YODZFTVVMX1VOSEFORExFQUJMRSk7CiAKICBvdXQ6CgoKCgoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVs IG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0 cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==