From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH] x86/shadow: Correct the behaviour of a guests view of maxphysaddr Date: Wed, 8 Feb 2017 12:36:18 +0000 Message-ID: <1486557378-30443-1-git-send-email-andrew.cooper3@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Xen-devel Cc: Kevin Tian , Jan Beulich , George Dunlap , Andrew Cooper , Tim Deegan , Jun Nakajima List-Id: xen-devel@lists.xenproject.org WFNBLTE3MyAoYy9zIDhiMTc2NDgzMykgaW50cm9kdWNlcyBnZm5fYml0cywgYW5kIGFuIHVwcGVy IGxpbWl0IHdoaWNoIG1pZ2h0IGJlCmxvd2VyIHRoYW4gdGhlIHJlYWwgbWF4cGh5c2FkZHIsIHRv IGF2b2lkIG92ZXJmbG93aW5nIHRoZSBzdXBlcnBhZ2Ugc2hhZG93CmJhY2twb2ludGVyLgoKSG93 ZXZlciwgcGxlbnR5IG9mIGhhcmR3YXJlIGhhcyBhIHBoeXNpY2FsIGFkZHJlc3Mgd2lkdGggbGVz cyB0aGF0IDQ0IGJpdHMsCmFuZCB0aGUgY29kZSBhZGRlZCBpbiBzaGFkb3dfZG9tYWluX2luaXQo KSBpcyBhIHN0cmFpZ2h0IGFzaWdubWVudC4gIFRoaXMKY2F1c2VzIGdmbl9iaXRzIHRvIGJlIGlu Y3JlYXNlZCBiZXlvbmQgdGhlIHBoeXNpY2FsIGFkZHJlc3Mgd2lkdGggb24gbW9zdApJbnRlbCBj b25zdW1lciBoYXJkd2FyZSAod2hpY2ggaGFzIGEgd2lkdGggb2YgMzkpLgoKSXQgYWxzbyBtZWFu cyB0aGF0IHRoZSBlZmZlY3RpdmUgbWF4cGh5c2FkZHIgZm9yIHNoYWRvd2VkIGd1ZXN0cyBkaWZm ZXJzIGZyb20KdGhlIHZhbHVlIHJlcG9ydGVkIHRvIHRoZSBndWVzdCBpbiBDUFVJRC4gIFRoaXMg bWVhbnMgdGhhdCBhIGd1ZXN0IGNhbiBjcmVhdGUKUFRFcyB3aGljaCBlaXRoZXIgc2hvdWxkIGZh dWx0IGJ1dCBkb24ndCwgb3Igc2hvdWxkbid0IGZhdWx0IGJ1dCBkby4KClJlbW92ZSBnZm5fYml0 cyBhbmQgcmV3b3JrIGl0cyBsb2dpYyBpbiB0ZXJtcyBvZiBhIGd1ZXN0cyBtYXhwaHlzYWRkci4K cmVjYWxjdWxhdGVfY3B1aWRfcG9saWN5KCkgaXMgdXBkYXRlZCB0byBwcm9wZXJseSBjbGFtcCBt YXhwaHlzYWRkciBiZXR3ZWVuCnRoZSBob3N0IG1heGltdW0sIGEgcG9zc2libHktc21hbGxlciBz aGFkb3cgcmVzdHJpY3Rpb24sIGFuZCAzMiBhcyBhIG1pbmltdW0uCgpTaWduZWQtb2ZmLWJ5OiBB bmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgotLS0KQ0M6IEphbiBCZXVs aWNoIDxKQmV1bGljaEBzdXNlLmNvbT4KQ0M6IFRpbSBEZWVnYW4gPHRpbUB4ZW4ub3JnPgpDQzog R2VvcmdlIER1bmxhcCA8Z2VvcmdlLmR1bmxhcEBldS5jaXRyaXguY29tPgpDQzogSnVuIE5ha2Fq aW1hIDxqdW4ubmFrYWppbWFAaW50ZWwuY29tPgpDQzogS2V2aW4gVGlhbiA8a2V2aW4udGlhbkBp bnRlbC5jb20+Ci0tLQogeGVuL2FyY2gveDg2L2NwdWlkLmMgICAgICAgICAgICB8IDIwICsrKysr KysrKysrKysrLS0tLS0tCiB4ZW4vYXJjaC94ODYvaHZtL3ZteC92dm14LmMgICAgIHwgIDIgKy0K IHhlbi9hcmNoL3g4Ni9tbS9ndWVzdF93YWxrLmMgICAgfCAgMyArKy0KIHhlbi9hcmNoL3g4Ni9t bS9oYXAvaGFwLmMgICAgICAgfCAgMiAtLQogeGVuL2FyY2gveDg2L21tL3AybS5jICAgICAgICAg ICB8ICAzICsrLQogeGVuL2FyY2gveDg2L21tL3NoYWRvdy9jb21tb24uYyB8IDEwIC0tLS0tLS0t LS0KIHhlbi9hcmNoL3g4Ni9tbS9zaGFkb3cvbXVsdGkuYyAgfCAgMyArKy0KIHhlbi9pbmNsdWRl L2FzbS14ODYvZG9tYWluLmggICAgfCAgMyAtLS0KIDggZmlsZXMgY2hhbmdlZCwgMjEgaW5zZXJ0 aW9ucygrKSwgMjUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2NwdWlk LmMgYi94ZW4vYXJjaC94ODYvY3B1aWQuYwppbmRleCBlMGEzODdlLi4wMmEzNDUxIDEwMDY0NAot LS0gYS94ZW4vYXJjaC94ODYvY3B1aWQuYworKysgYi94ZW4vYXJjaC94ODYvY3B1aWQuYwpAQCAt MSw0ICsxLDUgQEAKICNpbmNsdWRlIDx4ZW4vaW5pdC5oPgorI2luY2x1ZGUgPHhlbi9rY29uZmln Lmg+CiAjaW5jbHVkZSA8eGVuL2xpYi5oPgogI2luY2x1ZGUgPHhlbi9zY2hlZC5oPgogI2luY2x1 ZGUgPGFzbS9jcHVpZC5oPgpAQCAtNiw2ICs3LDcgQEAKICNpbmNsdWRlIDxhc20vaHZtL25lc3Rl ZGh2bS5oPgogI2luY2x1ZGUgPGFzbS9odm0vc3ZtL3N2bS5oPgogI2luY2x1ZGUgPGFzbS9odm0v dm14L3ZtY3MuaD4KKyNpbmNsdWRlIDxhc20vcGFnaW5nLmg+CiAjaW5jbHVkZSA8YXNtL3Byb2Nl c3Nvci5oPgogI2luY2x1ZGUgPGFzbS94c3RhdGUuaD4KIApAQCAtNDI0LDcgKzQyNiw3IEBAIHZv aWQgcmVjYWxjdWxhdGVfY3B1aWRfcG9saWN5KHN0cnVjdCBkb21haW4gKmQpCiAgICAgY29uc3Qg c3RydWN0IGNwdWlkX3BvbGljeSAqbWF4ID0KICAgICAgICAgaXNfcHZfZG9tYWluKGQpID8gJnB2 X21heF9wb2xpY3kgOiAmaHZtX21heF9wb2xpY3k7CiAgICAgdWludDMyX3QgZnNbRlNDQVBJTlRT XSwgbWF4X2ZzW0ZTQ0FQSU5UU107Ci0gICAgdW5zaWduZWQgaW50IGk7CisgICAgdW5zaWduZWQg aW50IGksIG1heHBoeXNhZGRyX2xpbWl0OwogCiAgICAgcC0+eDg2X3ZlbmRvciA9IGdldF9jcHVf dmVuZG9yKHAtPmJhc2ljLnZlbmRvcl9lYngsIHAtPmJhc2ljLnZlbmRvcl9lY3gsCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHAtPmJhc2ljLnZlbmRvcl9lZHgsIGdjdl9ndWVz dCk7CkBAIC01MDIsMTEgKzUwNCwxNyBAQCB2b2lkIHJlY2FsY3VsYXRlX2NwdWlkX3BvbGljeShz dHJ1Y3QgZG9tYWluICpkKQogCiAgICAgY3B1aWRfZmVhdHVyZXNldF90b19wb2xpY3koZnMsIHAp OwogCi0gICAgcC0+ZXh0ZC5tYXhwaHlzYWRkciA9IG1pbihwLT5leHRkLm1heHBoeXNhZGRyLCBt YXgtPmV4dGQubWF4cGh5c2FkZHIpOwotICAgIHAtPmV4dGQubWF4cGh5c2FkZHIgPSBtaW5fdCh1 aW50OF90LCBwLT5leHRkLm1heHBoeXNhZGRyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBkLT5hcmNoLnBhZ2luZy5nZm5fYml0cyArIFBBR0VfU0hJRlQpOwotICAgIHAtPmV4dGQu bWF4cGh5c2FkZHIgPSBtYXhfdCh1aW50OF90LCBwLT5leHRkLm1heHBoeXNhZGRyLAotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAocC0+YmFzaWMucGFlIHx8IHAtPmJhc2ljLnBzZTM2 KSA/IDM2IDogMzIpOworICAgIG1heHBoeXNhZGRyX2xpbWl0ID0gcGFnaW5nX21vZGVfaGFwKGQp ID8gaGFwX3BhZGRyX2JpdHMgOiBwYWRkcl9iaXRzOworCisgICAgaWYgKCAhSVNfRU5BQkxFRChC SUdNRU0pICYmIHBhZ2luZ19tb2RlX3NoYWRvdyhkKSAmJgorICAgICAgICAgKCFpc19wdl9kb21h aW4oZCkgfHwgb3B0X2FsbG93X3N1cGVycGFnZSkgKQorICAgIHsKKyAgICAgICAgLyogU2hhZG93 ZWQgc3VwZXJwYWdlcyBzdG9yZSBHRk5zIGluIDMyLWJpdCBwYWdlX2luZm8gZmllbGRzLiAqLwor ICAgICAgICBtYXhwaHlzYWRkcl9saW1pdCA9IG1pbihtYXhwaHlzYWRkcl9saW1pdCwgMzJVICsg UEFHRV9TSElGVCk7CisgICAgfQorCisgICAgcC0+ZXh0ZC5tYXhwaHlzYWRkciA9IG1pbl90KHVp bnQ4X3QsIHAtPmV4dGQubWF4cGh5c2FkZHIsIG1heHBoeXNhZGRyX2xpbWl0KTsKKyAgICBwLT5l eHRkLm1heHBoeXNhZGRyID0gbWF4X3QodWludDhfdCwgcC0+ZXh0ZC5tYXhwaHlzYWRkciwgMzIp OwogCiAgICAgcC0+ZXh0ZC5tYXhsaW5hZGRyID0gcC0+ZXh0ZC5sbSA/IDQ4IDogMzI7CiAKZGlm ZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vdm14L3Z2bXguYyBiL3hlbi9hcmNoL3g4Ni9odm0v dm14L3Z2bXguYwppbmRleCA1YWNiODhhLi40ZWE4YTZiIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94 ODYvaHZtL3ZteC92dm14LmMKKysrIGIveGVuL2FyY2gveDg2L2h2bS92bXgvdnZteC5jCkBAIC0x MzgwLDcgKzEzODAsNyBAQCBpbnQgbnZteF9oYW5kbGVfdm14b24oc3RydWN0IGNwdV91c2VyX3Jl Z3MgKnJlZ3MpCiAgICAgfQogCiAgICAgaWYgKCAoZ3BhICYgflBBR0VfTUFTSykgfHwKLSAgICAg ICAgIChncGEgPj4gKHYtPmRvbWFpbi0+YXJjaC5wYWdpbmcuZ2ZuX2JpdHMgKyBQQUdFX1NISUZU KSkgKQorICAgICAgICAgKGdwYSA+PiB2LT5kb21haW4tPmFyY2guY3B1aWQtPmV4dGQubWF4cGh5 c2FkZHIpICkKICAgICB7CiAgICAgICAgIHZtZmFpbF9pbnZhbGlkKHJlZ3MpOwogICAgICAgICBy ZXR1cm4gWDg2RU1VTF9PS0FZOwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L21tL2d1ZXN0X3dh bGsuYyBiL3hlbi9hcmNoL3g4Ni9tbS9ndWVzdF93YWxrLmMKaW5kZXggYTY3ZmQ1YS4uNWFkOGNm NiAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L21tL2d1ZXN0X3dhbGsuYworKysgYi94ZW4vYXJj aC94ODYvbW0vZ3Vlc3Rfd2Fsay5jCkBAIC00MzUsNyArNDM1LDggQEAgZ3Vlc3Rfd2Fsa190YWJs ZXMoc3RydWN0IHZjcHUgKnYsIHN0cnVjdCBwMm1fZG9tYWluICpwMm0sCiAgICAgLyogSWYgdGhp cyBndWVzdCBoYXMgYSByZXN0cmljdGVkIHBoeXNpY2FsIGFkZHJlc3Mgc3BhY2UgdGhlbiB0aGUK ICAgICAgKiB0YXJnZXQgR0ZOIG11c3QgZml0IHdpdGhpbiBpdC4gKi8KICAgICBpZiAoICEocmMg JiBfUEFHRV9QUkVTRU5UKQotICAgICAgICAgJiYgZ2ZuX3goZ3Vlc3RfbDFlX2dldF9nZm4oZ3ct PmwxZSkpID4+IGQtPmFyY2gucGFnaW5nLmdmbl9iaXRzICkKKyAgICAgICAgICYmIGdmbl94KGd1 ZXN0X2wxZV9nZXRfZ2ZuKGd3LT5sMWUpKSA+PgorICAgICAgICAgKGQtPmFyY2guY3B1aWQtPmV4 dGQubWF4cGh5c2FkZHIgLSBQQUdFX1NISUZUKSApCiAgICAgICAgIHJjIHw9IF9QQUdFX0lOVkFM SURfQklUUzsKIAogICAgIHJldHVybiByYzsKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9tbS9o YXAvaGFwLmMgYi94ZW4vYXJjaC94ODYvbW0vaGFwL2hhcC5jCmluZGV4IDZkYmIzY2MuLjkyOGNk NWUgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9tbS9oYXAvaGFwLmMKKysrIGIveGVuL2FyY2gv eDg2L21tL2hhcC9oYXAuYwpAQCAtNDQ3LDggKzQ0Nyw2IEBAIHZvaWQgaGFwX2RvbWFpbl9pbml0 KHN0cnVjdCBkb21haW4gKmQpCiB7CiAgICAgSU5JVF9QQUdFX0xJU1RfSEVBRCgmZC0+YXJjaC5w YWdpbmcuaGFwLmZyZWVsaXN0KTsKIAotICAgIGQtPmFyY2gucGFnaW5nLmdmbl9iaXRzID0gaGFw X3BhZGRyX2JpdHMgLSBQQUdFX1NISUZUOwotCiAgICAgLyogVXNlIEhBUCBsb2dkaXJ0eSBtZWNo YW5pc20uICovCiAgICAgcGFnaW5nX2xvZ19kaXJ0eV9pbml0KGQsIGhhcF9lbmFibGVfbG9nX2Rp cnR5LAogICAgICAgICAgICAgICAgICAgICAgICAgICBoYXBfZGlzYWJsZV9sb2dfZGlydHksCmRp ZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvbW0vcDJtLmMgYi94ZW4vYXJjaC94ODYvbW0vcDJtLmMK aW5kZXggNjU0OGU5Zi4uZmM3MDZjNiAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L21tL3AybS5j CisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9wMm0uYwpAQCAtMTc5MCw3ICsxNzkwLDggQEAgdm9pZCAq bWFwX2RvbWFpbl9nZm4oc3RydWN0IHAybV9kb21haW4gKnAybSwgZ2ZuX3QgZ2ZuLCBtZm5fdCAq bWZuLAogewogICAgIHN0cnVjdCBwYWdlX2luZm8gKnBhZ2U7CiAKLSAgICBpZiAoIGdmbl94KGdm bikgPj4gcDJtLT5kb21haW4tPmFyY2gucGFnaW5nLmdmbl9iaXRzICkKKyAgICBpZiAoIGdmbl94 KGdmbikgPj4KKyAgICAgICAgIChwMm0tPmRvbWFpbi0+YXJjaC5jcHVpZC0+ZXh0ZC5tYXhwaHlz YWRkciAtIFBBR0VfU0hJRlQpICkKICAgICB7CiAgICAgICAgICpyYyA9IF9QQUdFX0lOVkFMSURf QklUOwogICAgICAgICByZXR1cm4gTlVMTDsKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9tbS9z aGFkb3cvY29tbW9uLmMgYi94ZW4vYXJjaC94ODYvbW0vc2hhZG93L2NvbW1vbi5jCmluZGV4IGE2 MTlkNjUuLjIyMzVhMGEgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9tbS9zaGFkb3cvY29tbW9u LmMKKysrIGIveGVuL2FyY2gveDg2L21tL3NoYWRvdy9jb21tb24uYwpAQCAtNTIsMTYgKzUyLDYg QEAgaW50IHNoYWRvd19kb21haW5faW5pdChzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQg ZG9tY3JfZmxhZ3MpCiAgICAgSU5JVF9QQUdFX0xJU1RfSEVBRCgmZC0+YXJjaC5wYWdpbmcuc2hh ZG93LmZyZWVsaXN0KTsKICAgICBJTklUX1BBR0VfTElTVF9IRUFEKCZkLT5hcmNoLnBhZ2luZy5z aGFkb3cucGlubmVkX3NoYWRvd3MpOwogCi0gICAgZC0+YXJjaC5wYWdpbmcuZ2ZuX2JpdHMgPSBw YWRkcl9iaXRzIC0gUEFHRV9TSElGVDsKLSNpZm5kZWYgQ09ORklHX0JJR01FTQotICAgIC8qCi0g ICAgICogU2hhZG93ZWQgc3VwZXJwYWdlcyBzdG9yZSBHRk5zIGluIDMyLWJpdCBwYWdlX2luZm8g ZmllbGRzLgotICAgICAqIE5vdGUgdGhhdCB3ZSBjYW5ub3QgdXNlIGd1ZXN0X3N1cHBvcnRzX3N1 cGVycGFnZXMoKSBoZXJlLgotICAgICAqLwotICAgIGlmICggIWlzX3B2X2RvbWFpbihkKSB8fCBv cHRfYWxsb3dfc3VwZXJwYWdlICkKLSAgICAgICAgZC0+YXJjaC5wYWdpbmcuZ2ZuX2JpdHMgPSAz MjsKLSNlbmRpZgotCiAgICAgLyogVXNlIHNoYWRvdyBwYWdldGFibGVzIGZvciBsb2ctZGlydHkg c3VwcG9ydCAqLwogICAgIHBhZ2luZ19sb2dfZGlydHlfaW5pdChkLCBzaF9lbmFibGVfbG9nX2Rp cnR5LAogICAgICAgICAgICAgICAgICAgICAgICAgICBzaF9kaXNhYmxlX2xvZ19kaXJ0eSwgc2hf Y2xlYW5fZGlydHlfYml0bWFwKTsKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9tbS9zaGFkb3cv bXVsdGkuYyBiL3hlbi9hcmNoL3g4Ni9tbS9zaGFkb3cvbXVsdGkuYwppbmRleCBkNDA5MGQ3Li5l OTUxZGFmIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvbW0vc2hhZG93L211bHRpLmMKKysrIGIv eGVuL2FyY2gveDg2L21tL3NoYWRvdy9tdWx0aS5jCkBAIC01MzcsNyArNTM3LDggQEAgX3NoX3By b3BhZ2F0ZShzdHJ1Y3QgdmNwdSAqdiwKIAogICAgIC8qIENoZWNrIHRoZXJlJ3Mgc29tZXRoaW5n IGZvciB0aGUgc2hhZG93cyB0byBtYXAgdG8gKi8KICAgICBpZiAoICghcDJtX2lzX3ZhbGlkKHAy bXQpICYmICFwMm1faXNfZ3JhbnQocDJtdCkpCi0gICAgICAgICB8fCBnZm5feCh0YXJnZXRfZ2Zu KSA+PiBkLT5hcmNoLnBhZ2luZy5nZm5fYml0cyApCisgICAgICAgICB8fCBnZm5feCh0YXJnZXRf Z2ZuKSA+PgorICAgICAgICAgKGQtPmFyY2guY3B1aWQtPmV4dGQubWF4cGh5c2FkZHIgLSBQQUdF X1NISUZUKSApCiAgICAgewogICAgICAgICAqc3AgPSBzaGFkb3dfbDFlX2VtcHR5KCk7CiAgICAg ICAgIGdvdG8gZG9uZTsKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvZG9tYWluLmgg Yi94ZW4vaW5jbHVkZS9hc20teDg2L2RvbWFpbi5oCmluZGV4IGU2YzdlMTMuLjIyNzBlOTYgMTAw NjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvZG9tYWluLmgKKysrIGIveGVuL2luY2x1ZGUv YXNtLXg4Ni9kb21haW4uaApAQCAtMTk1LDkgKzE5NSw2IEBAIHN0cnVjdCBwYWdpbmdfZG9tYWlu IHsKICAgICAvKiBsb2cgZGlydHkgc3VwcG9ydCAqLwogICAgIHN0cnVjdCBsb2dfZGlydHlfZG9t YWluIGxvZ19kaXJ0eTsKIAotICAgIC8qIE51bWJlciBvZiB2YWxpZCBiaXRzIGluIGEgZ2ZuLiAq LwotICAgIHVuc2lnbmVkIGludCBnZm5fYml0czsKLQogICAgIC8qIHByZWVtcHRpb24gaGFuZGxp bmcgKi8KICAgICBzdHJ1Y3QgewogICAgICAgICBjb25zdCBzdHJ1Y3QgZG9tYWluICpkb207Ci0t IAoyLjEuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Clhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9s aXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=