From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bruno Alvisio Subject: [PATCH RFC v2 5/8] Improved migration flow syntax in libxl Date: Wed, 18 Oct 2017 10:26:32 -0700 Message-ID: <1508347595-11657-6-git-send-email-bruno.alvisio@gmail.com> References: <1508347595-11657-1-git-send-email-bruno.alvisio@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1508347595-11657-1-git-send-email-bruno.alvisio@gmail.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: wei.liu2@citrix.com, ian.jackson@eu.citrix.com, bruno.alvisio@gmail.com, dave@recoil.org List-Id: xen-devel@lists.xenproject.org LS0tCiB0b29scy9saWJ4bC9saWJ4bF9jcmVhdGUuYyAgICAgICB8ICA1ICsrKy0tCiB0b29scy9s aWJ4bC9saWJ4bF9kbS5jICAgICAgICAgICB8IDEwICsrKysrLS0tLS0KIHRvb2xzL2xpYnhsL2xp YnhsX2ludGVybmFsLmggICAgIHwgIDQgKystLQogdG9vbHMvbGlieGwvbGlieGxfc2F2ZV9jYWxs b3V0LmMgfCA0MSArKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tCiB0b29s cy9saWJ4bC9saWJ4bF9zYXZlX2hlbHBlci5jICB8IDE1ICsrKysrKysrKystLS0tLQogdG9vbHMv bGlieGwvbGlieGxfdHlwZXMuaWRsICAgICAgfCAgNiArKysrKysKIDYgZmlsZXMgY2hhbmdlZCwg NDggaW5zZXJ0aW9ucygrKSwgMzMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvdG9vbHMvbGli eGwvbGlieGxfY3JlYXRlLmMgYi90b29scy9saWJ4bC9saWJ4bF9jcmVhdGUuYwppbmRleCBmMTBm MmNlLi42ZGYyNzU0IDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9jcmVhdGUuYworKysg Yi90b29scy9saWJ4bC9saWJ4bF9jcmVhdGUuYwpAQCAtMTEyMSw2ICsxMTIxLDcgQEAgc3RhdGlj IHZvaWQgZG9tY3JlYXRlX2Jvb3Rsb2FkZXJfZG9uZShsaWJ4bF9fZWdjICplZ2MsCiAgICAgZGNz LT5zZHNzLmRtLnNwYXduLmFvID0gYW87CiAgICAgZGNzLT5zZHNzLmRtLmd1ZXN0X2NvbmZpZyA9 IGRjcy0+Z3Vlc3RfY29uZmlnOwogICAgIGRjcy0+c2Rzcy5kbS5idWlsZF9zdGF0ZSA9ICZkY3Mt PmJ1aWxkX3N0YXRlOworICAgIGRjcy0+c2Rzcy5kbS5taXJyb3JfcWVtdV9kaXNrcyA9IGRjcy0+ bWlycm9yX3FlbXVfZGlza3M7CiAgICAgaWYoIWRjcy0+bWlycm9yX3FlbXVfZGlza3MpIHsKICAg ICAgICAgZGNzLT5zZHNzLmRtLmNhbGxiYWNrID0gZG9tY3JlYXRlX2Rldm1vZGVsX3N0YXJ0ZWQ7 CiAgICAgICAgIGRjcy0+c2Rzcy5jYWxsYmFjayA9IGRvbWNyZWF0ZV9kZXZtb2RlbF9zdGFydGVk OwpAQCAtMTUxOCw3ICsxNTE5LDcgQEAgc3RhdGljIHZvaWQgZG9tY3JlYXRlX2xhdW5jaF9kbShs aWJ4bF9fZWdjICplZ2MsIGxpYnhsX19tdWx0aWRldiAqbXVsdGlkZXYsCiAgICAgICAgIGlmIChs aWJ4bF9kZWZib29sX3ZhbChkX2NvbmZpZy0+Yl9pbmZvLmRldmljZV9tb2RlbF9zdHViZG9tYWlu KSkKICAgICAgICAgICAgIGxpYnhsX19zcGF3bl9zdHViX2RtKGVnYywgJmRjcy0+c2Rzcyk7CiAg ICAgICAgIGVsc2UKLSAgICAgICAgICAgIGxpYnhsX19zcGF3bl9sb2NhbF9kbShlZ2MsICZkY3Mt PnNkc3MuZG0sIGRjcy0+bWlycm9yX3FlbXVfZGlza3MpOworICAgICAgICAgICAgbGlieGxfX3Nw YXduX2xvY2FsX2RtKGVnYywgJmRjcy0+c2Rzcy5kbSk7CiAKICAgICAgICAgLyoKICAgICAgICAg ICogSGFuZGxlIHRoZSBkb21haW4ncyAoYW5kIHRoZSByZWxhdGVkIHN0dWJkb21haW4ncykgYWNj ZXNzIHRvCkBAIC0xNTUwLDcgKzE1NTEsNyBAQCBzdGF0aWMgdm9pZCBkb21jcmVhdGVfbGF1bmNo X2RtKGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX211bHRpZGV2ICptdWx0aWRldiwKICAgICAgICAg ICAgIGdvdG8gZXJyb3Jfb3V0OwogICAgICAgICBpZiAocmV0KSB7CiAgICAgICAgICAgICBkY3Mt PnNkc3MuZG0uZ3Vlc3RfZG9taWQgPSBkb21pZDsKLSAgICAgICAgICAgIGxpYnhsX19zcGF3bl9s b2NhbF9kbShlZ2MsICZkY3MtPnNkc3MuZG0sIDApOworICAgICAgICAgICAgbGlieGxfX3NwYXdu X2xvY2FsX2RtKGVnYywgJmRjcy0+c2Rzcy5kbSk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAg ICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBhc3NlcnQoIWRjcy0+c2Rzcy5kbS5ndWVzdF9kb21p ZCk7CmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9kbS5jIGIvdG9vbHMvbGlieGwvbGli eGxfZG0uYwppbmRleCBmZjY3MjFkLi4wMDFlMTRlIDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9s aWJ4bF9kbS5jCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2RtLmMKQEAgLTEzOTYsNyArMTM5Niw3 IEBAIHN0YXRpYyBpbnQgbGlieGxfX2J1aWxkX2RldmljZV9tb2RlbF9hcmdzX25ldyhsaWJ4bF9f Z2MgKmdjLAogICAgICAgICB9CiAgICAgfQogCi0gICAgaWYgKHN0YXRlLT5zYXZlZF9zdGF0ZSAm JiAhbWlycm9yX3FlbXVfZGlza3MpIHsKKyAgICBpZiAoc3RhdGUtPnNhdmVkX3N0YXRlKSB7CiAg ICAgICAgIC8qIFRoaXMgZmlsZSBkZXNjcmlwdG9yIGlzIG1lYW50IHRvIGJlIHVzZWQgYnkgUUVN VSAqLwogICAgICAgICAqZG1fc3RhdGVfZmQgPSBvcGVuKHN0YXRlLT5zYXZlZF9zdGF0ZSwgT19S RE9OTFkpOwogICAgICAgICBmbGV4YXJyYXlfYXBwZW5kKGRtX2FyZ3MsICItaW5jb21pbmciKTsK QEAgLTIwNjIsNyArMjA2Miw3IEBAIHN0YXRpYyB2b2lkIHNwYXduX3N0dWJfbGF1bmNoX2RtKGxp YnhsX19lZ2MgKmVnYywKICAgICAgICAgLyogSWYgZG9tMCBxZW11IG5vdCBuZWVkZWQsIGRvIG5v dCBsYXVuY2ggaXQgKi8KICAgICAgICAgc3Bhd25fc3R1YmRvbV9wdnFlbXVfY2IoZWdjLCAmc2Rz cy0+cHZxZW11LCAwKTsKICAgICB9IGVsc2UgewotICAgICAgICBsaWJ4bF9fc3Bhd25fbG9jYWxf ZG0oZWdjLCAmc2Rzcy0+cHZxZW11LCAwKTsKKyAgICAgICAgbGlieGxfX3NwYXduX2xvY2FsX2Rt KGVnYywgJnNkc3MtPnB2cWVtdSk7CiAgICAgfQogCiAgICAgcmV0dXJuOwpAQCAtMjE2Nyw4ICsy MTY3LDcgQEAgc3RhdGljIHZvaWQgZGV2aWNlX21vZGVsX3NwYXduX291dGNvbWUobGlieGxfX2Vn YyAqZWdjLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2Rt X3NwYXduX3N0YXRlICpkbXNzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgaW50IHJjKTsKIAotdm9pZCBsaWJ4bF9fc3Bhd25fbG9jYWxfZG0obGlieGxfX2VnYyAqZWdj LCBsaWJ4bF9fZG1fc3Bhd25fc3RhdGUgKmRtc3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICBpbnQgbWlycm9yX3FlbXVfZGlza3MpCit2b2lkIGxpYnhsX19zcGF3bl9sb2NhbF9kbShsaWJ4 bF9fZWdjICplZ2MsIGxpYnhsX19kbV9zcGF3bl9zdGF0ZSAqZG1zcykKIHsKICAgICAvKiBjb252 ZW5pZW5jZSBhbGlhc2VzICovCiAgICAgY29uc3QgaW50IGRvbWlkID0gZG1zcy0+Z3Vlc3RfZG9t aWQ7CkBAIC0yMjA4LDcgKzIyMDcsOCBAQCB2b2lkIGxpYnhsX19zcGF3bl9sb2NhbF9kbShsaWJ4 bF9fZWdjICplZ2MsIGxpYnhsX19kbV9zcGF3bl9zdGF0ZSAqZG1zcywKICAgICB9CiAgICAgcmMg PSBsaWJ4bF9fYnVpbGRfZGV2aWNlX21vZGVsX2FyZ3MoZ2MsIGRtLCBkb21pZCwgZ3Vlc3RfY29u ZmlnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmFyZ3MsICZl bnZzLCBzdGF0ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZk bV9zdGF0ZV9mZCwgbWlycm9yX3FlbXVfZGlza3MpOworICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgJmRtX3N0YXRlX2ZkLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgZG1zcy0+bWlycm9yX3FlbXVfZGlza3MpOwogICAgIGlmIChyYykK ICAgICAgICAgZ290byBvdXQ7CiAKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVy bmFsLmggYi90b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oCmluZGV4IDE2YTQ3NmYuLjMwODYy YzYgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmgKKysrIGIvdG9vbHMv bGlieGwvbGlieGxfaW50ZXJuYWwuaApAQCAtMzc4MCw3ICszNzgwLDcgQEAgX2hpZGRlbiB2b2lk IGxpYnhsX19kb21haW5fc2F2ZShsaWJ4bF9fZWdjICplZ2MsCiBfaGlkZGVuIHZvaWQgbGlieGxf X3hjX2RvbWFpbl9zYXZlKGxpYnhsX19lZ2MgKmVnYywKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgbGlieGxfX2RvbWFpbl9zYXZlX3N0YXRlICpkc3MsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19zYXZlX2hlbHBlcl9zdGF0ZSAqc2hzLAotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbWlycm9yX3FlbXVfZGlza3MpOwor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbWlncmF0aW9uX3BoYXNlKTsK IC8qIElmIHJjPT0wIHRoZW4gcmV0dmFsIGlzIHRoZSByZXR1cm4gdmFsdWUgZnJvbSB4Y19kb21h aW5fc2F2ZQogICogYW5kIGVycm5vdmFsIGlzIHRoZSBlcnJubyB2YWx1ZSBpdCBwcm92aWRlZC4K ICAqIElmIHJjIT0wLCByZXR2YWwgYW5kIGVycm5vdmFsIGFyZSB1bmRlZmluZWQuICovCkBAIC0z ODEzLDcgKzM4MTMsNyBAQCBfaGlkZGVuIGludCBsaWJ4bF9fcmVzdG9yZV9lbXVsYXRvcl94ZW5z dG9yZV9kYXRhCiBfaGlkZGVuIHZvaWQgbGlieGxfX3hjX2RvbWFpbl9yZXN0b3JlKGxpYnhsX19l Z2MgKmVnYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX2Rv bWFpbl9jcmVhdGVfc3RhdGUgKmRjcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgbGlieGxfX3NhdmVfaGVscGVyX3N0YXRlICpzaHMsCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGludCBodm0sIGludCBwYWUsIGludCBtaXJyb3JfcWVtdV9kaXNr cyk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBodm0sIGludCBw YWUsIGludCBtaWdyYXRpb25fcGhhc2UpOwogLyogSWYgcmM9PTAgdGhlbiByZXR2YWwgaXMgdGhl IHJldHVybiB2YWx1ZSBmcm9tIHhjX2RvbWFpbl9zYXZlCiAgKiBhbmQgZXJybm92YWwgaXMgdGhl IGVycm5vIHZhbHVlIGl0IHByb3ZpZGVkLgogICogSWYgcmMhPTAsIHJldHZhbCBhbmQgZXJybm92 YWwgYXJlIHVuZGVmaW5lZC4gKi8KZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX3NhdmVf Y2FsbG91dC5jIGIvdG9vbHMvbGlieGwvbGlieGxfc2F2ZV9jYWxsb3V0LmMKaW5kZXggMjkwZDkx ZC4uNDhmOTZkOCAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfc2F2ZV9jYWxsb3V0LmMK KysrIGIvdG9vbHMvbGlieGwvbGlieGxfc2F2ZV9jYWxsb3V0LmMKQEAgLTQzLDcgKzQzLDcgQEAg c3RhdGljIHZvaWQgaGVscGVyX2RvbmUobGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fc2F2ZV9oZWxw ZXJfc3RhdGUgKnNocyk7CiAKIHZvaWQgbGlieGxfX3hjX2RvbWFpbl9yZXN0b3JlKGxpYnhsX19l Z2MgKmVnYywgbGlieGxfX2RvbWFpbl9jcmVhdGVfc3RhdGUgKmRjcywKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGxpYnhsX19zYXZlX2hlbHBlcl9zdGF0ZSAqc2hzLAotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgaW50IGh2bSwgaW50IHBhZSwgaW50IG1pcnJvcl9xZW11X2Rp c2tzKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGh2bSwgaW50IHBhZSwgaW50 IG1pZ3JhdGlvbl9waGFzZSkKIHsKICAgICBTVEFURV9BT19HQyhkY3MtPmFvKTsKIApAQCAtNjIs OCArNjIsNyBAQCB2b2lkIGxpYnhsX194Y19kb21haW5fcmVzdG9yZShsaWJ4bF9fZWdjICplZ2Ms IGxpYnhsX19kb21haW5fY3JlYXRlX3N0YXRlICpkY3MsCiAgICAgICAgIHN0YXRlLT5zdG9yZV9k b21pZCwgc3RhdGUtPmNvbnNvbGVfcG9ydCwKICAgICAgICAgc3RhdGUtPmNvbnNvbGVfZG9taWQs CiAgICAgICAgIGh2bSwgcGFlLAotICAgICAgICBjYmZsYWdzLCBkY3MtPnJlc3RvcmVfcGFyYW1z LmNoZWNrcG9pbnRlZF9zdHJlYW0sCi0gICAgICAgIG1pcnJvcl9xZW11X2Rpc2tzLAorICAgICAg ICBjYmZsYWdzLCBkY3MtPnJlc3RvcmVfcGFyYW1zLmNoZWNrcG9pbnRlZF9zdHJlYW0KICAgICB9 OwogCiAgICAgc2hzLT5hbyA9IGFvOwpAQCAtNzMsMjEgKzcyLDI1IEBAIHZvaWQgbGlieGxfX3hj X2RvbWFpbl9yZXN0b3JlKGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX2RvbWFpbl9jcmVhdGVfc3Rh dGUgKmRjcywKICAgICAgICAgTElCWExfQ0hFQ0tQT0lOVEVEX1NUUkVBTV9DT0xPKSB7CiAgICAg ICAgIHNocy0+Y29tcGxldGlvbl9jYWxsYmFjayA9IGxpYnhsX19jb2xvX3Jlc3RvcmVfdGVhcmRv d247CiAgICAgfSBlbHNlIHsKLSAgICAgICAgaWYoIW1pcnJvcl9xZW11X2Rpc2tzKXsKKyAgICAg ICAgaWYgKCBtaWdyYXRpb25fcGhhc2UgIT0gTElCWExfTUlHUkFUSU9OX1BIQVNFX01JUlJPUl9E SVNLICkgewogICAgICAgICAgICAgc2hzLT5jb21wbGV0aW9uX2NhbGxiYWNrID0gbGlieGxfX3hj X2RvbWFpbl9yZXN0b3JlX2RvbmU7CisgICAgICAgICAgICBpZiggbG9jYWxfZGlza3MgPT0gTElC WExfTUlHUkFUSU9OX1BIQVNFX1ZJUlRVQUxfUkFNICkKKyAgICAgICAgICAgICAgICBzaHMtPm5l ZWRfcmVzdWx0cyA9IDA7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgc2hzLT5u ZWVkX3Jlc3VsdHMgPSAxOwogICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgc2hzLT5jb21w bGV0aW9uX2NhbGxiYWNrID0gbGlieGxfX3hjX2h2bV9wYXJhbXNfcmVzdG9yZV9kb25lOworICAg ICAgICAgICAgc2hzLT5jb21wbGV0aW9uX2NhbGxiYWNrID0gbGlieGxfX3hjX21pcnJvcl9kaXNr c19yZXN0b3JlX2RvbmU7CisgICAgICAgICAgICBzaHMtPm5lZWRfcmVzdWx0cyA9IDE7CiAgICAg ICAgIH0KICAgICB9CiAgICAgc2hzLT5jYWxsZXJfc3RhdGUgPSBkY3M7Ci0gICAgc2hzLT5uZWVk X3Jlc3VsdHMgPSAxOwogCiAgICAgcnVuX2hlbHBlcihlZ2MsIHNocywgIi0tcmVzdG9yZS1kb21h aW4iLCByZXN0b3JlX2ZkLCBzZW5kX2JhY2tfZmQsIDAsIDAsCiAgICAgICAgICAgICAgICBhcmdu dW1zLCBBUlJBWV9TSVpFKGFyZ251bXMpKTsKIH0KIAogdm9pZCBsaWJ4bF9feGNfZG9tYWluX3Nh dmUobGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fZG9tYWluX3NhdmVfc3RhdGUgKmRzcywKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19zYXZlX2hlbHBlcl9zdGF0ZSAqc2hzLCBpbnQg bWlycm9yX3FlbXVfZGlza3MpCisgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fc2F2 ZV9oZWxwZXJfc3RhdGUgKnNocywgaW50IG1pZ3JhdGlvbl9waGFzZSkKIHsKICAgICBTVEFURV9B T19HQyhkc3MtPmFvKTsKIApAQCAtOTYsMTcgKzk5LDE3IEBAIHZvaWQgbGlieGxfX3hjX2RvbWFp bl9zYXZlKGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX2RvbWFpbl9zYXZlX3N0YXRlICpkc3MsCiAK ICAgICBjb25zdCB1bnNpZ25lZCBsb25nIGFyZ251bXNbXSA9IHsKICAgICAgICAgZHNzLT5kb21p ZCwgMCwgMCwgZHNzLT54Y2ZsYWdzLCBkc3MtPmh2bSwKLSAgICAgICAgY2JmbGFncywgZHNzLT5j aGVja3BvaW50ZWRfc3RyZWFtLCBtaXJyb3JfcWVtdV9kaXNrcywKKyAgICAgICAgY2JmbGFncywg ZHNzLT5jaGVja3BvaW50ZWRfc3RyZWFtLCBtaWdyYXRpb25fcGhhc2UsCiAgICAgfTsKIAogICAg IHNocy0+YW8gPSBhbzsKICAgICBzaHMtPmRvbWlkID0gZHNzLT5kb21pZDsKICAgICBzaHMtPnJl Y3ZfY2FsbGJhY2sgPSBsaWJ4bF9fc3JtX2NhbGxvdXRfcmVjZWl2ZWRfc2F2ZTsKLSAgICBpZigh bWlycm9yX3FlbXVfZGlza3MpeworICAgICBpZiAoIG1pZ3JhdGlvbl9waGFzZSAhPSBMSUJYTF9N SUdSQVRJT05fUEhBU0VfTUlSUk9SX0RJU0sgKQogICAgICAgICBzaHMtPmNvbXBsZXRpb25fY2Fs bGJhY2sgPSBsaWJ4bF9feGNfZG9tYWluX3NhdmVfZG9uZTsKLSAgICB9ZWxzZXsKLSAgICAgICAg c2hzLT5jb21wbGV0aW9uX2NhbGxiYWNrID0gbGlieGxfX3hjX2h2bV9wYXJhbXNfc2F2ZV9kb25l OwotICAgIH0KKyAgICBlbHNlCisgICAgICAgIHNocy0+Y29tcGxldGlvbl9jYWxsYmFjayA9IGxp YnhsX194Y19taXJyb3JfZGlza3Nfc2F2ZV9kb25lOworCiAgICAgc2hzLT5jYWxsZXJfc3RhdGUg PSBkc3M7CiAgICAgc2hzLT5uZWVkX3Jlc3VsdHMgPSAwOwogCkBAIC0zNDYsMTMgKzM0OSwxMyBA QCBzdGF0aWMgdm9pZCBoZWxwZXJfZXhpdGVkKGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX2V2X2No aWxkICpjaCwKICAgICAgICAgaWYgKCFzaHMtPnJjKQogICAgICAgICAgICAgc2hzLT5yYyA9IEVS Uk9SX0ZBSUw7CiAgICAgfQotLy8gICAgYmFsdmlzaW86IFRPRE86IEZJWAotLy8gICAgaWYgKHNo cy0+bmVlZF9yZXN1bHRzKSB7Ci0vLyAgICAgICAgaWYgKCFzaHMtPnJjKSB7Ci0vLyAgICAgICAg ICAgIExPR0QoRVJST1Isc2hzLT5kb21pZCwiJXMgZXhpdGVkIHdpdGhvdXQgcHJvdmlkaW5nIHJl c3VsdHMiLHdoYXQpOwotLy8gICAgICAgICAgICBzaHMtPnJjID0gRVJST1JfRkFJTDsKLS8vICAg ICAgICB9Ci0vLyAgICB9CisKKyAgICBpZiAoc2hzLT5uZWVkX3Jlc3VsdHMpIHsKKyAgICAgICAg aWYgKCFzaHMtPnJjKSB7CisgICAgICAgICAgICBMT0dEKEVSUk9SLHNocy0+ZG9taWQsIiVzIGV4 aXRlZCB3aXRob3V0IHByb3ZpZGluZyByZXN1bHRzIix3aGF0KTsKKyAgICAgICAgICAgIHNocy0+ cmMgPSBFUlJPUl9GQUlMOworICAgICAgICB9CisgICAgfQogCiAgICAgaWYgKCFzaHMtPmNvbXBs ZXRlZCkgewogICAgICAgICBpZiAoIXNocy0+cmMpIHsKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhs L2xpYnhsX3NhdmVfaGVscGVyLmMgYi90b29scy9saWJ4bC9saWJ4bF9zYXZlX2hlbHBlci5jCmlu ZGV4IGNmYzkyNzkuLjlhNTdiMjggMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX3NhdmVf aGVscGVyLmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfc2F2ZV9oZWxwZXIuYwpAQCAtMjU3LDcg KzI1Nyw3IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKICAgICAgICAgaW50IGh2 bSA9ICAgICAgICAgICAgICAgICAgICAgICAgICAgYXRvaShORVhUQVJHKTsKICAgICAgICAgdW5z aWduZWQgY2JmbGFncyA9ICAgICAgICAgICAgICAgICAgc3RydG91bChORVhUQVJHLDAsMTApOwog ICAgICAgICB4Y19taWdyYXRpb25fc3RyZWFtX3Qgc3RyZWFtX3R5cGUgPSBzdHJ0b3VsKE5FWFRB UkcsMCwxMCk7Ci0gICAgICAgIGludCBtaXJyb3JfcWVtdV9kaXNrcyA9ICAgICAgICAgICAgICAg ICAgIGF0b2koTkVYVEFSRyk7CisgICAgICAgIGludCBtaWdyYXRpb25fcGhhc2UgPSAgICAgICAg ICAgICAgIGF0b2koTkVYVEFSRyk7CiAgICAgICAgIGFzc2VydCghKisrYXJndik7CiAKICAgICAg ICAgaGVscGVyX3NldGNhbGxiYWNrc19zYXZlKCZoZWxwZXJfc2F2ZV9jYWxsYmFja3MsIGNiZmxh Z3MpOwpAQCAtMjY3LDcgKzI2Nyw3IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikK IAogICAgICAgICByID0geGNfZG9tYWluX3NhdmUoeGNoLCBpb19mZCwgZG9tLCBtYXhfaXRlcnMs IG1heF9mYWN0b3IsIGZsYWdzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgJmhlbHBlcl9z YXZlX2NhbGxiYWNrcywgaHZtLCBzdHJlYW1fdHlwZSwKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgIHJlY3ZfZmQsIG1pcnJvcl9xZW11X2Rpc2tzKTsKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgIHJlY3ZfZmQsIG1pZ3JhdGlvbl9waGFzZSk7CiAgICAgICAgIGNvbXBsZXRlKHIpOwogCiAg ICAgfSBlbHNlIGlmICghc3RyY21wKG1vZGUsIi0tcmVzdG9yZS1kb21haW4iKSkgewpAQCAtMjgz LDcgKzI4Myw3IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKICAgICAgICAgdW5z aWduZWQgaW50IHBhZSA9ICAgICAgICAgICAgICAgICAgc3RydG91bChORVhUQVJHLDAsMTApOwog ICAgICAgICB1bnNpZ25lZCBjYmZsYWdzID0gICAgICAgICAgICAgICAgICBzdHJ0b3VsKE5FWFRB UkcsMCwxMCk7CiAgICAgICAgIHhjX21pZ3JhdGlvbl9zdHJlYW1fdCBzdHJlYW1fdHlwZSA9IHN0 cnRvdWwoTkVYVEFSRywwLDEwKTsKLSAgICAgICAgaW50IG1pcnJvcl9xZW11X2Rpc2tzID0gICAg ICAgICAgICAgYXRvaShORVhUQVJHKTsKKyAgICAgICAgaW50IG1pZ3JhdGlvbl9waGFzZSA9ICAg ICAgICAgICAgICAgYXRvaShORVhUQVJHKTsKICAgICAgICAgYXNzZXJ0KCEqKythcmd2KTsKIAog ICAgICAgICBoZWxwZXJfc2V0Y2FsbGJhY2tzX3Jlc3RvcmUoJmhlbHBlcl9yZXN0b3JlX2NhbGxi YWNrcywgY2JmbGFncyk7CkBAIC0yOTgsOCArMjk4LDEzIEBAIGludCBtYWluKGludCBhcmdjLCBj aGFyICoqYXJndikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0b3JlX2RvbWlkLCBj b25zb2xlX2V2dGNobiwgJmNvbnNvbGVfbWZuLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgY29uc29sZV9kb21pZCwgaHZtLCBwYWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzdHJlYW1fdHlwZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZoZWxwZXJfcmVz dG9yZV9jYWxsYmFja3MsIHNlbmRfYmFja19mZCk7Ci0gICAgICAgIGhlbHBlcl9zdHViX3Jlc3Rv cmVfcmVzdWx0cyhzdG9yZV9tZm4sY29uc29sZV9tZm4sMCk7CisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAmaGVscGVyX3Jlc3RvcmVfY2FsbGJhY2tzLCBzZW5kX2JhY2tfZmQsCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBtaWdyYXRpb25fcGhhc2UpOworCisgICAgICAgIGlm IChtaWdyYXRpb25fcGhhc2UgPT0gTElCWExfTUlHUkFUSU9OX1BIQVNFX05PTl9MT0NBTF9ESVNL IHx8CisgICAgICAgICAgICBtaWdyYXRpb25fcGhhc2UgPT0gTElCWExfTUlHUkFUSU9OX1BIQVNF X01JUlJPUl9ESVNLKSB7CisgICAgICAgICAgICBoZWxwZXJfc3R1Yl9yZXN0b3JlX3Jlc3VsdHMo c3RvcmVfbWZuLGNvbnNvbGVfbWZuLDApOworICAgICAgICB9CiAgICAgICAgIGNvbXBsZXRlKHIp OwogCiAgICAgfSBlbHNlIHsKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX3R5cGVzLmlk bCBiL3Rvb2xzL2xpYnhsL2xpYnhsX3R5cGVzLmlkbAppbmRleCAxNzNkNzBhLi5kZTVmNTM2IDEw MDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwKKysrIGIvdG9vbHMvbGlieGwv bGlieGxfdHlwZXMuaWRsCkBAIC0yNDAsNiArMjQwLDEyIEBAIGxpYnhsX2NoZWNrcG9pbnRlZF9z dHJlYW0gPSBFbnVtZXJhdGlvbigiY2hlY2twb2ludGVkX3N0cmVhbSIsIFsKICAgICAoMiwgIkNP TE8iKSwKICAgICBdKQogCitsaWJ4bF9zdHJlYW1fcGhhc2UgPSBFbnVtZXJhdGlvbigibWlncmF0 aW9uX3BoYXNlIiwgWworICAgICgwLCAiTk9OX0xPQ0FMX0RJU0siKSwKKyAgICAoMSwgIlZJUlRV QUxfUkFNIiksCisgICAgKDIsICJNSVJST1JfRElTSyIpLAorICAgIF0pCisKICMKICMgQ29tcGxl eCBsaWJ4bCB0eXBlcwogIwotLSAKMi4zLjIgKEFwcGxlIEdpdC01NSkKCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0 Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK