From mboxrd@z Thu Jan 1 00:00:00 1970 From: Joshua Otto Subject: [PATCH RFC 20/20] tools: expose postcopy live migration support in libxl and xl Date: Mon, 27 Mar 2017 05:06:32 -0400 Message-ID: <1490605592-12189-21-git-send-email-jtotto@uwaterloo.ca> References: <1490605592-12189-1-git-send-email-jtotto@uwaterloo.ca> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta5.messagelabs.com ([195.245.231.135]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1csQtU-0001ws-M9 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2017 09:24:56 +0000 In-Reply-To: <1490605592-12189-1-git-send-email-jtotto@uwaterloo.ca> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: wei.liu2@citrix.com, andrew.cooper3@citrix.com, ian.jackson@eu.citrix.com, czylin@uwaterloo.ca, Joshua Otto , imhy.yang@gmail.com, hjarmstr@uwaterloo.ca List-Id: xen-devel@lists.xenproject.org LSBBZGQgYSAnbWVtb3J5X3N0cmF0ZWd5JyBwYXJhbWV0ZXIgdG8gbGlieGxfZG9tYWluX2xpdmVf bWlncmF0ZSgpLAogIHdoaWNoIHNwZWNpZmllcyBob3cgdGhlIHJlbWFpbmRlciBvZiB0aGUgbWVt b3J5IG1pZ3JhdGlvbiBzaG91bGQgYmUKICBhcHByb2FjaGVkIGFmdGVyIHRoZSBpdGVyYXRpdmUg cHJlY29weSBwaGFzZSBpcyBjb21wbGV0ZWQuCi0gUGx1ZyB0aGlzIHBhcmFtZXRlciBpbnRvIHRo ZSBsaWJ4bCBtaWdyYXRpb24gcHJlY29weSBwb2xpY3kKICBpbXBsZW1lbnRhdGlvbi4KLSBBZGQg LS1wb3N0Y29weSB0byB4bCBtaWdyYXRlLCBhbmQgc2tpcCB0aGUgeGwtbGV2ZWwgaGFuZHNoYWtp bmcgYXQKICBib3RoIHNpZGVzIHdoZW4gcG9zdGNvcHkgbWlncmF0aW9uIG9jY3Vycy4KClNpZ25l ZC1vZmYtYnk6IEpvc2h1YSBPdHRvIDxqdG90dG9AdXdhdGVybG9vLmNhPgotLS0KIHRvb2xzL2xp YnhsL2xpYnhsLmggICAgICAgICAgfCAgNiArKysrLQogdG9vbHMvbGlieGwvbGlieGxfZG9tX3Nh dmUuYyB8IDE5ICsrKysrKy0tLS0tLS0KIHRvb2xzL2xpYnhsL2xpYnhsX2RvbWFpbi5jICAgfCAg OSArKysrLS0tCiB0b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oIHwgIDEgKwogdG9vbHMveGwv eGwuaCAgICAgICAgICAgICAgICB8ICA3ICsrKystCiB0b29scy94bC94bF9jbWR0YWJsZS5jICAg ICAgIHwgIDUgKysrLQogdG9vbHMveGwveGxfbWlncmF0ZS5jICAgICAgICB8IDYzICsrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tCiB0b29scy94bC94bF92bWNvbnRy b2wuYyAgICAgIHwgIDggKysrKy0tCiA4IGZpbGVzIGNoYW5nZWQsIDk0IGluc2VydGlvbnMoKyks IDI0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsLmggYi90b29s cy9saWJ4bC9saWJ4bC5oCmluZGV4IDUxZTg3NjAuLjNhMmY3ZWEgMTAwNjQ0Ci0tLSBhL3Rvb2xz L2xpYnhsL2xpYnhsLmgKKysrIGIvdG9vbHMvbGlieGwvbGlieGwuaApAQCAtMTQwMSw3ICsxNDAx LDcgQEAgaW50IGxpYnhsX2RvbWFpbl9saXZlX21pZ3JhdGUobGlieGxfY3R4ICpjdHgsIHVpbnQz Ml90IGRvbWlkLCBpbnQgc2VuZF9mZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu dCBmbGFncywgLyogTElCWExfU1VTUEVORF8qICovCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB1bnNpZ25lZCBpbnQgcHJlY29weV9pdGVyYXRpb25zLAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgdW5zaWduZWQgaW50IHByZWNvcHlfZGlydHlfdGhyZXNob2xkLAotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgaW50IHJlY3ZfZmQsCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBpbnQgcmVjdl9mZCwgaW50IG1lbW9yeV9zdHJhdGVneSwKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGJvb2wgKnBvc3Rjb3B5X3RyYW5zaXRpb25lZCwgLyogT1VUICov CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBsaWJ4bF9hc3luY29wX2hvdyAq YW9faG93KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElCWExfRVhURVJOQUxfQ0FM TEVSU19PTkxZOwpAQCAtMTQwOSw2ICsxNDA5LDEwIEBAIGludCBsaWJ4bF9kb21haW5fbGl2ZV9t aWdyYXRlKGxpYnhsX2N0eCAqY3R4LCB1aW50MzJfdCBkb21pZCwgaW50IHNlbmRfZmQsCiAjZGVm aW5lIExJQlhMX0xNX1BSRUNPUFlfSVRFUkFUSU9OU19ERUZBVUxUIDUKICNkZWZpbmUgTElCWExf TE1fRElSVFlfVEhSRVNIT0xEX0RFRkFVTFQgNTAKIAorI2RlZmluZSBMSUJYTF9MTV9NRU1PUllf U1RPUF9BTkRfQ09QWSAwCisjZGVmaW5lIExJQlhMX0xNX01FTU9SWV9QT1NUQ09QWSAxCisjZGVm aW5lIExJQlhMX0xNX01FTU9SWV9ERUZBVUxUIExJQlhMX0xNX01FTU9SWV9TVE9QX0FORF9DT1BZ CisKIC8qIEBwYXJhbSBzdXNwZW5kX2NhbmNlbCBbZnJvbSB4ZW5jdHJsLmg6eGNfZG9tYWluX3Jl c3VtZSggQHBhcmFtIGZhc3QgKV0KICAqICAgSWYgdGhpcyBwYXJhbWV0ZXIgaXMgdHJ1ZSwgdXNl IGNvLW9wZXJhdGl2ZSByZXN1bWUuIFRoZSBndWVzdAogICogICBtdXN0IHN1cHBvcnQgdGhpcy4K ZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2RvbV9zYXZlLmMgYi90b29scy9saWJ4bC9s aWJ4bF9kb21fc2F2ZS5jCmluZGV4IDllNTY1YWUuLjlkNWQ0MzUgMTAwNjQ0Ci0tLSBhL3Rvb2xz L2xpYnhsL2xpYnhsX2RvbV9zYXZlLmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfZG9tX3NhdmUu YwpAQCAtMzMzLDE4ICszMzMsMTkgQEAgaW50IGxpYnhsX19zYXZlX2VtdWxhdG9yX3hlbnN0b3Jl X2RhdGEobGlieGxfX2RvbWFpbl9zYXZlX3N0YXRlICpkc3MsCiAgKiB0aGUgcHJlY29weSBwaGFz ZSBvZiBsaXZlIG1pZ3JhdGlvbnMsIGFuZCBpcyByZXNwb25zaWJsZSBmb3IgZGVjaWRpbmcgd2hl bgogICogdGhlIHByZWNvcHkgcGhhc2Ugc2hvdWxkIHRlcm1pbmF0ZSBhbmQgd2hhdCBzaG91bGQg YmUgZG9uZSBuZXh0LgogICovCi1zdGF0aWMgaW50IGxpYnhsX19zYXZlX2xpdmVfbWlncmF0aW9u X3NpbXBsZV9wcmVjb3B5X3BvbGljeSgKLSAgICBzdHJ1Y3QgcHJlY29weV9zdGF0cyBzdGF0cywg dm9pZCAqdXNlcikKK3N0YXRpYyBpbnQgbGlieGxfX3NhdmVfbGl2ZV9taWdyYXRpb25fcHJlY29w eV9wb2xpY3koc3RydWN0IHByZWNvcHlfc3RhdHMgc3RhdHMsCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKnVzZXIpCiB7CiAgICAgbGli eGxfX3NhdmVfaGVscGVyX3N0YXRlICpzaHMgPSB1c2VyOwogICAgIGxpYnhsX19kb21haW5fc2F2 ZV9zdGF0ZSAqZHNzID0gc2hzLT5jYWxsZXJfc3RhdGU7CiAKLSAgICBpZiAoc3RhdHMuZGlydHlf Y291bnQgPj0gMCAmJgotICAgICAgICBzdGF0cy5kaXJ0eV9jb3VudCA8PSBkc3MtPnByZWNvcHlf ZGlydHlfdGhyZXNob2xkKQotICAgICAgICByZXR1cm4gWEdTX1BPTElDWV9TVE9QX0FORF9DT1BZ OwotCi0gICAgaWYgKHN0YXRzLml0ZXJhdGlvbiA+PSBkc3MtPnByZWNvcHlfaXRlcmF0aW9ucykK LSAgICAgICAgcmV0dXJuIFhHU19QT0xJQ1lfU1RPUF9BTkRfQ09QWTsKKyAgICBpZiAoKHN0YXRz LmRpcnR5X2NvdW50ID49IDAgJiYKKyAgICAgICAgIHN0YXRzLmRpcnR5X2NvdW50IDw9IGRzcy0+ cHJlY29weV9kaXJ0eV90aHJlc2hvbGQpIHx8CisgICAgICAgIChzdGF0cy5pdGVyYXRpb24gPj0g ZHNzLT5wcmVjb3B5X2l0ZXJhdGlvbnMpKSB7CisgICAgICAgIHJldHVybiAoZHNzLT5tZW1vcnlf c3RyYXRlZ3kgPT0gTElCWExfTE1fTUVNT1JZX1BPU1RDT1BZKQorICAgICAgICAgICAgPyBYR1Nf UE9MSUNZX1BPU1RDT1BZCisgICAgICAgICAgICA6IFhHU19QT0xJQ1lfU1RPUF9BTkRfQ09QWTsK KyAgICB9CiAKICAgICByZXR1cm4gWEdTX1BPTElDWV9DT05USU5VRV9QUkVDT1BZOwogfQpAQCAt NDUyLDcgKzQ1Myw3IEBAIHZvaWQgbGlieGxfX2RvbWFpbl9zYXZlKGxpYnhsX19lZ2MgKmVnYywg bGlieGxfX2RvbWFpbl9zYXZlX3N0YXRlICpkc3MpCiAgICAgICAgICAgICBsaWJ4bF9fc2F2ZV9s aXZlX21pZ3JhdGlvbl9wb3N0Y29weV90cmFuc2l0aW9uX2NhbGxiYWNrOwogICAgIH0KIAotICAg IGNhbGxiYWNrcy0+cHJlY29weV9wb2xpY3kgPSBsaWJ4bF9fc2F2ZV9saXZlX21pZ3JhdGlvbl9z aW1wbGVfcHJlY29weV9wb2xpY3k7CisgICAgY2FsbGJhY2tzLT5wcmVjb3B5X3BvbGljeSA9IGxp YnhsX19zYXZlX2xpdmVfbWlncmF0aW9uX3ByZWNvcHlfcG9saWN5OwogICAgIGNhbGxiYWNrcy0+ c3dpdGNoX3FlbXVfbG9nZGlydHkgPSBsaWJ4bF9fZG9tYWluX3N1c3BlbmRfY29tbW9uX3N3aXRj aF9xZW11X2xvZ2RpcnR5OwogCiAgICAgZHNzLT5zd3MuYW8gID0gZHNzLT5hbzsKZGlmZiAtLWdp dCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2RvbWFpbi5jIGIvdG9vbHMvbGlieGwvbGlieGxfZG9tYWlu LmMKaW5kZXggZWE3NzhhNi4uZmVlYzI5MyAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxf ZG9tYWluLmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfZG9tYWluLmMKQEAgLTQ4OSw2ICs0ODks NyBAQCBzdGF0aWMgdm9pZCBkb21haW5fc3VzcGVuZF9jYihsaWJ4bF9fZWdjICplZ2MsCiBzdGF0 aWMgaW50IGRvX2RvbWFpbl9zdXNwZW5kKGxpYnhsX2N0eCAqY3R4LCB1aW50MzJfdCBkb21pZCwg aW50IGZkLCBpbnQgZmxhZ3MsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVk IGludCBwcmVjb3B5X2l0ZXJhdGlvbnMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVu c2lnbmVkIGludCBwcmVjb3B5X2RpcnR5X3RocmVzaG9sZCwgaW50IHJlY3ZfZmQsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGludCBtZW1vcnlfc3RyYXRlZ3ksCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGJvb2wgKnBvc3Rjb3B5X3RyYW5zaXRpb25lZCwKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgY29uc3QgbGlieGxfYXN5bmNvcF9ob3cgKmFvX2hvdykKIHsKQEAg LTUxMCw3ICs1MTEsOCBAQCBzdGF0aWMgaW50IGRvX2RvbWFpbl9zdXNwZW5kKGxpYnhsX2N0eCAq Y3R4LCB1aW50MzJfdCBkb21pZCwgaW50IGZkLCBpbnQgZmxhZ3MsCiAgICAgZHNzLT5kb21pZCA9 IGRvbWlkOwogICAgIGRzcy0+ZmQgPSBmZDsKICAgICBkc3MtPnJlY3ZfZmQgPSByZWN2X2ZkOwot ICAgIGRzcy0+cG9zdGNvcHlfdHJhbnNpdGlvbmVkID0gcG9zdGNvcHlfcmVzdW1lZF9yZW1vdGVs eTsKKyAgICBkc3MtPm1lbW9yeV9zdHJhdGVneSA9IG1lbW9yeV9zdHJhdGVneTsKKyAgICBkc3Mt PnBvc3Rjb3B5X3RyYW5zaXRpb25lZCA9IHBvc3Rjb3B5X3RyYW5zaXRpb25lZDsKICAgICBkc3Mt PnR5cGUgPSB0eXBlOwogICAgIGRzcy0+bGl2ZSA9IGZsYWdzICYgTElCWExfU1VTUEVORF9MSVZF OwogICAgIGRzcy0+ZGVidWcgPSBmbGFncyAmIExJQlhMX1NVU1BFTkRfREVCVUc7CkBAIC01MzYs MTIgKzUzOCwxMyBAQCBpbnQgbGlieGxfZG9tYWluX3N1c3BlbmQobGlieGxfY3R4ICpjdHgsIHVp bnQzMl90IGRvbWlkLCBpbnQgZmQsIGludCBmbGFncywKICAgICByZXR1cm4gZG9fZG9tYWluX3N1 c3BlbmQoY3R4LCBkb21pZCwgZmQsIGZsYWdzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBMSUJYTF9MTV9QUkVDT1BZX0lURVJBVElPTlNfREVGQVVMVCwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgTElCWExfTE1fRElSVFlfVEhSRVNIT0xEX0RFRkFVTFQsIC0xLAotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBOVUxMLCBhb19ob3cpOworICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBMSUJYTF9MTV9NRU1PUllfREVGQVVMVCwgTlVMTCwgYW9faG93KTsKIH0KIAog aW50IGxpYnhsX2RvbWFpbl9saXZlX21pZ3JhdGUobGlieGxfY3R4ICpjdHgsIHVpbnQzMl90IGRv bWlkLCBpbnQgc2VuZF9mZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBmbGFn cywgdW5zaWduZWQgaW50IHByZWNvcHlfaXRlcmF0aW9ucywKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHVuc2lnbmVkIGludCBwcmVjb3B5X2RpcnR5X3RocmVzaG9sZCwgaW50IHJlY3Zf ZmQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbWVtb3J5X3N0cmF0ZWd5LAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCAqcG9zdGNvcHlfdHJhbnNpdGlvbmVk LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbGlieGxfYXN5bmNvcF9ob3cg KmFvX2hvdykKIHsKQEAgLTU1Myw3ICs1NTYsNyBAQCBpbnQgbGlieGxfZG9tYWluX2xpdmVfbWln cmF0ZShsaWJ4bF9jdHggKmN0eCwgdWludDMyX3QgZG9taWQsIGludCBzZW5kX2ZkLAogICAgIGZs YWdzIHw9IExJQlhMX1NVU1BFTkRfTElWRTsKIAogICAgIHJldHVybiBkb19kb21haW5fc3VzcGVu ZChjdHgsIGRvbWlkLCBzZW5kX2ZkLCBmbGFncywgcHJlY29weV9pdGVyYXRpb25zLAotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBwcmVjb3B5X2RpcnR5X3RocmVzaG9sZCwgcmVjdl9mZCwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJlY29weV9kaXJ0eV90aHJlc2hvbGQsIHJl Y3ZfZmQsIG1lbW9yeV9zdHJhdGVneSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9z dGNvcHlfdHJhbnNpdGlvbmVkLCBhb19ob3cpOwogfQogCmRpZmYgLS1naXQgYS90b29scy9saWJ4 bC9saWJ4bF9pbnRlcm5hbC5oIGIvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaAppbmRleCAw YTdjMGQxLi4yMDljZWU1IDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5o CisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmgKQEAgLTMzMTMsNiArMzMxMyw3IEBA IHN0cnVjdCBsaWJ4bF9fZG9tYWluX3NhdmVfc3RhdGUgewogICAgIGludCBmZDsKICAgICBpbnQg ZmRmbDsgLyogb3JpZ2luYWwgZmxhZ3Mgb24gZmQgKi8KICAgICBpbnQgcmVjdl9mZDsKKyAgICBp bnQgbWVtb3J5X3N0cmF0ZWd5OwogICAgIGJvb2wgKnBvc3Rjb3B5X3RyYW5zaXRpb25lZDsKICAg ICBsaWJ4bF9kb21haW5fdHlwZSB0eXBlOwogICAgIGludCBsaXZlOwpkaWZmIC0tZ2l0IGEvdG9v bHMveGwveGwuaCBiL3Rvb2xzL3hsL3hsLmgKaW5kZXggYWE5NWI3Ny4uMjc5YzcxNiAxMDA2NDQK LS0tIGEvdG9vbHMveGwveGwuaAorKysgYi90b29scy94bC94bC5oCkBAIC00OCw2ICs0OCw3IEBA IHN0cnVjdCBkb21haW5fY3JlYXRlIHsKICAgICBib29sIHVzZXJzcGFjZV9jb2xvX3Byb3h5Owog ICAgIGludCBtaWdyYXRlX2ZkOyAvKiAtMSBtZWFucyBub25lICovCiAgICAgaW50IHNlbmRfYmFj a19mZDsgLyogLTEgbWVhbnMgbm9uZSAqLworICAgIGJvb2wgKnBvc3Rjb3B5X3Jlc3VtZWQ7CiAg ICAgY2hhciAqKm1pZ3JhdGlvbl9kb21uYW1lX3I7IC8qIGZyb20gbWFsbG9jICovCiB9OwogCkBA IC02Niw3ICs2Nyw2IEBAIHN0YXRpYyBjb25zdCBjaGFyIG1pZ3JhdGVfcGVybWlzc2lvbl90b19n b1tdPQogICAgICJkb21haW4gaXMgeW91cnMsIHlvdSBhcmUgY2xlYXJlZCB0byB1bnBhdXNlIjsK IHN0YXRpYyBjb25zdCBjaGFyIG1pZ3JhdGVfcmVwb3J0W109CiAgICAgIm15IGNvcHkgdW5wYXVz ZSByZXN1bHRzIGFyZSBhcyBmb2xsb3dzIjsKLSNlbmRpZgogCiAgIC8qIGZvbGxvd2VkIGJ5IG9u ZSBieXRlOgogICAgKiAgICAgMDogZXZlcnl0aGluZyB3ZW50IHdlbGwsIGRvbWFpbiBpcyBydW5u aW5nCkBAIC03Niw2ICs3NiwxMSBAQCBzdGF0aWMgY29uc3QgY2hhciBtaWdyYXRlX3JlcG9ydFtd PQogICAgKiAgICAgICAgICAgIGZyb20gdGFyZ2V0IHRvIHNvdXJjZQogICAgKi8KIAorc3RhdGlj IGNvbnN0IGNoYXIgbWlncmF0ZV9wb3N0Y29weV9zeW5jW109CisgICAgInBvc3Rjb3B5IG1pZ3Jh dGlvbiBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5IjsKKworI2VuZGlmCisKICNkZWZpbmUgWExfTUFO REFUT1JZX0ZMQUdfSlNPTiAoMVUgPDwgMCkgLyogY29uZmlnIGRhdGEgaXMgaW4gSlNPTiBmb3Jt YXQgKi8KICNkZWZpbmUgWExfTUFOREFUT1JZX0ZMQUdfU1RSRUFNdjIgKDFVIDw8IDEpIC8qIHN0 cmVhbSBpcyB2MiAqLwogI2RlZmluZSBYTF9NQU5EQVRPUllfRkxBR19BTEwgIChYTF9NQU5EQVRP UllfRkxBR19KU09OIHwgICAgICAgIFwKZGlmZiAtLWdpdCBhL3Rvb2xzL3hsL3hsX2NtZHRhYmxl LmMgYi90b29scy94bC94bF9jbWR0YWJsZS5jCmluZGV4IDZkZjY2ZmIuLjdiZDJkMWIgMTAwNjQ0 Ci0tLSBhL3Rvb2xzL3hsL3hsX2NtZHRhYmxlLmMKKysrIGIvdG9vbHMveGwveGxfY21kdGFibGUu YwpAQCAtMTY5LDcgKzE2OSwxMCBAQCBzdHJ1Y3QgY21kX3NwZWMgY21kX3RhYmxlW10gPSB7CiAg ICAgICAiLS1wcmVjb3B5LWl0ZXJhdGlvbnMgUGVyZm9ybSBhdCBtb3N0IHRoaXMgbWFueSBpdGVy YXRpb25zIG9mIHRoZSBwcmVjb3B5XG4iCiAgICAgICAiICAgICAgICAgICAgICAgICAgICAgbWVt b3J5IG1pZ3JhdGlvbiBsb29wIGJlZm9yZSBzdXNwZW5kaW5nIHRoZSBkb21haW4uXG4iCiAgICAg ICAiLS1wcmVjb3B5LXRocmVzaG9sZCAgSWYgZmV3ZXIgdGhhbiB0aGlzIG1hbnkgcGFnZXMgYXJl IGRpcnR5IGF0IHRoZSBlbmQgb2YgYVxuIgotICAgICAgIiAgICAgICAgICAgICAgICAgICAgIGNv cHkgcm91bmQsIGV4aXQgdGhlIHByZWNvcHkgbG9vcCBhbmQgc3VzcGVuZCB0aGUgZG9tYWluLiIK KyAgICAgICIgICAgICAgICAgICAgICAgICAgICBjb3B5IHJvdW5kLCBleGl0IHRoZSBwcmVjb3B5 IGxvb3AgYW5kIHN1c3BlbmQgdGhlIGRvbWFpbi5cbiIKKyAgICAgICItLXBvc3Rjb3B5ICAgICAg ICAgICBBdCB0aGUgZW5kIG9mIHRoZSBpdGVyYXRpdmUgcHJlY29weSBwaGFzZSwgdHJhbnNpdGlv biB0byBhXG4iCisgICAgICAiICAgICAgICAgICAgICAgICAgICAgcG9zdGNvcHkgbWVtb3J5IG1p Z3JhdGlvbiByYXRoZXIgdGhhbiBwZXJmb3JtaW5nIGEgc3RvcC1hbmQtY29weVxuIgorICAgICAg IiAgICAgICAgICAgICAgICAgICAgIG1pZ3JhdGlvbiBvZiB0aGUgb3V0c3RhbmRpbmcgZGlydHkg cGFnZXMuXG4iCiAgICAgfSwKICAgICB7ICJyZXN0b3JlIiwKICAgICAgICZtYWluX3Jlc3RvcmUs IDAsIDEsCmRpZmYgLS1naXQgYS90b29scy94bC94bF9taWdyYXRlLmMgYi90b29scy94bC94bF9t aWdyYXRlLmMKaW5kZXggMWZmYzMyYi4uNDNjN2Q4ZSAxMDA2NDQKLS0tIGEvdG9vbHMveGwveGxf bWlncmF0ZS5jCisrKyBiL3Rvb2xzL3hsL3hsX21pZ3JhdGUuYwpAQCAtMTc5LDcgKzE3OSw4IEBA IHN0YXRpYyB2b2lkIG1pZ3JhdGVfZG9fcHJlYW1ibGUoaW50IHNlbmRfZmQsIGludCByZWN2X2Zk LCBwaWRfdCBjaGlsZCwKIHN0YXRpYyB2b2lkIG1pZ3JhdGVfZG9tYWluKHVpbnQzMl90IGRvbWlk LCBjb25zdCBjaGFyICpydW5lLCBpbnQgZGVidWcsCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBjb25zdCBjaGFyICpvdmVycmlkZV9jb25maWdfZmlsZSwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHVuc2lnbmVkIGludCBwcmVjb3B5X2l0ZXJhdGlvbnMsCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICB1bnNpZ25lZCBpbnQgcHJlY29weV9kaXJ0eV90aHJlc2hvbGQpCisgICAgICAg ICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgcHJlY29weV9kaXJ0eV90aHJlc2hvbGQs CisgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbWVtb3J5X3N0cmF0ZWd5KQogewogICAg IHBpZF90IGNoaWxkID0gLTE7CiAgICAgaW50IHJjOwpAQCAtMjEwLDE4ICsyMTEsMzIgQEAgc3Rh dGljIHZvaWQgbWlncmF0ZV9kb21haW4odWludDMyX3QgZG9taWQsIGNvbnN0IGNoYXIgKnJ1bmUs IGludCBkZWJ1ZywKICAgICAgICAgZmxhZ3MgfD0gTElCWExfU1VTUEVORF9ERUJVRzsKICAgICBy YyA9IGxpYnhsX2RvbWFpbl9saXZlX21pZ3JhdGUoY3R4LCBkb21pZCwgc2VuZF9mZCwgZmxhZ3Ms CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZWNvcHlfaXRlcmF0aW9ucywg cHJlY29weV9kaXJ0eV90aHJlc2hvbGQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHJlY3ZfZmQsICZwb3N0Y29weV90cmFuc2l0aW9uZWQsIE5VTEwpOwotICAgIGFzc2VydCgh cG9zdGNvcHlfdHJhbnNpdGlvbmVkKTsKLQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICByZWN2X2ZkLCBtZW1vcnlfc3RyYXRlZ3ksCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICZwb3N0Y29weV90cmFuc2l0aW9uZWQsIE5VTEwpOwogICAgIGlmIChyYykgewog ICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIm1pZ3JhdGlvbiBzZW5kZXI6IGxpYnhsX2RvbWFpbl9z dXNwZW5kIGZhaWxlZCIKICAgICAgICAgICAgICAgICAiIChyYz0lZClcbiIsIHJjKTsKLSAgICAg ICAgaWYgKHJjID09IEVSUk9SX0dVRVNUX1RJTUVET1VUKQorICAgICAgICBpZiAocG9zdGNvcHlf dHJhbnNpdGlvbmVkKQorICAgICAgICAgICAgZ290byBmYWlsZWRfcG9zdGNvcHk7CisgICAgICAg IGVsc2UgaWYgKHJjID09IEVSUk9SX0dVRVNUX1RJTUVET1VUKQogICAgICAgICAgICAgZ290byBm YWlsZWRfc3VzcGVuZDsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgZ290byBmYWlsZWRfcmVz dW1lOwogICAgIH0KIAorICAgIC8qIE5vIG5lZWQgZm9yIGFkZGl0aW9uYWwgY2VyZW1vbnkgaWYg d2UgYWxyZWFkeSByZXN1bWVkIHRoZSBndWVzdCBhcyBwYXJ0CisgICAgICogb2YgYSBwb3N0Y29w eSBsaXZlIG1pZ3JhdGlvbi4gKi8KKyAgICBpZiAocG9zdGNvcHlfdHJhbnNpdGlvbmVkKSB7Cisg ICAgICAgIC8qIEl0IGRvZXNuJ3QgbWF0dGVyIGlmIHNvbWV0aGluZyBoYXBwZW5zIHRvIHRoZSBw aXBlIGFmdGVyIHdlIGdldCB0bworICAgICAgICAgKiB0aGlzIHBvaW50IC0gd2Ugb25seSBib3Ro ZXIgdG8gc3luY2hyb25pemUgaGVyZSBmb3IgdGlkaW5lc3MuICovCisgICAgICAgIG1pZ3JhdGVf cmVhZF9maXhlZG1lc3NhZ2UocmVjdl9mZCwgbWlncmF0ZV9wb3N0Y29weV9zeW5jLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihtaWdyYXRlX3Bvc3Rjb3B5X3N5bmMp LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwb3N0Y29weSBzeW5jIiwgcnVu ZSk7CisgICAgICAgIGxpYnhsX2RvbWFpbl9kZXN0cm95KGN0eCwgZG9taWQsIDApOworICAgICAg ICBmcHJpbnRmKHN0ZGVyciwgIk1pZ3JhdGlvbiBzdWNjZXNzZnVsLlxuIik7CisgICAgICAgIGV4 aXQoRVhJVF9TVUNDRVNTKTsKKyAgICB9CisKICAgICAvL2ZwcmludGYoc3RkZXJyLCAibWlncmF0 aW9uIHNlbmRlcjogVHJhbnNmZXIgY29tcGxldGUuXG4iKTsKICAgICAvLyBTaG91bGQgb25seSBi ZSBwcmludGVkIHdoZW4gZGVidWdnaW5nIGFzIGl0J3MgYSBiaXQgbWVzc3kgd2l0aAogICAgIC8v IHByb2dyZXNzIGluZGljYXRpb24uCkBAIC0zMjAsNiArMzM1LDIxIEBAIHN0YXRpYyB2b2lkIG1p Z3JhdGVfZG9tYWluKHVpbnQzMl90IGRvbWlkLCBjb25zdCBjaGFyICpydW5lLCBpbnQgZGVidWcs CiAgICAgY2xvc2Uoc2VuZF9mZCk7CiAgICAgbWlncmF0aW9uX2NoaWxkX3JlcG9ydChyZWN2X2Zk KTsKICAgICBleGl0KEVYSVRfRkFJTFVSRSk7CisKKyBmYWlsZWRfcG9zdGNvcHk6CisgICAgaWYg KGNvbW1vbl9kb21uYW1lKSB7CisgICAgICAgIHhhc3ByaW50ZigmYXdheV9kb21uYW1lLCAiJXMt LXBvc3Rjb3B5LWluY29uc2lzdGVudCIsIGNvbW1vbl9kb21uYW1lKTsKKyAgICAgICAgbGlieGxf ZG9tYWluX3JlbmFtZShjdHgsIGRvbWlkLCBjb21tb25fZG9tbmFtZSwgYXdheV9kb21uYW1lKTsK KyAgICB9CisKKyAgICBmcHJpbnRmKHN0ZGVyciwKKyAiKiogTWlncmF0aW9uIGZhaWxlZCBkdXJp bmcgbWVtb3J5IHBvc3Rjb3B5ICoqXG4iCisgIkl0J3MgcG9zc2libGUgdGhhdCB0aGUgZ3Vlc3Qg aGFzIGV4ZWN1dGVkL2lzIGV4ZWN1dGluZyBhdCB0aGUgZGVzdGluYXRpb24sXG4iCisgIiBzbyBy ZXN1bWluZyBpdCBoZXJlIG5vdyBtYXkgYmUgdW5zYWZlLlxuIik7CisKKyAgICBjbG9zZShzZW5k X2ZkKTsKKyAgICBtaWdyYXRpb25fY2hpbGRfcmVwb3J0KHJlY3ZfZmQpOworICAgIGV4aXQoRVhJ VF9GQUlMVVJFKTsKIH0KIAogc3RhdGljIHZvaWQgbWlncmF0ZV9yZWNlaXZlKGludCBkZWJ1Zywg aW50IGRhZW1vbml6ZSwgaW50IG1vbml0b3IsCkBAIC0zMzMsNiArMzYzLDcgQEAgc3RhdGljIHZv aWQgbWlncmF0ZV9yZWNlaXZlKGludCBkZWJ1ZywgaW50IGRhZW1vbml6ZSwgaW50IG1vbml0b3Is CiAgICAgaW50IHJjLCByYzI7CiAgICAgY2hhciByY19idWY7CiAgICAgY2hhciAqbWlncmF0aW9u X2RvbW5hbWU7CisgICAgYm9vbCBwb3N0Y29weV9yZXN1bWVkOwogICAgIHN0cnVjdCBkb21haW5f Y3JlYXRlIGRvbV9pbmZvOwogCiAgICAgc2lnbmFsKFNJR1BJUEUsIFNJR19JR04pOwpAQCAtMzUy LDYgKzM4Myw3IEBAIHN0YXRpYyB2b2lkIG1pZ3JhdGVfcmVjZWl2ZShpbnQgZGVidWcsIGludCBk YWVtb25pemUsIGludCBtb25pdG9yLAogICAgIGRvbV9pbmZvLnBhdXNlZCA9IDE7CiAgICAgZG9t X2luZm8ubWlncmF0ZV9mZCA9IHJlY3ZfZmQ7CiAgICAgZG9tX2luZm8uc2VuZF9iYWNrX2ZkID0g c2VuZF9mZDsKKyAgICBkb21faW5mby5wb3N0Y29weV9yZXN1bWVkID0gJnBvc3Rjb3B5X3Jlc3Vt ZWQ7CiAgICAgZG9tX2luZm8ubWlncmF0aW9uX2RvbW5hbWVfciA9ICZtaWdyYXRpb25fZG9tbmFt ZTsKICAgICBkb21faW5mby5jaGVja3BvaW50ZWRfc3RyZWFtID0gY2hlY2twb2ludGVkOwogICAg IGRvbV9pbmZvLmNvbG9fcHJveHlfc2NyaXB0ID0gY29sb19wcm94eV9zY3JpcHQ7CkBAIC00MTQs NiArNDQ2LDE4IEBAIHN0YXRpYyB2b2lkIG1pZ3JhdGVfcmVjZWl2ZShpbnQgZGVidWcsIGludCBk YWVtb25pemUsIGludCBtb25pdG9yLAogICAgICAgICBicmVhazsKICAgICB9CiAKKyAgICAvKiBO byBuZWVkIGZvciBhZGRpdGlvbmFsIGNlcmVtb255IGlmIHdlIGFscmVhZHkgcmVzdW1lZCB0aGUg Z3Vlc3QgYXMgcGFydAorICAgICAqIG9mIGEgcG9zdGNvcHkgbGl2ZSBtaWdyYXRpb24uICovCisg ICAgaWYgKHBvc3Rjb3B5X3Jlc3VtZWQpIHsKKyAgICAgICAgbGlieGxfd3JpdGVfZXhhY3RseShj dHgsIHNlbmRfZmQsIG1pZ3JhdGVfcG9zdGNvcHlfc3luYywKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICBzaXplb2YobWlncmF0ZV9wb3N0Y29weV9zeW5jKSwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAibWlncmF0aW9uIGFjayBzdHJlYW0iLCAicG9zdGNvcHkgc3luYyIpOworICAg ICAgICBmcHJpbnRmKHN0ZGVyciwgIm1pZ3JhdGlvbiB0YXJnZXQ6IERvbWFpbiBzdGFydGVkIHN1 Y2Nlc3NzZnVsbHkuXG4iKTsKKyAgICAgICAgbGlieGxfZG9tYWluX3JlbmFtZShjdHgsIGRvbWlk LCBtaWdyYXRpb25fZG9tbmFtZSwgY29tbW9uX2RvbW5hbWUpOworICAgICAgICBleGl0KEVYSVRf U1VDQ0VTUyk7CisgICAgfQorCisKICAgICBmcHJpbnRmKHN0ZGVyciwgIm1pZ3JhdGlvbiB0YXJn ZXQ6IFRyYW5zZmVyIGNvbXBsZXRlLCIKICAgICAgICAgICAgICIgcmVxdWVzdGluZyBwZXJtaXNz aW9uIHRvIHN0YXJ0IGRvbWFpbi5cbiIpOwogCkBAIC01NDUsMTIgKzU4OSwxNCBAQCBpbnQgbWFp bl9taWdyYXRlKGludCBhcmdjLCBjaGFyICoqYXJndikKICAgICBjaGFyICpob3N0OwogICAgIGlu dCBvcHQsIGRhZW1vbml6ZSA9IDEsIG1vbml0b3IgPSAxLCBkZWJ1ZyA9IDAsIHBhdXNlX2FmdGVy X21pZ3JhdGlvbiA9IDA7CiAgICAgaW50IHByZWNvcHlfaXRlcmF0aW9ucyA9IExJQlhMX0xNX1BS RUNPUFlfSVRFUkFUSU9OU19ERUZBVUxULAotICAgICAgICBwcmVjb3B5X2RpcnR5X3RocmVzaG9s ZCA9IExJQlhMX0xNX0RJUlRZX1RIUkVTSE9MRF9ERUZBVUxUOworICAgICAgICBwcmVjb3B5X2Rp cnR5X3RocmVzaG9sZCA9IExJQlhMX0xNX0RJUlRZX1RIUkVTSE9MRF9ERUZBVUxULAorICAgICAg ICBtZW1vcnlfc3RyYXRlZ3kgPSBMSUJYTF9MTV9NRU1PUllfREVGQVVMVDsKICAgICBzdGF0aWMg c3RydWN0IG9wdGlvbiBvcHRzW10gPSB7CiAgICAgICAgIHsiZGVidWciLCAwLCAwLCAweDEwMH0s CiAgICAgICAgIHsibGl2ZSIsIDAsIDAsIDB4MjAwfSwKICAgICAgICAgeyJwcmVjb3B5LWl0ZXJh dGlvbnMiLCAxLCAwLCAnaSd9LAogICAgICAgICB7InByZWNvcHktdGhyZXNob2xkIiwgMSwgMCwg J2QnfSwKKyAgICAgICAgeyJwb3N0Y29weSIsIDAsIDAsIDB4NDAwfSwKICAgICAgICAgQ09NTU9O X0xPTkdfT1BUUwogICAgIH07CiAKQEAgLTU5MSw2ICs2MzcsOSBAQCBpbnQgbWFpbl9taWdyYXRl KGludCBhcmdjLCBjaGFyICoqYXJndikKICAgICBjYXNlIDB4MjAwOiAvKiAtLWxpdmUgKi8KICAg ICAgICAgLyogaWdub3JlZCBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIHhtICovCiAgICAgICAgIGJy ZWFrOworICAgIGNhc2UgMHg0MDA6IC8qIC0tcG9zdGNvcHkgKi8KKyAgICAgICAgbWVtb3J5X3N0 cmF0ZWd5ID0gTElCWExfTE1fTUVNT1JZX1BPU1RDT1BZOworICAgICAgICBicmVhazsKICAgICB9 CiAKICAgICBkb21pZCA9IGZpbmRfZG9tYWluKGFyZ3Zbb3B0aW5kXSk7CkBAIC02MjIsNyArNjcx LDcgQEAgaW50IG1haW5fbWlncmF0ZShpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAgICAgfQogCiAg ICAgbWlncmF0ZV9kb21haW4oZG9taWQsIHJ1bmUsIGRlYnVnLCBjb25maWdfZmlsZW5hbWUsIHBy ZWNvcHlfaXRlcmF0aW9ucywKLSAgICAgICAgICAgICAgICAgICBwcmVjb3B5X2RpcnR5X3RocmVz aG9sZCk7CisgICAgICAgICAgICAgICAgICAgcHJlY29weV9kaXJ0eV90aHJlc2hvbGQsIG1lbW9y eV9zdHJhdGVneSk7CiAgICAgcmV0dXJuIEVYSVRfU1VDQ0VTUzsKIH0KIApkaWZmIC0tZ2l0IGEv dG9vbHMveGwveGxfdm1jb250cm9sLmMgYi90b29scy94bC94bF92bWNvbnRyb2wuYwppbmRleCA0 N2JhOWYzLi42MmUwOWMxIDEwMDY0NAotLS0gYS90b29scy94bC94bF92bWNvbnRyb2wuYworKysg Yi90b29scy94bC94bF92bWNvbnRyb2wuYwpAQCAtNjU1LDYgKzY1NSw3IEBAIGludCBjcmVhdGVf ZG9tYWluKHN0cnVjdCBkb21haW5fY3JlYXRlICpkb21faW5mbykKICAgICBjb25zdCBjaGFyICpj b25maWdfc291cmNlID0gTlVMTDsKICAgICBjb25zdCBjaGFyICpyZXN0b3JlX3NvdXJjZSA9IE5V TEw7CiAgICAgaW50IG1pZ3JhdGVfZmQgPSBkb21faW5mby0+bWlncmF0ZV9mZDsKKyAgICBib29s ICpwb3N0Y29weV9yZXN1bWVkID0gZG9tX2luZm8tPnBvc3Rjb3B5X3Jlc3VtZWQ7CiAgICAgYm9v bCBjb25maWdfaW5fanNvbjsKIAogICAgIGludCBpOwpAQCAtNjc1LDYgKzY3Niw5IEBAIGludCBj cmVhdGVfZG9tYWluKHN0cnVjdCBkb21haW5fY3JlYXRlICpkb21faW5mbykKIAogICAgIGludCBy ZXN0b3JpbmcgPSAocmVzdG9yZV9maWxlIHx8IChtaWdyYXRlX2ZkID49IDApKTsKIAorICAgIGlm IChwb3N0Y29weV9yZXN1bWVkKQorICAgICAgICAqcG9zdGNvcHlfcmVzdW1lZCA9IGZhbHNlOwor CiAgICAgbGlieGxfZG9tYWluX2NvbmZpZ19pbml0KCZkX2NvbmZpZyk7CiAKICAgICBpZiAocmVz dG9yaW5nKSB7CkBAIC04ODIsOCArODg2LDggQEAgc3RhcnQ6CiAKICAgICAgICAgcmV0ID0gbGli eGxfZG9tYWluX2NyZWF0ZV9yZXN0b3JlKGN0eCwgJmRfY29uZmlnLAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgJmRvbWlkLCByZXN0b3JlX2ZkLAotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VuZF9iYWNrX2ZkLCBOVUxMLCAmcGFy YW1zLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgYXV0b2Nv bm5lY3RfY29uc29sZV9ob3cpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgc2VuZF9iYWNrX2ZkLCBwb3N0Y29weV9yZXN1bWVkLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgJnBhcmFtcywgMCwgYXV0b2Nvbm5lY3RfY29uc29sZV9o b3cpOwogCiAgICAgICAgIGxpYnhsX2RvbWFpbl9yZXN0b3JlX3BhcmFtc19kaXNwb3NlKCZwYXJh bXMpOwogCi0tIAoyLjcuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcK aHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=