From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH v2 2/5] x86/pv: map_ldt_shadow_page() cleanup Date: Tue, 29 Aug 2017 16:57:42 +0100 Message-ID: <1504022262-31822-1-git-send-email-andrew.cooper3@citrix.com> References: <1504005556-30394-3-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-3-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 ZyB0aGF0IF9QQUdFX1JXIGlzIHNldC4KCkNhbGN1bGF0ZSB0aGUgcHRlIHRvIGJlIHVwZGF0ZWQg b3V0c2lkZSBvZiB0aGUgc3BpbmxvY2ssIHdoaWNoIGhhbHZlcyB0aGUgc2l6ZQpvZiB0aGUgY3Jp dGljYWwgcmVnaW9uLgoKU2lnbmVkLW9mZi1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3Bl cjNAY2l0cml4LmNvbT4KUmV2aWV3ZWQtYnk6IFdlaSBMaXUgPHdlaS5saXUyQGNpdHJpeC5jb20+ Ci0tLQpDQzogSmFuIEJldWxpY2ggPEpCZXVsaWNoQHN1c2UuY29tPgpDQzogV2VpIExpdSA8d2Vp LmxpdTJAY2l0cml4LmNvbT4KCnYyOgogKiBBZGp1c3RtZW50cyB0byB2YXJpb3VzIGNvbW1lbnRz LgotLS0KIHhlbi9hcmNoL3g4Ni9tbS5jICAgICAgICB8IDQ4ICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLQogeGVuL2FyY2gveDg2L3RyYXBzLmMgICAgIHwg IDIgKy0KIHhlbi9pbmNsdWRlL2FzbS14ODYvbW0uaCB8ICAyICstCiAzIGZpbGVzIGNoYW5nZWQs IDMxIGluc2VydGlvbnMoKyksIDIxIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNo L3g4Ni9tbS5jIGIveGVuL2FyY2gveDg2L21tLmMKaW5kZXggNzk3ODBkYS4uZjE5ODNiNSAxMDA2 NDQKLS0tIGEveGVuL2FyY2gveDg2L21tLmMKKysrIGIveGVuL2FyY2gveDg2L21tLmMKQEAgLTY2 Nyw0NSArNjY3LDU1IEBAIHN0YXRpYyBpbnQgYWxsb2Nfc2VnZGVzY19wYWdlKHN0cnVjdCBwYWdl X2luZm8gKnBhZ2UpCiB9CiAKIAotLyogTWFwIHNoYWRvdyBwYWdlIGF0IG9mZnNldCBAb2ZmLiAq LwotaW50IG1hcF9sZHRfc2hhZG93X3BhZ2UodW5zaWduZWQgaW50IG9mZikKKy8qCisgKiBNYXAg YSBndWVzdCdzIExEVCBwYWdlIChjb3ZlcmluZyB0aGUgYnl0ZSBhdCBAb2Zmc2V0IGZyb20gc3Rh cnQgb2YgdGhlIExEVCkKKyAqIGludG8gWGVuJ3MgdmlydHVhbCByYW5nZS4gIFJldHVybnMgdHJ1 ZSBpZiB0aGUgbWFwcGluZyBjaGFuZ2VkLCBmYWxzZQorICogb3RoZXJ3aXNlLgorICovCitib29s IG1hcF9sZHRfc2hhZG93X3BhZ2UodW5zaWduZWQgaW50IG9mZnNldCkKIHsKICAgICBzdHJ1Y3Qg dmNwdSAqdiA9IGN1cnJlbnQ7CiAgICAgc3RydWN0IGRvbWFpbiAqZCA9IHYtPmRvbWFpbjsKLSAg ICB1bnNpZ25lZCBsb25nIGdtZm47CiAgICAgc3RydWN0IHBhZ2VfaW5mbyAqcGFnZTsKLSAgICBs MV9wZ2VudHJ5X3QgbDFlLCBubDFlOwotICAgIHVuc2lnbmVkIGxvbmcgZ3ZhID0gdi0+YXJjaC5w dl92Y3B1LmxkdF9iYXNlICsgKG9mZiA8PCBQQUdFX1NISUZUKTsKLSAgICBpbnQgb2theTsKKyAg ICBsMV9wZ2VudHJ5X3QgZ2wxZSwgKnBsMWU7CisgICAgdW5zaWduZWQgbG9uZyBsaW5lYXIgPSB2 LT5hcmNoLnB2X3ZjcHUubGR0X2Jhc2UgKyBvZmZzZXQ7CiAKICAgICBCVUdfT04odW5saWtlbHko aW5faXJxKCkpKTsKIAorICAgIC8qCisgICAgICogSGFyZHdhcmUgbGltaXQgY2hlY2tpbmcgc2hv dWxkIGd1YXJhbnRlZSB0aGlzIHByb3BlcnR5LiAgTkIuIFRoaXMgaXMKKyAgICAgKiBzYWZlIGFz IHVwZGF0ZXMgdG8gdGhlIExEVCBjYW4gb25seSBiZSBtYWRlIGJ5IE1NVUVYVF9TRVRfTERUIHRv IHRoZQorICAgICAqIGN1cnJlbnQgdmNwdSwgYW5kIHZjcHVfcmVzZXQoKSB3aWxsIGJsb2NrIHVu dGlsIHRoaXMgdmNwdSBoYXMgYmVlbgorICAgICAqIGRlc2NoZWR1bGVkIGJlZm9yZSBjb250aW51 aW5nLgorICAgICAqLworICAgIEFTU0VSVCgob2Zmc2V0ID4+IDMpIDw9IHYtPmFyY2gucHZfdmNw dS5sZHRfZW50cyk7CisKICAgICBpZiAoIGlzX3B2XzMyYml0X2RvbWFpbihkKSApCi0gICAgICAg IGd2YSA9ICh1MzIpZ3ZhOwotICAgIGd1ZXN0X2dldF9lZmZfa2Vybl9sMWUoZ3ZhLCAmbDFlKTsK LSAgICBpZiAoIHVubGlrZWx5KCEobDFlX2dldF9mbGFncyhsMWUpICYgX1BBR0VfUFJFU0VOVCkp ICkKLSAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIGxpbmVhciA9ICh1aW50MzJfdClsaW5lYXI7 CiAKLSAgICBnbWZuID0gbDFlX2dldF9wZm4obDFlKTsKLSAgICBwYWdlID0gZ2V0X3BhZ2VfZnJv bV9nZm4oZCwgZ21mbiwgTlVMTCwgUDJNX0FMTE9DKTsKKyAgICBndWVzdF9nZXRfZWZmX2tlcm5f bDFlKGxpbmVhciwgJmdsMWUpOworICAgIGlmICggdW5saWtlbHkoIShsMWVfZ2V0X2ZsYWdzKGds MWUpICYgX1BBR0VfUFJFU0VOVCkpICkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgcGFn ZSA9IGdldF9wYWdlX2Zyb21fZ2ZuKGQsIGwxZV9nZXRfcGZuKGdsMWUpLCBOVUxMLCBQMk1fQUxM T0MpOwogICAgIGlmICggdW5saWtlbHkoIXBhZ2UpICkKLSAgICAgICAgcmV0dXJuIDA7CisgICAg ICAgIHJldHVybiBmYWxzZTsKIAotICAgIG9rYXkgPSBnZXRfcGFnZV90eXBlKHBhZ2UsIFBHVF9z ZWdfZGVzY19wYWdlKTsKLSAgICBpZiAoIHVubGlrZWx5KCFva2F5KSApCisgICAgaWYgKCB1bmxp a2VseSghZ2V0X3BhZ2VfdHlwZShwYWdlLCBQR1Rfc2VnX2Rlc2NfcGFnZSkpICkKICAgICB7CiAg ICAgICAgIHB1dF9wYWdlKHBhZ2UpOwotICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgcmV0dXJu IGZhbHNlOwogICAgIH0KIAotICAgIG5sMWUgPSBsMWVfZnJvbV9wYWdlKHBhZ2UsIGwxZV9nZXRf ZmxhZ3MobDFlKSB8IF9QQUdFX1JXKTsKKyAgICBwbDFlID0gJmdkdF9sZHRfcHRlcyhkLCB2KVso b2Zmc2V0ID4+IFBBR0VfU0hJRlQpICsgMTZdOworICAgIGwxZV9hZGRfZmxhZ3MoZ2wxZSwgX1BB R0VfUlcpOwogCiAgICAgc3Bpbl9sb2NrKCZ2LT5hcmNoLnB2X3ZjcHUuc2hhZG93X2xkdF9sb2Nr KTsKLSAgICBsMWVfd3JpdGUoJmdkdF9sZHRfcHRlcyhkLCB2KVtvZmYgKyAxNl0sIG5sMWUpOwor ICAgIGwxZV93cml0ZShwbDFlLCBnbDFlKTsKICAgICB2LT5hcmNoLnB2X3ZjcHUuc2hhZG93X2xk dF9tYXBjbnQrKzsKICAgICBzcGluX3VubG9jaygmdi0+YXJjaC5wdl92Y3B1LnNoYWRvd19sZHRf bG9jayk7CiAKLSAgICByZXR1cm4gMTsKKyAgICByZXR1cm4gdHJ1ZTsKIH0KIAogCmRpZmYgLS1n aXQgYS94ZW4vYXJjaC94ODYvdHJhcHMuYyBiL3hlbi9hcmNoL3g4Ni90cmFwcy5jCmluZGV4IGI5 M2IzZDEuLmY1MjVmYTIgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni90cmFwcy5jCisrKyBiL3hl bi9hcmNoL3g4Ni90cmFwcy5jCkBAIC0xMTEyLDcgKzExMTIsNyBAQCBzdGF0aWMgaW50IGhhbmRs ZV9nZHRfbGR0X21hcHBpbmdfZmF1bHQodW5zaWduZWQgbG9uZyBvZmZzZXQsCiAgICAgaWYgKCBs aWtlbHkoaXNfbGR0X2FyZWEpICkKICAgICB7CiAgICAgICAgIC8qIExEVCBmYXVsdDogQ29weSBh IG1hcHBpbmcgZnJvbSB0aGUgZ3Vlc3QncyBMRFQsIGlmIGl0IGlzIHZhbGlkLiAqLwotICAgICAg ICBpZiAoIGxpa2VseShtYXBfbGR0X3NoYWRvd19wYWdlKG9mZnNldCA+PiBQQUdFX1NISUZUKSkg KQorICAgICAgICBpZiAoIGxpa2VseShtYXBfbGR0X3NoYWRvd19wYWdlKG9mZnNldCkpICkKICAg ICAgICAgewogICAgICAgICAgICAgaWYgKCBndWVzdF9tb2RlKHJlZ3MpICkKICAgICAgICAgICAg ICAgICB0cmFjZV90cmFwX3R3b19hZGRyKFRSQ19QVl9HRFRfTERUX01BUFBJTkdfRkFVTFQsCmRp ZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L21tLmggYi94ZW4vaW5jbHVkZS9hc20teDg2 L21tLmgKaW5kZXggNTc2MGUwNS4uZWM3Y2UzYyAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNt LXg4Ni9tbS5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvbW0uaApAQCAtNTUzLDcgKzU1Myw3 IEBAIGxvbmcgc3ViYXJjaF9tZW1vcnlfb3AodW5zaWduZWQgbG9uZyBjbWQsIFhFTl9HVUVTVF9I QU5ETEVfUEFSQU0odm9pZCkgYXJnKTsKIGludCBjb21wYXRfYXJjaF9tZW1vcnlfb3AodW5zaWdu ZWQgbG9uZyBjbWQsIFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0odm9pZCkpOwogaW50IGNvbXBhdF9z dWJhcmNoX21lbW9yeV9vcChpbnQgb3AsIFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0odm9pZCkpOwog Ci1pbnQgbWFwX2xkdF9zaGFkb3dfcGFnZSh1bnNpZ25lZCBpbnQpOworYm9vbCBtYXBfbGR0X3No YWRvd19wYWdlKHVuc2lnbmVkIGludCk7CiAKICNkZWZpbmUgTklMKHR5cGUpICgodHlwZSAqKS1z aXplb2YodHlwZSkpCiAjZGVmaW5lIElTX05JTChwdHIpICghKCh1aW50cHRyX3QpKHB0cikgKyBz aXplb2YoKihwdHIpKSkpCi0tIAoyLjEuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3Rz Lnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=