From mboxrd@z Thu Jan 1 00:00:00 1970 From: Zhang Chen Subject: [PATCH V4 7/8] COLO-Proxy: Use socket to get checkpoint event. Date: Mon, 6 Mar 2017 10:59:25 +0800 Message-ID: <1488769166-28738-8-git-send-email-zhangchen.fnst@cn.fujitsu.com> References: <1488769166-28738-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 1ckitQ-0006bh-Df for xen-devel@lists.xenproject.org; Mon, 06 Mar 2017 03:01:00 +0000 In-Reply-To: <1488769166-28738-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 dong , Yang Hongyang , Bian Naimeng List-Id: xen-devel@lists.xenproject.org V2UgdXNlIGtlcm5lbCBjb2xvIHByb3h5J3Mgd2F5IHRvIGdldCB0aGUgY2hlY2twb2ludCBldmVu dApmcm9tIHFlbXUgY29sby1jb21wYXJlLgpRZW11IGNvbG8tY29tcGFyZSBuZWVkIGFkZCBhIEFQ SSB0byBzdXBwb3J0IHRoaXMoSSB3aWxsIGFkZCB0aGlzIGluIHFlbXUpLgpRZW11IHNpZGUgcGF0 Y2g6CiBodHRwczovL2xpc3RzLm5vbmdudS5vcmcvYXJjaGl2ZS9odG1sL3FlbXUtZGV2ZWwvMjAx Ny0wMi9tc2cwNzI2NS5odG1sCgpTaWduZWQtb2ZmLWJ5OiBaaGFuZyBDaGVuIDx6aGFuZ2NoZW4u Zm5zdEBjbi5mdWppdHN1LmNvbT4KLS0tCiB0b29scy9saWJ4bC9saWJ4bF9jb2xvLmggICAgICAg ICB8ICAgMiArCiB0b29scy9saWJ4bC9saWJ4bF9jb2xvX3Byb3h5LmMgICB8IDEyNiArKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0KIHRvb2xzL2xpYnhsL2xpYnhsX2NvbG9f cmVzdG9yZS5jIHwgIDExICsrLS0KIHRvb2xzL2xpYnhsL2xpYnhsX2NvbG9fc2F2ZS5jICAgIHwg IDIxICsrKystLS0KIHRvb2xzL2xpYnhsL2xpYnhsX25pYy5jICAgICAgICAgIHwgICA0ICsrCiB0 b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwgICAgICB8ICAgNCArLQogdG9vbHMveGwveGxfcGFy c2UuYyAgICAgICAgICAgICAgfCAgIDQgKysKIDcgZmlsZXMgY2hhbmdlZCwgMTU2IGluc2VydGlv bnMoKyksIDE2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2Nv bG8uaCBiL3Rvb2xzL2xpYnhsL2xpYnhsX2NvbG8uaAppbmRleCA0NzQ2ZDhjLi42YzAxYjU1IDEw MDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9jb2xvLmgKKysrIGIvdG9vbHMvbGlieGwvbGli eGxfY29sby5oCkBAIC02OSw2ICs2OSw4IEBAIHN0cnVjdCBsaWJ4bF9fY29sb19wcm94eV9zdGF0 ZSB7CiAgICAgICogICAgICAgICAgRmFsc2UgbWVhbnMgdXNlIGtlcm5lbCBjb2xvIHByb3h5Lgog ICAgICAqLwogICAgIGJvb2wgaXNfdXNlcnNwYWNlX3Byb3h5OworICAgIGNvbnN0IGNoYXIgKmNo ZWNrcG9pbnRfaG9zdDsKKyAgICBjb25zdCBjaGFyICpjaGVja3BvaW50X3BvcnQ7CiB9OwogCiBz dHJ1Y3QgbGlieGxfX2NvbG9fc2F2ZV9zdGF0ZSB7CmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9s aWJ4bF9jb2xvX3Byb3h5LmMgYi90b29scy9saWJ4bC9saWJ4bF9jb2xvX3Byb3h5LmMKaW5kZXgg ZWM3NmUzNy4uYzNkNTUxMCAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfY29sb19wcm94 eS5jCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2NvbG9fcHJveHkuYwpAQCAtMTgsOSArMTgsMTMg QEAKICNpbmNsdWRlICJsaWJ4bF9pbnRlcm5hbC5oIgogCiAjaW5jbHVkZSA8bmV0bGluay9uZXRs aW5rLmg+CisjaW5jbHVkZSA8YXJwYS9pbmV0Lmg+CisjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgor I2luY2x1ZGUgPG5ldGluZXQvaW4uaD4KIAogLyogQ29uc2lzdGVudCB3aXRoIHRoZSBuZXcgQ09M TyBuZXRsaW5rIGNoYW5uZWwgaW4ga2VybmVsIHNpZGUgKi8KICNkZWZpbmUgTkVUTElOS19DT0xP IDI4CisjZGVmaW5lIENPTE9fREVGQVVMVF9XQUlUX1RJTUUgNTAwMDAwCiAKIGVudW0gY29sb19u ZXRsaW5rX29wIHsKICAgICBDT0xPX1FVRVJZX0NIRUNLUE9JTlQgPSAoTkxNU0dfTUlOX1RZUEUg KyAxKSwKQEAgLTc2LDYgKzgwLDYzIEBAIHN0YXRpYyBpbnQgY29sb19wcm94eV9zZW5kKGxpYnhs X19jb2xvX3Byb3h5X3N0YXRlICpjcHMsIHVpbnQ4X3QgKmJ1ZmYsCiAgICAgcmV0dXJuIHJldDsK IH0KIAorc3RhdGljIGludCBjb2xvX3VzZXJzcGFjZV9wcm94eV9zZW5kKGxpYnhsX19jb2xvX3By b3h5X3N0YXRlICpjcHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu dDhfdCAqYnVmZiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJf dCBzaXplKQoreworICAgIGludCByZXQgPSAwOworICAgIHVpbnQzMl90IGxlbiA9IDA7CisKKyAg ICBsZW4gPSBodG9ubChzaXplKTsKKyAgICByZXQgPSBzZW5kKGNwcy0+c29ja19mZCwgKHVpbnQ4 X3QgKikmbGVuLCBzaXplb2YobGVuKSwgMCk7CisgICAgaWYgKHJldCAhPSBzaXplb2YobGVuKSkg eworICAgICAgICBnb3RvIGVycjsKKyAgICB9CisKKyAgICByZXQgPSBzZW5kKGNwcy0+c29ja19m ZCwgKHVpbnQ4X3QgKilidWZmLCBzaXplLCAwKTsKKyAgICBpZiAocmV0ICE9IHNpemUpIHsKKyAg ICAgICAgZ290byBlcnI7CisgICAgfQorCitlcnI6CisgICAgcmV0dXJuIHJldDsKK30KKworc3Rh dGljIGludCBjb2xvX3VzZXJzcGFjZV9wcm94eV9yZWN2KGxpYnhsX19jb2xvX3Byb3h5X3N0YXRl ICpjcHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqYnVmZiwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgdGltZW91 dF91cykKK3sKKyAgICBzdHJ1Y3QgdGltZXZhbCB0djsKKyAgICBpbnQgcmV0OworICAgIHVpbnQz Ml90IGxlbiA9IDA7CisgICAgdWludDMyX3Qgc2l6ZSA9IDA7CisKKyAgICBTVEFURV9BT19HQyhj cHMtPmFvKTsKKworICAgIGlmICh0aW1lb3V0X3VzKSB7CisgICAgICAgIHR2LnR2X3NlYyA9IHRp bWVvdXRfdXMgLyAxMDAwMDAwOworICAgICAgICB0di50dl91c2VjID0gdGltZW91dF91cyAlIDEw MDAwMDA7CisgICAgICAgIHJldCA9IHNldHNvY2tvcHQoY3BzLT5zb2NrX2ZkLCBTT0xfU09DS0VU LCBTT19SQ1ZUSU1FTywgJnR2LAorICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZih0dikp OworICAgICAgICBpZiAocmV0IDwgMCkgeworICAgICAgICAgICAgTE9HRChFUlJPUiwgYW8tPmRv bWlkLAorICAgICAgICAgICAgICAgICAiY29sb191c2Vyc3BhY2VfcHJveHlfcmVjdiBzZXRzb2Nr b3B0IGVycm9yOiAlcyIsCisgICAgICAgICAgICAgICAgIHN0cmVycm9yKGVycm5vKSk7CisgICAg ICAgIH0KKyAgICB9CisKKyAgICByZXQgPSByZWN2KGNwcy0+c29ja19mZCwgKHVpbnQ4X3QgKikm bGVuLCBzaXplb2YobGVuKSwgMCk7CisgICAgaWYgKHJldCA8IDApIHsKKyAgICAgICAgZ290byBl cnI7CisgICAgfQorCisgICAgc2l6ZSA9IG50b2hsKGxlbik7CisgICAgcmV0ID0gcmVjdihjcHMt PnNvY2tfZmQsIGJ1ZmYsIHNpemUsIDApOworCitlcnI6CisgICAgcmV0dXJuIHJldDsKK30KKwog LyogZXJyb3I6IHJldHVybiAtMSwgb3RoZXJ3aXNlIHJldHVybiAwICovCiBzdGF0aWMgaW50NjRf dCBjb2xvX3Byb3h5X3JlY3YobGlieGxfX2NvbG9fcHJveHlfc3RhdGUgKmNwcywgdWludDhfdCAq KmJ1ZmYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IHRpbWVv dXRfdXMpCkBAIC0xNTMsOCArMjE0LDQ1IEBAIGludCBjb2xvX3Byb3h5X3NldHVwKGxpYnhsX19j b2xvX3Byb3h5X3N0YXRlICpjcHMpCiAgICAgU1RBVEVfQU9fR0MoY3BzLT5hbyk7CiAKICAgICAv KiBJZiBlbmFibGUgdXNlcnNwYWNlIHByb3h5IG1vZGUsIHdlIGRvbid0IG5lZWQgc2V0dXAga2Vy bmVsIHByb3h5ICovCi0gICAgaWYgKGNwcy0+aXNfdXNlcnNwYWNlX3Byb3h5KQorICAgIGlmIChj cHMtPmlzX3VzZXJzcGFjZV9wcm94eSkgeworICAgICAgICBzdHJ1Y3Qgc29ja2FkZHJfaW4gYWRk cjsKKyAgICAgICAgaW50IHBvcnQ7CisgICAgICAgIGNoYXIgcmVjdmJ1ZmZbMTAyNF07CisgICAg ICAgIGNvbnN0IGNoYXIgc2VuZGJ1ZltdID0gIkNPTE9fVVNFUlNQQUNFX1BST1hZX0lOSVQiOwor CisgICAgICAgIG1lbXNldCgmYWRkciwgMCwgc2l6ZW9mKGFkZHIpKTsKKyAgICAgICAgcG9ydCA9 IGF0b2koY3BzLT5jaGVja3BvaW50X3BvcnQpOworICAgICAgICBhZGRyLnNpbl9mYW1pbHkgPSBB Rl9JTkVUOworICAgICAgICBhZGRyLnNpbl9wb3J0ID0gaHRvbnMocG9ydCk7CisgICAgICAgIGFk ZHIuc2luX2FkZHIuc19hZGRyID0gaW5ldF9hZGRyKGNwcy0+Y2hlY2twb2ludF9ob3N0KTsKKwor ICAgICAgICBza2ZkID0gc29ja2V0KEFGX0lORVQsIFNPQ0tfU1RSRUFNLCAwKTsKKyAgICAgICAg aWYgKHNrZmQgPCAwKSB7CisgICAgICAgICAgICBMT0dEKEVSUk9SLCBhby0+ZG9taWQsICJjYW4g bm90IGNyZWF0ZSBhIFRDUCBzb2NrZXQ6ICVzIiwKKyAgICAgICAgICAgICAgICAgc3RyZXJyb3Io ZXJybm8pKTsKKyAgICAgICAgICAgIGdvdG8gb3V0OworICAgICAgICB9CisKKyAgICAgICAgY3Bz LT5zb2NrX2ZkID0gc2tmZDsKKworICAgICAgICBpZiAoY29ubmVjdChza2ZkLCAoc3RydWN0IHNv Y2thZGRyICopJmFkZHIsIHNpemVvZihhZGRyKSkgPCAwKSB7CisgICAgICAgICAgICBMT0dEKEVS Uk9SLCBhby0+ZG9taWQsICJjb25uZWN0IGVycm9yIik7CisgICAgICAgICAgICBnb3RvIG91dDsK KyAgICAgICAgfQorCisgICAgICAgIHJldCA9IGNvbG9fdXNlcnNwYWNlX3Byb3h5X3NlbmQoY3Bz LCAodWludDhfdCAqKXNlbmRidWYsIHN0cmxlbihzZW5kYnVmKSk7CisgICAgICAgIGlmIChyZXQg PCAwKQorICAgICAgICAgICAgZ290byBvdXQ7CisKKyAgICAgICAgcmV0ID0gY29sb191c2Vyc3Bh Y2VfcHJveHlfcmVjdihjcHMsIHJlY3ZidWZmLCBDT0xPX0RFRkFVTFRfV0FJVF9USU1FKTsKKyAg ICAgICAgaWYgKHJldCA8IDApIHsKKyAgICAgICAgICAgIExPR0QoRVJST1IsIGFvLT5kb21pZCwg IkNhbid0IHJlY3YgbXNnIGZyb20gcWVtdSBjb2xvLWNvbXBhcmU6ICVzIiwKKyAgICAgICAgICAg ICAgICAgc3RyZXJyb3IoZXJybm8pKTsKKyAgICAgICAgICAgIGdvdG8gb3V0OworICAgICAgICB9 CisKICAgICAgICAgcmV0dXJuIDA7CisgICAgfQogCiAgICAgc2tmZCA9IHNvY2tldChQRl9ORVRM SU5LLCBTT0NLX1JBVywgTkVUTElOS19DT0xPKTsKICAgICBpZiAoc2tmZCA8IDApIHsKQEAgLTI0 Nyw4ICszNDUsMTMgQEAgdm9pZCBjb2xvX3Byb3h5X3ByZXJlc3VtZShsaWJ4bF9fY29sb19wcm94 eV9zdGF0ZSAqY3BzKQogICAgICAqIElmIGVuYWJsZSB1c2Vyc3BhY2UgcHJveHkgbW9kZSwKICAg ICAgKiB3ZSBkb24ndCBuZWVkIHByZXJlc3VtZSBrZXJuZWwgcHJveHkKICAgICAgKi8KLSAgICBp ZiAoY3BzLT5pc191c2Vyc3BhY2VfcHJveHkpCisgICAgaWYgKGNwcy0+aXNfdXNlcnNwYWNlX3By b3h5KSB7CisgICAgICAgIGNvbnN0IGNoYXIgc2VuZGJ1ZltdID0gIkNPTE9fQ0hFQ0tQT0lOVCI7 CisgICAgICAgIGNvbG9fdXNlcnNwYWNlX3Byb3h5X3NlbmQoY3BzLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICh1aW50OF90ICopc2VuZGJ1ZiwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzdHJsZW4oc2VuZGJ1ZikpOwogICAgICAgICByZXR1cm47CisgICAg fQogCiAgICAgY29sb19wcm94eV9zZW5kKGNwcywgTlVMTCwgMCwgQ09MT19DSEVDS1BPSU5UKTsK ICAgICAvKiBUT0RPOiBuZWVkIHRvIGhhbmRsZSBpZiB0aGUgY2FsbCBmYWlscy4uLiAqLwpAQCAt Mjc3LDYgKzM4MCw3IEBAIGludCBjb2xvX3Byb3h5X2NoZWNrcG9pbnQobGlieGxfX2NvbG9fcHJv eHlfc3RhdGUgKmNwcywKICAgICBzdHJ1Y3Qgbmxtc2doZHIgKmg7CiAgICAgc3RydWN0IGNvbG9f bXNnICptOwogICAgIGludCByZXQgPSAtMTsKKyAgICBjaGFyIHJlY3ZidWZmWzEwMjRdOwogCiAg ICAgU1RBVEVfQU9fR0MoY3BzLT5hbyk7CiAKQEAgLTI4OSw4ICszOTMsMTkgQEAgaW50IGNvbG9f cHJveHlfY2hlY2twb2ludChsaWJ4bF9fY29sb19wcm94eV9zdGF0ZSAqY3BzLAogICAgICAqIGV2 ZW50LgogICAgICAqLwogICAgIGlmIChjcHMtPmlzX3VzZXJzcGFjZV9wcm94eSkgewotICAgICAg ICB1c2xlZXAodGltZW91dF91cyk7Ci0gICAgICAgIHJldHVybiAwOworICAgICAgICByZXQgPSBj b2xvX3VzZXJzcGFjZV9wcm94eV9yZWN2KGNwcywgcmVjdmJ1ZmYsIHRpbWVvdXRfdXMpOworICAg ICAgICBpZiAocmV0IDw9IDApIHsKKyAgICAgICAgICAgIHJldCA9IDA7CisgICAgICAgICAgICBn b3RvIG91dDE7CisgICAgICAgIH0KKworICAgICAgICBpZiAoIXN0cmNtcChyZWN2YnVmZiwgIkRP X0NIRUNLUE9JTlQiKSkgeworICAgICAgICAgICAgcmV0ID0gMTsKKyAgICAgICAgfSBlbHNlIHsK KyAgICAgICAgICAgIExPR0QoRVJST1IsIGFvLT5kb21pZCwgInJlY2VpdmUgcWVtdSBjb2xvLWNv bXBhcmUgY2hlY2twb2ludCBlcnJvciIpOworICAgICAgICAgICAgcmV0ID0gMDsKKyAgICAgICAg fQorICAgICAgICBnb3RvIG91dDE7CiAgICAgfQogCiAgICAgc2l6ZSA9IGNvbG9fcHJveHlfcmVj dihjcHMsICZidWZmLCB0aW1lb3V0X3VzKTsKQEAgLTMxOCw0ICs0MzMsNyBAQCBpbnQgY29sb19w cm94eV9jaGVja3BvaW50KGxpYnhsX19jb2xvX3Byb3h5X3N0YXRlICpjcHMsCiBvdXQ6CiAgICAg ZnJlZShidWZmKTsKICAgICByZXR1cm4gcmV0OworCitvdXQxOgorICAgIHJldHVybiByZXQ7CiB9 CmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9jb2xvX3Jlc3RvcmUuYyBiL3Rvb2xzL2xp YnhsL2xpYnhsX2NvbG9fcmVzdG9yZS5jCmluZGV4IGM2ZDIzOWEuLjA2NWVhMDAgMTAwNjQ0Ci0t LSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2NvbG9fcmVzdG9yZS5jCisrKyBiL3Rvb2xzL2xpYnhsL2xp YnhsX2NvbG9fcmVzdG9yZS5jCkBAIC02MTMsNyArNjEzLDggQEAgc3RhdGljIHZvaWQgY29sb19y ZXN0b3JlX3ByZXJlc3VtZV9jYihsaWJ4bF9fZWdjICplZ2MsCiAgICAgICAgIH0KICAgICB9CiAK LSAgICBjb2xvX3Byb3h5X3ByZXJlc3VtZSgmY3JzLT5jcHMpOworICAgIGlmICghY3JzLT5jcHMu aXNfdXNlcnNwYWNlX3Byb3h5KQorICAgICAgICBjb2xvX3Byb3h5X3ByZXJlc3VtZSgmY3JzLT5j cHMpOwogCiAgICAgY29sb19yZXN0b3JlX3Jlc3VtZV92bShlZ2MsIGNyY3MpOwogCkBAIC03ODYs OSArNzg3LDExIEBAIHN0YXRpYyB2b2lkIGNvbG9fc2V0dXBfY2hlY2twb2ludF9kZXZpY2VzKGxp YnhsX19lZ2MgKmVnYywKICAgICBjZHMtPm9wcyA9IGNvbG9fcmVzdG9yZV9vcHM7CiAKICAgICBj cnMtPmNwcy5hbyA9IGFvOwotICAgIGlmIChjb2xvX3Byb3h5X3NldHVwKCZjcnMtPmNwcykpIHsK LSAgICAgICAgTE9HRChFUlJPUiwgY2RzLT5kb21pZCwgIkNPTE86IGZhaWxlZCB0byBzZXR1cCBj b2xvIHByb3h5IGZvciBndWVzdCIpOwotICAgICAgICBnb3RvIG91dDsKKyAgICBpZiAoIWNycy0+ Y3BzLmlzX3VzZXJzcGFjZV9wcm94eSkgeworICAgICAgICBpZiAoY29sb19wcm94eV9zZXR1cCgm Y3JzLT5jcHMpKSB7CisgICAgICAgICAgICBMT0dEKEVSUk9SLCBjZHMtPmRvbWlkLCAiQ09MTzog ZmFpbGVkIHRvIHNldHVwIGNvbG8gcHJveHkgZm9yIGd1ZXN0Iik7CisgICAgICAgICAgICBnb3Rv IG91dDsKKyAgICAgICAgfQogICAgIH0KIAogICAgIGlmIChpbml0X2RldmljZV9zdWJraW5kKGNk cykpCmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9jb2xvX3NhdmUuYyBiL3Rvb2xzL2xp YnhsL2xpYnhsX2NvbG9fc2F2ZS5jCmluZGV4IDkxZTNmY2UuLmI0Y2E5ZjYgMTAwNjQ0Ci0tLSBh L3Rvb2xzL2xpYnhsL2xpYnhsX2NvbG9fc2F2ZS5jCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2Nv bG9fc2F2ZS5jCkBAIC04Niw2ICs4Niw3IEBAIHZvaWQgbGlieGxfX2NvbG9fc2F2ZV9zZXR1cChs aWJ4bF9fZWdjICplZ2MsIGxpYnhsX19jb2xvX3NhdmVfc3RhdGUgKmNzcykKICAgICBsaWJ4bF9f Y2hlY2twb2ludF9kZXZpY2VzX3N0YXRlICpjb25zdCBjZHMgPSAmZHNzLT5jZHM7CiAgICAgbGli eGxfX3NybV9zYXZlX2F1dG9nZW5fY2FsbGJhY2tzICpjb25zdCBjYWxsYmFja3MgPQogICAgICAg ICAmZHNzLT5zd3Muc2hzLmNhbGxiYWNrcy5zYXZlLmE7CisgICAgbGlieGxfZGV2aWNlX25pYyAq bmljczsKIAogICAgIFNUQVRFX0FPX0dDKGRzcy0+YW8pOwogCkBAIC0xMTAsMTkgKzExMSwyNSBA QCB2b2lkIGxpYnhsX19jb2xvX3NhdmVfc2V0dXAobGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fY29s b19zYXZlX3N0YXRlICpjc3MpCiAgICAgICAgIGNzcy0+Y29sb19wcm94eV9zY3JpcHQgPSBHQ1NQ UklOVEYoIiVzL2NvbG8tcHJveHktc2V0dXAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGxpYnhsX194ZW5fc2NyaXB0X2Rpcl9wYXRoKCkpOwogCi0gICAgLyog SWYgZW5hYmxlIHVzZXJzcGFjZSBwcm94eSBtb2RlLCB3ZSBkb24ndCBuZWVkIFZJRiAqLwotICAg IGlmIChjc3MtPmNwcy5pc191c2Vyc3BhY2VfcHJveHkpCi0gICAgICAgIGNkcy0+ZGV2aWNlX2tp bmRfZmxhZ3MgPSAoMSA8PCBMSUJYTF9fREVWSUNFX0tJTkRfVkJEKTsKLSAgICBlbHNlCi0gICAg ICAgIGNkcy0+ZGV2aWNlX2tpbmRfZmxhZ3MgPSAoMSA8PCBMSUJYTF9fREVWSUNFX0tJTkRfVklG KSB8Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMSA8PCBMSUJYTF9fREVWSUNF X0tJTkRfVkJEKTsKLQogICAgIGNkcy0+b3BzID0gY29sb19vcHM7CiAgICAgY2RzLT5jYWxsYmFj ayA9IGNvbG9fc2F2ZV9zZXR1cF9kb25lOwogICAgIGNkcy0+YW8gPSBhbzsKICAgICBjZHMtPmRv bWlkID0gZHNzLT5kb21pZDsKICAgICBjZHMtPmNvbmNyZXRlX2RhdGEgPSBjc3M7CiAKKyAgICAv KiBJZiBlbmFibGUgdXNlcnNwYWNlIHByb3h5IG1vZGUsIHdlIGRvbid0IG5lZWQgVklGICovCisg ICAgaWYgKGNzcy0+Y3BzLmlzX3VzZXJzcGFjZV9wcm94eSkgeworICAgICAgICBjZHMtPmRldmlj ZV9raW5kX2ZsYWdzID0gKDEgPDwgTElCWExfX0RFVklDRV9LSU5EX1ZCRCk7CisKKyAgICAgICAg LyogVXNlIHRoaXMgYXJncyB3ZSBjYW4gY29ubmVjdCB0byBxZW11IGNvbG8tY29tcGFyZSAqLwor ICAgICAgICBuaWNzID0gbGlieGxfZGV2aWNlX25pY19saXN0KENUWCwgY2RzLT5kb21pZCwgJmNk cy0+bnVtX25pY3MpOworICAgICAgICBjc3MtPmNwcy5jaGVja3BvaW50X2hvc3QgPSBuaWNzLT5j b2xvX2NoZWNrcG9pbnRfaG9zdDsKKyAgICAgICAgY3NzLT5jcHMuY2hlY2twb2ludF9wb3J0ID0g bmljcy0+Y29sb19jaGVja3BvaW50X3BvcnQ7CisgICAgfSBlbHNlIHsKKyAgICAgICAgY2RzLT5k ZXZpY2Vfa2luZF9mbGFncyA9ICgxIDw8IExJQlhMX19ERVZJQ0VfS0lORF9WSUYpIHwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxIDw8IExJQlhMX19ERVZJQ0VfS0lORF9WQkQp OworICAgIH0KKwogICAgIGNzcy0+c3JzLmFvID0gYW87CiAgICAgY3NzLT5zcnMuZmQgPSBjc3Mt PnJlY3ZfZmQ7CiAgICAgY3NzLT5zcnMuYmFja19jaGFubmVsID0gdHJ1ZTsKZGlmZiAtLWdpdCBh L3Rvb2xzL2xpYnhsL2xpYnhsX25pYy5jIGIvdG9vbHMvbGlieGwvbGlieGxfbmljLmMKaW5kZXgg MzM5NTRhMi4uNGI2ZThjMCAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfbmljLmMKKysr IGIvdG9vbHMvbGlieGwvbGlieGxfbmljLmMKQEAgLTI1MCw2ICsyNTAsOCBAQCBzdGF0aWMgdm9p ZCBsaWJ4bF9fZGV2aWNlX25pY19hZGQobGlieGxfX2VnYyAqZWdjLCB1aW50MzJfdCBkb21pZCwK ICAgICBNQVlCRV9BRERfQ09MT19BUkdTKGZpbHRlcl9zZWNfcmVkaXJlY3RvcjFfaW5kZXYpOwog ICAgIE1BWUJFX0FERF9DT0xPX0FSR1MoZmlsdGVyX3NlY19yZWRpcmVjdG9yMV9vdXRkZXYpOwog ICAgIE1BWUJFX0FERF9DT0xPX0FSR1MoZmlsdGVyX3NlY19yZXdyaXRlcjBfcXVldWUpOworICAg IE1BWUJFX0FERF9DT0xPX0FSR1MoY2hlY2twb2ludF9ob3N0KTsKKyAgICBNQVlCRV9BRERfQ09M T19BUkdTKGNoZWNrcG9pbnRfcG9ydCk7CiAKICN1bmRlZiBNQVlCRV9BRERfQ09MT19BUkdTCiAK QEAgLTQ1OSw2ICs0NjEsOCBAQCBzdGF0aWMgaW50IGxpYnhsX19kZXZpY2VfbmljX2Zyb21feGVu c3RvcmUobGlieGxfX2djICpnYywKICAgICBDSEVDS19DT0xPX0FSR1MoZmlsdGVyX3NlY19yZWRp cmVjdG9yMV9pbmRldik7CiAgICAgQ0hFQ0tfQ09MT19BUkdTKGZpbHRlcl9zZWNfcmVkaXJlY3Rv cjFfb3V0ZGV2KTsKICAgICBDSEVDS19DT0xPX0FSR1MoZmlsdGVyX3NlY19yZXdyaXRlcjBfcXVl dWUpOworICAgIENIRUNLX0NPTE9fQVJHUyhjaGVja3BvaW50X2hvc3QpOworICAgIENIRUNLX0NP TE9fQVJHUyhjaGVja3BvaW50X3BvcnQpOwogCiAjdW5kZWYgQ0hFQ0tfQ09MT19BUkdTCiAKZGlm ZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX3R5cGVzLmlkbCBiL3Rvb2xzL2xpYnhsL2xpYnhs X3R5cGVzLmlkbAppbmRleCA1MTZiZDc5Li42ZDI4ZGVhIDEwMDY0NAotLS0gYS90b29scy9saWJ4 bC9saWJ4bF90eXBlcy5pZGwKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfdHlwZXMuaWRsCkBAIC02 NzUsNyArNjc1LDkgQEAgbGlieGxfZGV2aWNlX25pYyA9IFN0cnVjdCgiZGV2aWNlX25pYyIsIFsK ICAgICAoImNvbG9fZmlsdGVyX3NlY19yZWRpcmVjdG9yMV9xdWV1ZSIsIHN0cmluZyksCiAgICAg KCJjb2xvX2ZpbHRlcl9zZWNfcmVkaXJlY3RvcjFfaW5kZXYiLCBzdHJpbmcpLAogICAgICgiY29s b19maWx0ZXJfc2VjX3JlZGlyZWN0b3IxX291dGRldiIsIHN0cmluZyksCi0gICAgKCJjb2xvX2Zp bHRlcl9zZWNfcmV3cml0ZXIwX3F1ZXVlIiwgc3RyaW5nKQorICAgICgiY29sb19maWx0ZXJfc2Vj X3Jld3JpdGVyMF9xdWV1ZSIsIHN0cmluZyksCisgICAgKCJjb2xvX2NoZWNrcG9pbnRfaG9zdCIs IHN0cmluZyksCisgICAgKCJjb2xvX2NoZWNrcG9pbnRfcG9ydCIsIHN0cmluZykKICAgICBdKQog CiBsaWJ4bF9kZXZpY2VfcGNpID0gU3RydWN0KCJkZXZpY2VfcGNpIiwgWwpkaWZmIC0tZ2l0IGEv dG9vbHMveGwveGxfcGFyc2UuYyBiL3Rvb2xzL3hsL3hsX3BhcnNlLmMKaW5kZXggNzdlOTFjOC4u MDc4NzMzNyAxMDA2NDQKLS0tIGEvdG9vbHMveGwveGxfcGFyc2UuYworKysgYi90b29scy94bC94 bF9wYXJzZS5jCkBAIC01NTEsNiArNTUxLDEwIEBAIGludCBwYXJzZV9uaWNfY29uZmlnKGxpYnhs X2RldmljZV9uaWMgKm5pYywgWExVX0NvbmZpZyAqKmNvbmZpZywgY2hhciAqdG9rZW4pCiAgICAg ICAgIHJlcGxhY2Vfc3RyaW5nKCZuaWMtPmNvbG9fZmlsdGVyX3NlY19yZWRpcmVjdG9yMV9vdXRk ZXYsIG9wYXJnKTsKICAgICB9IGVsc2UgaWYgKE1BVENIX09QVElPTigiY29sb19maWx0ZXJfc2Vj X3Jld3JpdGVyMF9xdWV1ZSIsIHRva2VuLCBvcGFyZykpIHsKICAgICAgICAgcmVwbGFjZV9zdHJp bmcoJm5pYy0+Y29sb19maWx0ZXJfc2VjX3Jld3JpdGVyMF9xdWV1ZSwgb3BhcmcpOworICAgIH0g ZWxzZSBpZiAoTUFUQ0hfT1BUSU9OKCJjb2xvX2NoZWNrcG9pbnRfaG9zdCIsIHRva2VuLCBvcGFy ZykpIHsKKyAgICAgICAgcmVwbGFjZV9zdHJpbmcoJm5pYy0+Y29sb19jaGVja3BvaW50X2hvc3Qs IG9wYXJnKTsKKyAgICB9IGVsc2UgaWYgKE1BVENIX09QVElPTigiY29sb19jaGVja3BvaW50X3Bv cnQiLCB0b2tlbiwgb3BhcmcpKSB7CisgICAgICAgIHJlcGxhY2Vfc3RyaW5nKCZuaWMtPmNvbG9f Y2hlY2twb2ludF9wb3J0LCBvcGFyZyk7CiAgICAgfSBlbHNlIGlmIChNQVRDSF9PUFRJT04oImFj Y2VsIiwgdG9rZW4sIG9wYXJnKSkgewogICAgICAgICBmcHJpbnRmKHN0ZGVyciwgInRoZSBhY2Nl bCBwYXJhbWV0ZXIgZm9yIHZpZnMgaXMgY3VycmVudGx5IG5vdCBzdXBwb3J0ZWRcbiIpOwogICAg IH0gZWxzZSBpZiAoTUFUQ0hfT1BUSU9OKCJkZXZpZCIsIHRva2VuLCBvcGFyZykpIHsKLS0gCjIu Ny40CgoKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpY ZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlz dHMueGVuLm9yZy94ZW4tZGV2ZWwK