From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH 2/5] x86/pv: map_ldt_shadow_page() cleanup Date: Tue, 29 Aug 2017 12:19:13 +0100 Message-ID: <1504005556-30394-3-git-send-email-andrew.cooper3@citrix.com> References: <1504005556-30394-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: In-Reply-To: <1504005556-30394-1-git-send-email-andrew.cooper3@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Xen-devel Cc: Andrew Cooper , Wei Liu , Jan Beulich List-Id: xen-devel@lists.xenproject.org U3dpdGNoIHRoZSByZXR1cm4gdmFsdWUgZnJvbSBpbnQgdG8gYm9vbCwgdG8gbWF0Y2ggaXRzIHNl bWFudGljcy4gIFN3aXRjaCBpdHMKcGFyYW1ldGVyIGZyb20gYSBmcmFtZSBvZmZzZXQgdG8gYSBi eXRlIG9mZnNldCAoc2ltcGxpZnlpbmcgdGhlIHNvbGUgY2FsbGVyKQphbmQgYWxsb3dpbmcgZm9y IGFuIGV4dHJhIHNhbml0eSBjaGVjayB0aGF0IHRoZSBmYXVsdCBpcyB3aXRoaW4gdGhlIExEVCBs aW1pdC4KCkRyb3AgdGhlIHVubmVjZXNzYXJ5IGdtZm4gYW5kIG9rYXkgbG9jYWwgdmFyaWFibGVz LCBhbmQgY29ycmVjdCB0aGUgZ3ZhCnBhcmFtZXRlciB0byBiZSBuYW1lZCBsaW5lYXIuICBSZW5h bWUgbDFlIHRvIGdsMWUsIGFuZCBzaW1wbGlmeSB0aGUKY29uc3RydWN0aW9uIG9mIHRoZSBuZXcg cHRlIGJ5IHNpbXBseSB0YWtpbmcgKHRoZSBub3cgdmFsaWRhdGVkKSBnbDFlIGFuZAplbnN1cmlu ZyB0aGF0IF9QQUdFX1JXIGlzIHNldC4KCkNhbGN1bGF0ZSB0aGUgcHRlIHRvIHVwZGF0ZWQgb3V0 c2lkZSBvZiB0aGUgc3BpbmxvY2ssIHdoaWNoIGhhbHZlcyB0aGUgc2l6ZSBvZgp0aGUgY3JpdGlj YWwgcmVnaW9uLgoKU2lnbmVkLW9mZi1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNA Y2l0cml4LmNvbT4KLS0tCkNDOiBKYW4gQmV1bGljaCA8SkJldWxpY2hAc3VzZS5jb20+CkNDOiBX ZWkgTGl1IDx3ZWkubGl1MkBjaXRyaXguY29tPgotLS0KIHhlbi9hcmNoL3g4Ni9tbS5jICAgICAg ICB8IDQyICsrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLQogeGVuL2Fy Y2gveDg2L3RyYXBzLmMgICAgIHwgIDIgKy0KIHhlbi9pbmNsdWRlL2FzbS14ODYvbW0uaCB8ICAy ICstCiAzIGZpbGVzIGNoYW5nZWQsIDI1IGluc2VydGlvbnMoKyksIDIxIGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9tbS5jIGIveGVuL2FyY2gveDg2L21tLmMKaW5kZXgg Nzk3ODBkYS4uYzQxZWQxYiAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L21tLmMKKysrIGIveGVu L2FyY2gveDg2L21tLmMKQEAgLTY2Nyw0NSArNjY3LDQ5IEBAIHN0YXRpYyBpbnQgYWxsb2Nfc2Vn ZGVzY19wYWdlKHN0cnVjdCBwYWdlX2luZm8gKnBhZ2UpCiB9CiAKIAotLyogTWFwIHNoYWRvdyBw YWdlIGF0IG9mZnNldCBAb2ZmLiAqLwotaW50IG1hcF9sZHRfc2hhZG93X3BhZ2UodW5zaWduZWQg aW50IG9mZikKKy8qCisgKiBNYXAgYSBndWVzdHMgTERUIHBhZ2UgKGF0IEBvZmZzZXQgYnl0ZXMg ZnJvbSB0aGUgc3RhcnQgb2YgdGhlIExEVCkgaW50bworICogWGVuJ3MgdmlydHVhbCByYW5nZS4g IFJldHVybnMgdHJ1ZSBpZiB0aGUgbWFwcGluZyBjaGFuZ2VkLCBmYWxzZSBvdGhlcndpc2UuCisg Ki8KK2Jvb2wgbWFwX2xkdF9zaGFkb3dfcGFnZSh1bnNpZ25lZCBpbnQgb2Zmc2V0KQogewogICAg IHN0cnVjdCB2Y3B1ICp2ID0gY3VycmVudDsKICAgICBzdHJ1Y3QgZG9tYWluICpkID0gdi0+ZG9t YWluOwotICAgIHVuc2lnbmVkIGxvbmcgZ21mbjsKICAgICBzdHJ1Y3QgcGFnZV9pbmZvICpwYWdl OwotICAgIGwxX3BnZW50cnlfdCBsMWUsIG5sMWU7Ci0gICAgdW5zaWduZWQgbG9uZyBndmEgPSB2 LT5hcmNoLnB2X3ZjcHUubGR0X2Jhc2UgKyAob2ZmIDw8IFBBR0VfU0hJRlQpOwotICAgIGludCBv a2F5OworICAgIGwxX3BnZW50cnlfdCBnbDFlLCAqcGwxZTsKKyAgICB1bnNpZ25lZCBsb25nIGxp bmVhciA9IHYtPmFyY2gucHZfdmNwdS5sZHRfYmFzZSArIG9mZnNldDsKIAogICAgIEJVR19PTih1 bmxpa2VseShpbl9pcnEoKSkpOwogCisgICAgLyogSGFyZHdhcmUgbGltaXQgY2hlY2tpbmcgc2hv dWxkIGd1YXJlbnRlZSB0aGlzIHByb3BlcnR5LiAqLworICAgIEFTU0VSVCgob2Zmc2V0ID4+IDMp IDw9IHYtPmFyY2gucHZfdmNwdS5sZHRfZW50cyk7CisKICAgICBpZiAoIGlzX3B2XzMyYml0X2Rv bWFpbihkKSApCi0gICAgICAgIGd2YSA9ICh1MzIpZ3ZhOwotICAgIGd1ZXN0X2dldF9lZmZfa2Vy bl9sMWUoZ3ZhLCAmbDFlKTsKLSAgICBpZiAoIHVubGlrZWx5KCEobDFlX2dldF9mbGFncyhsMWUp ICYgX1BBR0VfUFJFU0VOVCkpICkKLSAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIGxpbmVhciA9 ICh1aW50MzJfdClsaW5lYXI7CiAKLSAgICBnbWZuID0gbDFlX2dldF9wZm4obDFlKTsKLSAgICBw YWdlID0gZ2V0X3BhZ2VfZnJvbV9nZm4oZCwgZ21mbiwgTlVMTCwgUDJNX0FMTE9DKTsKKyAgICBn dWVzdF9nZXRfZWZmX2tlcm5fbDFlKGxpbmVhciwgJmdsMWUpOworICAgIGlmICggdW5saWtlbHko IShsMWVfZ2V0X2ZsYWdzKGdsMWUpICYgX1BBR0VfUFJFU0VOVCkpICkKKyAgICAgICAgcmV0dXJu IGZhbHNlOworCisgICAgcGFnZSA9IGdldF9wYWdlX2Zyb21fZ2ZuKGQsIGwxZV9nZXRfcGZuKGds MWUpLCBOVUxMLCBQMk1fQUxMT0MpOwogICAgIGlmICggdW5saWtlbHkoIXBhZ2UpICkKLSAgICAg ICAgcmV0dXJuIDA7CisgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIG9rYXkgPSBnZXRfcGFn ZV90eXBlKHBhZ2UsIFBHVF9zZWdfZGVzY19wYWdlKTsKLSAgICBpZiAoIHVubGlrZWx5KCFva2F5 KSApCisgICAgaWYgKCB1bmxpa2VseSghZ2V0X3BhZ2VfdHlwZShwYWdlLCBQR1Rfc2VnX2Rlc2Nf cGFnZSkpICkKICAgICB7CiAgICAgICAgIHB1dF9wYWdlKHBhZ2UpOwotICAgICAgICByZXR1cm4g MDsKKyAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIAotICAgIG5sMWUgPSBsMWVfZnJvbV9w YWdlKHBhZ2UsIGwxZV9nZXRfZmxhZ3MobDFlKSB8IF9QQUdFX1JXKTsKKyAgICBwbDFlID0gJmdk dF9sZHRfcHRlcyhkLCB2KVsob2Zmc2V0ID4+IFBBR0VfU0hJRlQpICsgMTZdOworICAgIGwxZV9h ZGRfZmxhZ3MoZ2wxZSwgX1BBR0VfUlcpOwogCiAgICAgc3Bpbl9sb2NrKCZ2LT5hcmNoLnB2X3Zj cHUuc2hhZG93X2xkdF9sb2NrKTsKLSAgICBsMWVfd3JpdGUoJmdkdF9sZHRfcHRlcyhkLCB2KVtv ZmYgKyAxNl0sIG5sMWUpOworICAgIGwxZV93cml0ZShwbDFlLCBnbDFlKTsKICAgICB2LT5hcmNo LnB2X3ZjcHUuc2hhZG93X2xkdF9tYXBjbnQrKzsKICAgICBzcGluX3VubG9jaygmdi0+YXJjaC5w dl92Y3B1LnNoYWRvd19sZHRfbG9jayk7CiAKLSAgICByZXR1cm4gMTsKKyAgICByZXR1cm4gdHJ1 ZTsKIH0KIAogCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvdHJhcHMuYyBiL3hlbi9hcmNoL3g4 Ni90cmFwcy5jCmluZGV4IGI5M2IzZDEuLmY1MjVmYTIgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4 Ni90cmFwcy5jCisrKyBiL3hlbi9hcmNoL3g4Ni90cmFwcy5jCkBAIC0xMTEyLDcgKzExMTIsNyBA QCBzdGF0aWMgaW50IGhhbmRsZV9nZHRfbGR0X21hcHBpbmdfZmF1bHQodW5zaWduZWQgbG9uZyBv ZmZzZXQsCiAgICAgaWYgKCBsaWtlbHkoaXNfbGR0X2FyZWEpICkKICAgICB7CiAgICAgICAgIC8q IExEVCBmYXVsdDogQ29weSBhIG1hcHBpbmcgZnJvbSB0aGUgZ3Vlc3QncyBMRFQsIGlmIGl0IGlz IHZhbGlkLiAqLwotICAgICAgICBpZiAoIGxpa2VseShtYXBfbGR0X3NoYWRvd19wYWdlKG9mZnNl dCA+PiBQQUdFX1NISUZUKSkgKQorICAgICAgICBpZiAoIGxpa2VseShtYXBfbGR0X3NoYWRvd19w YWdlKG9mZnNldCkpICkKICAgICAgICAgewogICAgICAgICAgICAgaWYgKCBndWVzdF9tb2RlKHJl Z3MpICkKICAgICAgICAgICAgICAgICB0cmFjZV90cmFwX3R3b19hZGRyKFRSQ19QVl9HRFRfTERU X01BUFBJTkdfRkFVTFQsCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L21tLmggYi94 ZW4vaW5jbHVkZS9hc20teDg2L21tLmgKaW5kZXggNTc2MGUwNS4uZWM3Y2UzYyAxMDA2NDQKLS0t IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9tbS5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvbW0u aApAQCAtNTUzLDcgKzU1Myw3IEBAIGxvbmcgc3ViYXJjaF9tZW1vcnlfb3AodW5zaWduZWQgbG9u ZyBjbWQsIFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0odm9pZCkgYXJnKTsKIGludCBjb21wYXRfYXJj aF9tZW1vcnlfb3AodW5zaWduZWQgbG9uZyBjbWQsIFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0odm9p ZCkpOwogaW50IGNvbXBhdF9zdWJhcmNoX21lbW9yeV9vcChpbnQgb3AsIFhFTl9HVUVTVF9IQU5E TEVfUEFSQU0odm9pZCkpOwogCi1pbnQgbWFwX2xkdF9zaGFkb3dfcGFnZSh1bnNpZ25lZCBpbnQp OworYm9vbCBtYXBfbGR0X3NoYWRvd19wYWdlKHVuc2lnbmVkIGludCk7CiAKICNkZWZpbmUgTklM KHR5cGUpICgodHlwZSAqKS1zaXplb2YodHlwZSkpCiAjZGVmaW5lIElTX05JTChwdHIpICghKCh1 aW50cHRyX3QpKHB0cikgKyBzaXplb2YoKihwdHIpKSkpCi0tIAoyLjEuNAoKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxp c3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZl bAo=