From mboxrd@z Thu Jan 1 00:00:00 1970 From: Zhang Chen Subject: [PATCH V3 7/7] COLO-Proxy: Use socket to get checkpoint event. Date: Fri, 17 Feb 2017 10:18:29 +0800 Message-ID: <1487297909-1885-8-git-send-email-zhangchen.fnst@cn.fujitsu.com> References: <1487297909-1885-1-git-send-email-zhangchen.fnst@cn.fujitsu.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ceY8g-00078t-HL for xen-devel@lists.xenproject.org; Fri, 17 Feb 2017 02:19:14 +0000 In-Reply-To: <1487297909-1885-1-git-send-email-zhangchen.fnst@cn.fujitsu.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Xen devel , Wei Liu , Ian Jackson Cc: Zhang Chen , Li Zhijian , eddie , Yang Hongyang , Bian Naimeng List-Id: xen-devel@lists.xenproject.org V2UgdXNlIGtlcm5lbCBjb2xvIHByb3h5J3Mgd2F5IHRvIGdldCB0aGUgY2hlY2twb2ludCBldmVu dApmcm9tIHFlbXUgY29sby1jb21wYXJlLgpRZW11IGNvbG8tY29tcGFyZSBuZWVkIGFkZCBhIEFQ SSB0byBzdXBwb3J0IHRoaXMoSSB3aWxsIGFkZCB0aGlzIGluIHFlbXUpLgoKU2lnbmVkLW9mZi1i eTogWmhhbmcgQ2hlbiA8emhhbmdjaGVuLmZuc3RAY24uZnVqaXRzdS5jb20+Ci0tLQogdG9vbHMv bGlieGwvbGlieGxfY29sby5oICAgICAgICAgfCAgMiArCiB0b29scy9saWJ4bC9saWJ4bF9jb2xv X3Byb3h5LmMgICB8IDg1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0K IHRvb2xzL2xpYnhsL2xpYnhsX2NvbG9fcmVzdG9yZS5jIHwgMTEgKysrKy0tCiB0b29scy9saWJ4 bC9saWJ4bF9jb2xvX3NhdmUuYyAgICB8IDIyICsrKysrKystLS0tCiB0b29scy9saWJ4bC9saWJ4 bF9uaWMuYyAgICAgICAgICB8ICA0ICsrCiB0b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwgICAg ICB8ICA0ICstCiB0b29scy9saWJ4bC94bF9jbWRpbXBsLmMgICAgICAgICB8ICA0ICsrCiA3IGZp bGVzIGNoYW5nZWQsIDExNCBpbnNlcnRpb25zKCspLCAxOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS90b29scy9saWJ4bC9saWJ4bF9jb2xvLmggYi90b29scy9saWJ4bC9saWJ4bF9jb2xvLmgK aW5kZXggNDc0NmQ4Yy4uNmMwMWI1NSAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfY29s by5oCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2NvbG8uaApAQCAtNjksNiArNjksOCBAQCBzdHJ1 Y3QgbGlieGxfX2NvbG9fcHJveHlfc3RhdGUgewogICAgICAqICAgICAgICAgIEZhbHNlIG1lYW5z IHVzZSBrZXJuZWwgY29sbyBwcm94eS4KICAgICAgKi8KICAgICBib29sIGlzX3VzZXJzcGFjZV9w cm94eTsKKyAgICBjb25zdCBjaGFyICpjaGVja3BvaW50X2hvc3Q7CisgICAgY29uc3QgY2hhciAq Y2hlY2twb2ludF9wb3J0OwogfTsKIAogc3RydWN0IGxpYnhsX19jb2xvX3NhdmVfc3RhdGUgewpk aWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfY29sb19wcm94eS5jIGIvdG9vbHMvbGlieGwv bGlieGxfY29sb19wcm94eS5jCmluZGV4IGRkOTAyZmMuLmE2NDM2YjAgMTAwNjQ0Ci0tLSBhL3Rv b2xzL2xpYnhsL2xpYnhsX2NvbG9fcHJveHkuYworKysgYi90b29scy9saWJ4bC9saWJ4bF9jb2xv X3Byb3h5LmMKQEAgLTE4LDkgKzE4LDEzIEBACiAjaW5jbHVkZSAibGlieGxfaW50ZXJuYWwuaCIK IAogI2luY2x1ZGUgPG5ldGxpbmsvbmV0bGluay5oPgorI2luY2x1ZGUgPGFycGEvaW5ldC5oPgor I2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KKyNpbmNsdWRlIDxuZXRpbmV0L2luLmg+CiAKIC8qIENv bnNpc3RlbnQgd2l0aCB0aGUgbmV3IENPTE8gbmV0bGluayBjaGFubmVsIGluIGtlcm5lbCBzaWRl ICovCiAjZGVmaW5lIE5FVExJTktfQ09MTyAyOAorI2RlZmluZSBDT0xPX0RFRkFVTFRfV0FJVF9U SU1FIDUwMDAwMAogCiBlbnVtIGNvbG9fbmV0bGlua19vcCB7CiAgICAgQ09MT19RVUVSWV9DSEVD S1BPSU5UID0gKE5MTVNHX01JTl9UWVBFICsgMSksCkBAIC03Niw2ICs4MCwyNiBAQCBzdGF0aWMg aW50IGNvbG9fcHJveHlfc2VuZChsaWJ4bF9fY29sb19wcm94eV9zdGF0ZSAqY3BzLCB1aW50OF90 ICpidWZmLAogICAgIHJldHVybiByZXQ7CiB9CiAKK3N0YXRpYyBpbnQgY29sb191c2Vyc3BhY2Vf cHJveHlfcmVjdihsaWJ4bF9fY29sb19wcm94eV9zdGF0ZSAqY3BzLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGNoYXIgKmJ1ZmYsCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IHRpbWVvdXRfdXMpCit7CisgICAgc3RydWN0IHRp bWV2YWwgdHY7CisgICAgaW50IHJldDsKKworICAgIFNUQVRFX0FPX0dDKGNwcy0+YW8pOworCisg ICAgaWYgKHRpbWVvdXRfdXMpIHsKKyAgICAgICAgdHYudHZfc2VjID0gdGltZW91dF91cyAvIDEw MDAwMDA7CisgICAgICAgIHR2LnR2X3VzZWMgPSB0aW1lb3V0X3VzICUgMTAwMDAwMDsKKyAgICAg ICAgc2V0c29ja29wdChjcHMtPnNvY2tfZmQsIFNPTF9TT0NLRVQsIFNPX1JDVlRJTUVPLCAmdHYs IHNpemVvZih0dikpOworICAgIH0KKworICAgIHJldCA9IHJlY3YoY3BzLT5zb2NrX2ZkLCBidWZm LCBzaXplb2YoYnVmZiksMCk7CisKKyAgICByZXR1cm4gcmV0OworfQorCiAvKiBlcnJvcjogcmV0 dXJuIC0xLCBvdGhlcndpc2UgcmV0dXJuIDAgKi8KIHN0YXRpYyBpbnQ2NF90IGNvbG9fcHJveHlf cmVjdihsaWJ4bF9fY29sb19wcm94eV9zdGF0ZSAqY3BzLCB1aW50OF90ICoqYnVmZiwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgdGltZW91dF91cykKQEAgLTE1 Myw4ICsxNzcsNDUgQEAgaW50IGNvbG9fcHJveHlfc2V0dXAobGlieGxfX2NvbG9fcHJveHlfc3Rh dGUgKmNwcykKICAgICBTVEFURV9BT19HQyhjcHMtPmFvKTsKIAogICAgIC8qIElmIGVuYWJsZSB1 c2Vyc3BhY2UgcHJveHkgbW9kZSwgd2UgZG9uJ3QgbmVlZCBzZXR1cCBrZXJuZWwgcHJveHkgKi8K LSAgICBpZiAoY3BzLT5pc191c2Vyc3BhY2VfcHJveHkpCisgICAgaWYgKGNwcy0+aXNfdXNlcnNw YWNlX3Byb3h5KSB7CisgICAgICAgIHN0cnVjdCBzb2NrYWRkcl9pbiBhZGRyOworICAgICAgICBp bnQgcG9ydDsKKyAgICAgICAgY2hhciByZWN2YnVmZlsxMDI0XTsKKyAgICAgICAgY2hhciBzZW5k YnVmW10gPSAiQ09MT19VU0VSU1BBQ0VfUFJPWFlfSU5JVCI7CisKKyAgICAgICAgbWVtc2V0KCZh ZGRyLCAwLCBzaXplb2YoYWRkcikpOworICAgICAgICBwb3J0ID0gYXRvaShjcHMtPmNoZWNrcG9p bnRfcG9ydCk7CisgICAgICAgIGFkZHIuc2luX2ZhbWlseSA9IEFGX0lORVQ7CisgICAgICAgIGFk ZHIuc2luX3BvcnQgPSBodG9ucyhwb3J0KTsKKyAgICAgICAgYWRkci5zaW5fYWRkci5zX2FkZHIg PSBpbmV0X2FkZHIoY3BzLT5jaGVja3BvaW50X2hvc3QpOworCisgICAgICAgIHNrZmQgPSBzb2Nr ZXQoQUZfSU5FVCwgU09DS19TVFJFQU0sIDApOworICAgICAgICBpZiAoc2tmZCA8IDApIHsKKyAg ICAgICAgICAgIExPR0QoRVJST1IsIGFvLT5kb21pZCwgImNhbiBub3QgY3JlYXRlIGEgVENQIHNv Y2tldDogJXMiLAorICAgICAgICAgICAgICAgICBzdHJlcnJvcihlcnJubykpOworICAgICAgICAg ICAgZ290byBvdXQ7CisgICAgICAgIH0KKworICAgICAgICBjcHMtPnNvY2tfZmQgPSBza2ZkOwor CisgICAgICAgIGlmIChjb25uZWN0KHNrZmQsIChzdHJ1Y3Qgc29ja2FkZHIgKikmYWRkciwgc2l6 ZW9mKGFkZHIpKSA8IDApIHsKKyAgICAgICAgICAgIExPR0QoRVJST1IsIGFvLT5kb21pZCwgImNv bm5lY3QgZXJyb3IiKTsKKyAgICAgICAgICAgIGdvdG8gb3V0OworICAgICAgICB9CisKKyAgICAg ICAgcmV0ID0gc2VuZChza2ZkLCBzZW5kYnVmLCBzdHJsZW4oc2VuZGJ1ZiksMCk7CisgICAgICAg IGlmIChyZXQgPCAwKQorICAgICAgICAgICAgZ290byBvdXQ7CisKKyAgICAgICAgcmV0ID0gY29s b191c2Vyc3BhY2VfcHJveHlfcmVjdihjcHMsIHJlY3ZidWZmLCBDT0xPX0RFRkFVTFRfV0FJVF9U SU1FKTsKKyAgICAgICAgaWYgKHJldCA8IDApIHsKKyAgICAgICAgICAgIExPR0QoRVJST1IsIGFv LT5kb21pZCwgIkNhbid0IHJlY3YgbXNnIGZyb20gcWVtdSBjb2xvLWNvbXBhcmU6ICVzIiwKKyAg ICAgICAgICAgICAgICAgc3RyZXJyb3IoZXJybm8pKTsKKyAgICAgICAgICAgIGdvdG8gb3V0Owor ICAgICAgICB9CisKICAgICAgICAgcmV0dXJuIDA7CisgICAgfQogCiAgICAgc2tmZCA9IHNvY2tl dChQRl9ORVRMSU5LLCBTT0NLX1JBVywgTkVUTElOS19DT0xPKTsKICAgICBpZiAoc2tmZCA8IDAp IHsKQEAgLTI0Nyw4ICszMDgsMTEgQEAgdm9pZCBjb2xvX3Byb3h5X3ByZXJlc3VtZShsaWJ4bF9f Y29sb19wcm94eV9zdGF0ZSAqY3BzKQogICAgICAqIElmIGVuYWJsZSB1c2Vyc3BhY2UgcHJveHkg bW9kZSwKICAgICAgKiB3ZSBkb24ndCBuZWVkIHByZXJlc3VtZSBrZXJuZWwgcHJveHkKICAgICAg Ki8KLSAgICBpZiAoY3BzLT5pc191c2Vyc3BhY2VfcHJveHkpCisgICAgaWYgKGNwcy0+aXNfdXNl cnNwYWNlX3Byb3h5KSB7CisgICAgICAgIGNoYXIgc2VuZGJ1ZltdID0gIkNPTE9fQ0hFQ0tQT0lO VCI7CisgICAgICAgIHNlbmQoY3BzLT5zb2NrX2ZkLCBzZW5kYnVmLCBzdHJsZW4oc2VuZGJ1Ziks MCk7CiAgICAgICAgIHJldHVybjsKKyAgICB9CiAKICAgICBjb2xvX3Byb3h5X3NlbmQoY3BzLCBO VUxMLCAwLCBDT0xPX0NIRUNLUE9JTlQpOwogICAgIC8qIFRPRE86IG5lZWQgdG8gaGFuZGxlIGlm IHRoZSBjYWxsIGZhaWxzLi4uICovCkBAIC0yNzcsMTYgKzM0MSwyNSBAQCBpbnQgY29sb19wcm94 eV9jaGVja3BvaW50KGxpYnhsX19jb2xvX3Byb3h5X3N0YXRlICpjcHMsCiAgICAgc3RydWN0IG5s bXNnaGRyICpoOwogICAgIHN0cnVjdCBjb2xvX21zZyAqbTsKICAgICBpbnQgcmV0ID0gLTE7Cisg ICAgY2hhciByZWN2YnVmZlsxMDI0XTsKIAogICAgIFNUQVRFX0FPX0dDKGNwcy0+YW8pOwogCiAg ICAgLyoKLSAgICAgKiBlbmFibGUgdXNlcnNwYWNlIHByb3h5IG1vZGUsIHRtcCBzbGVlcC4KLSAg ICAgKiB0aGVuIHdlIHdpbGwgYWRkIHFlbXUgQVBJIHN1cHBvcnQgdGhpcyBmdW5jLgorICAgICAq IGVuYWJsZSB1c2Vyc3BhY2UgcHJveHkgbW9kZS4KKyAgICAgKiBUaGVuIHdlIHdpbGwgYWRkIHFl bXUgQVBJIHN1cHBvcnQgZm9yIHRoaXMgZnVuYy4KICAgICAgKi8KICAgICBpZiAoY3BzLT5pc191 c2Vyc3BhY2VfcHJveHkpIHsKLSAgICAgICAgc2xlZXAodGltZW91dF91cyAvIDEwMDAwMDApOwot ICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgcmV0ID0gY29sb191c2Vyc3BhY2VfcHJveHlfcmVj dihjcHMsIHJlY3ZidWZmLCB0aW1lb3V0X3VzKTsKKyAgICAgICAgaWYgKHJldCA8PSAwKQorICAg ICAgICAgICAgcmV0dXJuIDA7CisKKyAgICAgICAgaWYgKCFzdHJjbXAocmVjdmJ1ZmYsICJET19D SEVDS1BPSU5UIikpIHsKKyAgICAgICAgICAgIHJldHVybiAxOworICAgICAgICB9IGVsc2Ugewor ICAgICAgICAgICAgTE9HRChFUlJPUiwgYW8tPmRvbWlkLCAicmVjZWl2ZSBxZW11IGNvbG8tY29t cGFyZSBjaGVja3BvaW50IGVycm9yIik7CisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAg IH0KICAgICB9CiAKICAgICBzaXplID0gY29sb19wcm94eV9yZWN2KGNwcywgJmJ1ZmYsIHRpbWVv dXRfdXMpOwpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfY29sb19yZXN0b3JlLmMgYi90 b29scy9saWJ4bC9saWJ4bF9jb2xvX3Jlc3RvcmUuYwppbmRleCBjNmQyMzlhLi4wNjVlYTAwIDEw MDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9jb2xvX3Jlc3RvcmUuYworKysgYi90b29scy9s aWJ4bC9saWJ4bF9jb2xvX3Jlc3RvcmUuYwpAQCAtNjEzLDcgKzYxMyw4IEBAIHN0YXRpYyB2b2lk IGNvbG9fcmVzdG9yZV9wcmVyZXN1bWVfY2IobGlieGxfX2VnYyAqZWdjLAogICAgICAgICB9CiAg ICAgfQogCi0gICAgY29sb19wcm94eV9wcmVyZXN1bWUoJmNycy0+Y3BzKTsKKyAgICBpZiAoIWNy cy0+Y3BzLmlzX3VzZXJzcGFjZV9wcm94eSkKKyAgICAgICAgY29sb19wcm94eV9wcmVyZXN1bWUo JmNycy0+Y3BzKTsKIAogICAgIGNvbG9fcmVzdG9yZV9yZXN1bWVfdm0oZWdjLCBjcmNzKTsKIApA QCAtNzg2LDkgKzc4NywxMSBAQCBzdGF0aWMgdm9pZCBjb2xvX3NldHVwX2NoZWNrcG9pbnRfZGV2 aWNlcyhsaWJ4bF9fZWdjICplZ2MsCiAgICAgY2RzLT5vcHMgPSBjb2xvX3Jlc3RvcmVfb3BzOwog CiAgICAgY3JzLT5jcHMuYW8gPSBhbzsKLSAgICBpZiAoY29sb19wcm94eV9zZXR1cCgmY3JzLT5j cHMpKSB7Ci0gICAgICAgIExPR0QoRVJST1IsIGNkcy0+ZG9taWQsICJDT0xPOiBmYWlsZWQgdG8g c2V0dXAgY29sbyBwcm94eSBmb3IgZ3Vlc3QiKTsKLSAgICAgICAgZ290byBvdXQ7CisgICAgaWYg KCFjcnMtPmNwcy5pc191c2Vyc3BhY2VfcHJveHkpIHsKKyAgICAgICAgaWYgKGNvbG9fcHJveHlf c2V0dXAoJmNycy0+Y3BzKSkgeworICAgICAgICAgICAgTE9HRChFUlJPUiwgY2RzLT5kb21pZCwg IkNPTE86IGZhaWxlZCB0byBzZXR1cCBjb2xvIHByb3h5IGZvciBndWVzdCIpOworICAgICAgICAg ICAgZ290byBvdXQ7CisgICAgICAgIH0KICAgICB9CiAKICAgICBpZiAoaW5pdF9kZXZpY2Vfc3Vi a2luZChjZHMpKQpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfY29sb19zYXZlLmMgYi90 b29scy9saWJ4bC9saWJ4bF9jb2xvX3NhdmUuYwppbmRleCA5MWUzZmNlLi5hMGNmYzVhIDEwMDY0 NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9jb2xvX3NhdmUuYworKysgYi90b29scy9saWJ4bC9s aWJ4bF9jb2xvX3NhdmUuYwpAQCAtODYsNiArODYsNyBAQCB2b2lkIGxpYnhsX19jb2xvX3NhdmVf c2V0dXAobGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fY29sb19zYXZlX3N0YXRlICpjc3MpCiAgICAg bGlieGxfX2NoZWNrcG9pbnRfZGV2aWNlc19zdGF0ZSAqY29uc3QgY2RzID0gJmRzcy0+Y2RzOwog ICAgIGxpYnhsX19zcm1fc2F2ZV9hdXRvZ2VuX2NhbGxiYWNrcyAqY29uc3QgY2FsbGJhY2tzID0K ICAgICAgICAgJmRzcy0+c3dzLnNocy5jYWxsYmFja3Muc2F2ZS5hOworICAgIGxpYnhsX2Rldmlj ZV9uaWMgKm5pY3M7CiAKICAgICBTVEFURV9BT19HQyhkc3MtPmFvKTsKIApAQCAtMTEwLDI0ICsx MTEsMzEgQEAgdm9pZCBsaWJ4bF9fY29sb19zYXZlX3NldHVwKGxpYnhsX19lZ2MgKmVnYywgbGli eGxfX2NvbG9fc2F2ZV9zdGF0ZSAqY3NzKQogICAgICAgICBjc3MtPmNvbG9fcHJveHlfc2NyaXB0 ID0gR0NTUFJJTlRGKCIlcy9jb2xvLXByb3h5LXNldHVwIiwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9feGVuX3NjcmlwdF9kaXJfcGF0aCgpKTsKIAot ICAgIC8qIElmIGVuYWJsZSB1c2Vyc3BhY2UgcHJveHkgbW9kZSwgd2UgZG9uJ3QgbmVlZCBWSUYg Ki8KLSAgICBpZiAoY3NzLT5jcHMuaXNfdXNlcnNwYWNlX3Byb3h5KQotICAgICAgICBjZHMtPmRl dmljZV9raW5kX2ZsYWdzID0gKDEgPDwgTElCWExfX0RFVklDRV9LSU5EX1ZCRCk7Ci0gICAgZWxz ZQotICAgICAgICBjZHMtPmRldmljZV9raW5kX2ZsYWdzID0gKDEgPDwgTElCWExfX0RFVklDRV9L SU5EX1ZJRikgfAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgTElCWExf X0RFVklDRV9LSU5EX1ZCRCk7Ci0KICAgICBjZHMtPm9wcyA9IGNvbG9fb3BzOwogICAgIGNkcy0+ Y2FsbGJhY2sgPSBjb2xvX3NhdmVfc2V0dXBfZG9uZTsKICAgICBjZHMtPmFvID0gYW87CiAgICAg Y2RzLT5kb21pZCA9IGRzcy0+ZG9taWQ7CiAgICAgY2RzLT5jb25jcmV0ZV9kYXRhID0gY3NzOwog CisgICAgLyogSWYgZW5hYmxlIHVzZXJzcGFjZSBwcm94eSBtb2RlLCB3ZSBkb24ndCBuZWVkIFZJ RiAqLworICAgIGlmIChjc3MtPmNwcy5pc191c2Vyc3BhY2VfcHJveHkpIHsKKyAgICAgICAgY2Rz LT5kZXZpY2Vfa2luZF9mbGFncyA9ICgxIDw8IExJQlhMX19ERVZJQ0VfS0lORF9WQkQpOworCisg ICAgICAgIC8qIFVzZSB0aGlzIGFyZ3Mgd2UgY2FuIGNvbm5lY3QgdG8gcWVtdSBjb2xvLWNvbXBh cmUgKi8KKyAgICAgICAgbmljcyA9IGxpYnhsX2RldmljZV9uaWNfbGlzdChDVFgsIGNkcy0+ZG9t aWQsICZjZHMtPm51bV9uaWNzKTsKKyAgICAgICAgY3NzLT5jcHMuY2hlY2twb2ludF9ob3N0ID0g bmljcy0+Y29sb19jaGVja3BvaW50X2hvc3Q7CisgICAgICAgIGNzcy0+Y3BzLmNoZWNrcG9pbnRf cG9ydCA9IG5pY3MtPmNvbG9fY2hlY2twb2ludF9wb3J0OworICAgIH0gZWxzZSB7CisgICAgICAg IGNkcy0+ZGV2aWNlX2tpbmRfZmxhZ3MgPSAoMSA8PCBMSUJYTF9fREVWSUNFX0tJTkRfVklGKSB8 CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCBMSUJYTF9fREVWSUNFX0tJ TkRfVkJEKTsKKyAgICB9CisKICAgICBjc3MtPnNycy5hbyA9IGFvOwogICAgIGNzcy0+c3JzLmZk ID0gY3NzLT5yZWN2X2ZkOwogICAgIGNzcy0+c3JzLmJhY2tfY2hhbm5lbCA9IHRydWU7CiAgICAg bGlieGxfX3N0cmVhbV9yZWFkX3N0YXJ0KGVnYywgJmNzcy0+c3JzKTsKICAgICBjc3MtPmNwcy5h byA9IGFvOworCiAgICAgaWYgKGNvbG9fcHJveHlfc2V0dXAoJmNzcy0+Y3BzKSkgewogICAgICAg ICBMT0dEKEVSUk9SLCBjZHMtPmRvbWlkLCAiQ09MTzogZmFpbGVkIHRvIHNldHVwIGNvbG8gcHJv eHkgZm9yIGd1ZXN0Iik7CiAgICAgICAgIGdvdG8gb3V0OwpkaWZmIC0tZ2l0IGEvdG9vbHMvbGli eGwvbGlieGxfbmljLmMgYi90b29scy9saWJ4bC9saWJ4bF9uaWMuYwppbmRleCA1ZTFmZWNkLi42 YmM2MTQ2IDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9uaWMuYworKysgYi90b29scy9s aWJ4bC9saWJ4bF9uaWMuYwpAQCAtMjQ2LDYgKzI0Niw4IEBAIHN0YXRpYyB2b2lkIGxpYnhsX19k ZXZpY2VfbmljX2FkZChsaWJ4bF9fZWdjICplZ2MsIHVpbnQzMl90IGRvbWlkLAogICAgIE1BWUJF X0FERF9DT0xPX0FSR1MoZmlsdGVyX3NlY19yZWRpcmVjdG9yMV9pbmRldik7CiAgICAgTUFZQkVf QUREX0NPTE9fQVJHUyhmaWx0ZXJfc2VjX3JlZGlyZWN0b3IxX291dGRldik7CiAgICAgTUFZQkVf QUREX0NPTE9fQVJHUyhmaWx0ZXJfc2VjX3Jld3JpdGVyMF9xdWV1ZSk7CisgICAgTUFZQkVfQURE X0NPTE9fQVJHUyhjaGVja3BvaW50X2hvc3QpOworICAgIE1BWUJFX0FERF9DT0xPX0FSR1MoY2hl Y2twb2ludF9wb3J0KTsKIAogI3VuZGVmIE1BWUJFX0FERF9DT0xPX0FSR1MKIApAQCAtNDUxLDYg KzQ1Myw4IEBAIHN0YXRpYyBpbnQgbGlieGxfX2RldmljZV9uaWNfZnJvbV94ZW5zdG9yZShsaWJ4 bF9fZ2MgKmdjLAogICAgIENIRUNLX0NPTE9fQVJHUyhmaWx0ZXJfc2VjX3JlZGlyZWN0b3IxX2lu ZGV2KTsKICAgICBDSEVDS19DT0xPX0FSR1MoZmlsdGVyX3NlY19yZWRpcmVjdG9yMV9vdXRkZXYp OwogICAgIENIRUNLX0NPTE9fQVJHUyhmaWx0ZXJfc2VjX3Jld3JpdGVyMF9xdWV1ZSk7CisgICAg Q0hFQ0tfQ09MT19BUkdTKGNoZWNrcG9pbnRfaG9zdCk7CisgICAgQ0hFQ0tfQ09MT19BUkdTKGNo ZWNrcG9pbnRfcG9ydCk7CiAKICN1bmRlZiBDSEVDS19DT0xPX0FSR1MKIApkaWZmIC0tZ2l0IGEv dG9vbHMvbGlieGwvbGlieGxfdHlwZXMuaWRsIGIvdG9vbHMvbGlieGwvbGlieGxfdHlwZXMuaWRs CmluZGV4IDQ3ZTk2YjEuLjBiNDEyZWUgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX3R5 cGVzLmlkbAorKysgYi90b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwKQEAgLTY3MSw3ICs2NzEs OSBAQCBsaWJ4bF9kZXZpY2VfbmljID0gU3RydWN0KCJkZXZpY2VfbmljIiwgWwogICAgICgiY29s b19maWx0ZXJfc2VjX3JlZGlyZWN0b3IxX3F1ZXVlIiwgc3RyaW5nKSwKICAgICAoImNvbG9fZmls dGVyX3NlY19yZWRpcmVjdG9yMV9pbmRldiIsIHN0cmluZyksCiAgICAgKCJjb2xvX2ZpbHRlcl9z ZWNfcmVkaXJlY3RvcjFfb3V0ZGV2Iiwgc3RyaW5nKSwKLSAgICAoImNvbG9fZmlsdGVyX3NlY19y ZXdyaXRlcjBfcXVldWUiLCBzdHJpbmcpCisgICAgKCJjb2xvX2ZpbHRlcl9zZWNfcmV3cml0ZXIw X3F1ZXVlIiwgc3RyaW5nKSwKKyAgICAoImNvbG9fY2hlY2twb2ludF9ob3N0Iiwgc3RyaW5nKSwK KyAgICAoImNvbG9fY2hlY2twb2ludF9wb3J0Iiwgc3RyaW5nKQogICAgIF0pCiAKIGxpYnhsX2Rl dmljZV9wY2kgPSBTdHJ1Y3QoImRldmljZV9wY2kiLCBbCmRpZmYgLS1naXQgYS90b29scy9saWJ4 bC94bF9jbWRpbXBsLmMgYi90b29scy9saWJ4bC94bF9jbWRpbXBsLmMKaW5kZXggMzJhNDdmNi4u YWQ1ZTE5MyAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwveGxfY21kaW1wbC5jCisrKyBiL3Rvb2xz L2xpYnhsL3hsX2NtZGltcGwuYwpAQCAtMTE0NSw2ICsxMTQ1LDEwIEBAIHN0YXRpYyBpbnQgcGFy c2VfbmljX2NvbmZpZyhsaWJ4bF9kZXZpY2VfbmljICpuaWMsIFhMVV9Db25maWcgKipjb25maWcs IGNoYXIgKnRvCiAgICAgICAgIHJlcGxhY2Vfc3RyaW5nKCZuaWMtPmNvbG9fZmlsdGVyX3NlY19y ZWRpcmVjdG9yMV9vdXRkZXYsIG9wYXJnKTsKICAgICB9IGVsc2UgaWYgKE1BVENIX09QVElPTigi Y29sb19maWx0ZXJfc2VjX3Jld3JpdGVyMF9xdWV1ZSIsIHRva2VuLCBvcGFyZykpIHsKICAgICAg ICAgcmVwbGFjZV9zdHJpbmcoJm5pYy0+Y29sb19maWx0ZXJfc2VjX3Jld3JpdGVyMF9xdWV1ZSwg b3BhcmcpOworICAgIH0gZWxzZSBpZiAoTUFUQ0hfT1BUSU9OKCJjb2xvX2NoZWNrcG9pbnRfaG9z dCIsIHRva2VuLCBvcGFyZykpIHsKKyAgICAgICAgcmVwbGFjZV9zdHJpbmcoJm5pYy0+Y29sb19j aGVja3BvaW50X2hvc3QsIG9wYXJnKTsKKyAgICB9IGVsc2UgaWYgKE1BVENIX09QVElPTigiY29s b19jaGVja3BvaW50X3BvcnQiLCB0b2tlbiwgb3BhcmcpKSB7CisgICAgICAgIHJlcGxhY2Vfc3Ry aW5nKCZuaWMtPmNvbG9fY2hlY2twb2ludF9wb3J0LCBvcGFyZyk7CiAgICAgfSBlbHNlIGlmIChN QVRDSF9PUFRJT04oImFjY2VsIiwgdG9rZW4sIG9wYXJnKSkgewogICAgICAgICBmcHJpbnRmKHN0 ZGVyciwgInRoZSBhY2NlbCBwYXJhbWV0ZXIgZm9yIHZpZnMgaXMgY3VycmVudGx5IG5vdCBzdXBw b3J0ZWRcbiIpOwogICAgIH0gZWxzZSB7Ci0tIAoyLjcuNAoKCgoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4t ZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==