From mboxrd@z Thu Jan 1 00:00:00 1970 From: Changlong Xie Subject: [PATCH v13 02/26] tools/libxl: introduce libxl__domain_common_switch_qemu_logdirty() Date: Fri, 25 Mar 2016 14:44:09 +0800 Message-ID: <1458888273-7469-3-git-send-email-xiecl.fnst@cn.fujitsu.com> References: <1458888273-7469-1-git-send-email-xiecl.fnst@cn.fujitsu.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1458888273-7469-1-git-send-email-xiecl.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 , Konrad Rzeszutek Wilk , Andrew Cooper , Ian Campbell , Ian Jackson , Wei Liu Cc: Lars Kurth , Changlong Xie , Wen Congyang , Li Zhijian , Gui Jianfeng , Jiang Yunhong , Dong Eddie , Anthony Perard , Shriram Rajagopalan , Yang Hongyang List-Id: xen-devel@lists.xenproject.org RnJvbTogV2VuIENvbmd5YW5nIDx3ZW5jeUBjbi5mdWppdHN1LmNvbT4KClNlY29uZGFyeSB2bSBp cyBydW5uaW5nIGluIENPTE8gbW9kZSwgd2UgbmVlZCB0byBzZW5kIHNlY29uZGFyeQp2bSdzIGRp cnR5IHBhZ2UgaW5mb3JtYXRpb24gdG8gcHJpbWFyeSBob3N0IGF0IGNoZWNrcG9pbnQsIHNvIHdl CmhhdmUgdG8gZW5hYmxlIHFlbXUgbG9nZGlydHkgb24gc2Vjb25kYXJ5LgoKbGlieGxfX2RvbWFp bl9zdXNwZW5kX2NvbW1vbl9zd2l0Y2hfcWVtdV9sb2dkaXJ0eSgpIGlzIHRvIGVuYWJsZQpxZW11 IGxvZ2RpcnR5LiBCdXQgaXQgdXNlcyBsaWJ4bF9fZG9tYWluX3NhdmVfc3RhdGUsIGFuZCBjYWxs cwpsaWJ4bF9feGNfZG9tYWluX3NhdmVyZXN0b3JlX2FzeW5jX2NhbGxiYWNrX2RvbmUoKSBiZWZv cmUgZXhpdHMuClRoaXMgY2FuIG5vdCBiZSB1c2VkIGZvciBzZWNvbmRhcnkgdm0uCgpVcGRhdGUg bGlieGxfX2RvbWFpbl9zdXNwZW5kX2NvbW1vbl9zd2l0Y2hfcWVtdV9sb2dkaXJ0eSgpIHRvCmlu dHJvZHVjZSBhIG5ldyBBUEkgbGlieGxfX2RvbWFpbl9jb21tb25fc3dpdGNoX3FlbXVfbG9nZGly dHkoKS4KVGhpcyBBUEkgb25seSB1c2VzIGxpYnhsX19sb2dkaXJ0eV9zd2l0Y2gsIGFuZCBjYWxs cwpsZHMtPmNhbGxiYWNrIGJlZm9yZSBleGl0cy4gVGhpcyBuZXcgQVBJIHdpbGwgYmUgdXNlZCBi eSB0aGUgcGF0Y2g6CiAgc2Vjb25kYXJ5IHZtIHN1c3BlbmQvcmVzdW1lL2NoZWNrcG9pbnQgY29k ZXMKClNpZ25lZC1vZmYtYnk6IFlhbmcgSG9uZ3lhbmcgPGhvbmd5YW5nLnlhbmdAZWFzeXN0YWNr LmNuPgpTaWduZWQtb2ZmLWJ5OiBXZW4gQ29uZ3lhbmcgPHdlbmN5QGNuLmZ1aml0c3UuY29tPgpT aWduZWQtb2ZmLWJ5OiBDaGFuZ2xvbmcgWGllIDx4aWVjbC5mbnN0QGNuLmZ1aml0c3UuY29tPgpD QzogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KQWNrZWQtYnk6IElh biBDYW1wYmVsbCA8aWFuLmNhbXBiZWxsQGNpdHJpeC5jb20+ClJldmlld2VkLWJ5OiBLb25yYWQg Unplc3p1dGVrIFdpbGsgPGtvbnJhZC53aWxrQG9yYWNsZS5jb20+CkFja2VkLWJ5OiBXZWkgTGl1 IDx3ZWkubGl1MkBjaXRyaXguY29tPgotLS0KIHRvb2xzL2xpYnhsL2xpYnhsX2RvbV9zYXZlLmMg fCA5NSArKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLQogdG9vbHMv bGlieGwvbGlieGxfaW50ZXJuYWwuaCB8ICA4ICsrKysKIDIgZmlsZXMgY2hhbmdlZCwgNjAgaW5z ZXJ0aW9ucygrKSwgNDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGli eGxfZG9tX3NhdmUuYyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2RvbV9zYXZlLmMKaW5kZXggZjMyODhi OS4uNGRmODZjMyAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfZG9tX3NhdmUuYworKysg Yi90b29scy9saWJ4bC9saWJ4bF9kb21fc2F2ZS5jCkBAIC00Miw3ICs0Miw3IEBAIHN0YXRpYyB2 b2lkIHN3aXRjaF9sb2dkaXJ0eV90aW1lb3V0KGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX2V2X3Rp bWUgKmV2LAogc3RhdGljIHZvaWQgc3dpdGNoX2xvZ2RpcnR5X3hzd2F0Y2gobGlieGxfX2VnYyAq ZWdjLCBsaWJ4bF9fZXZfeHN3YXRjaCosCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u c3QgY2hhciAqd2F0Y2hfcGF0aCwgY29uc3QgY2hhciAqZXZlbnRfcGF0aCk7CiBzdGF0aWMgdm9p ZCBzd2l0Y2hfbG9nZGlydHlfZG9uZShsaWJ4bF9fZWdjICplZ2MsCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBsaWJ4bF9fZG9tYWluX3NhdmVfc3RhdGUgKmRzcywgaW50IHJjKTsK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19sb2dkaXJ0eV9zd2l0Y2gg KmxkcywgaW50IHJjKTsKIAogdm9pZCBsaWJ4bF9fbG9nZGlydHlfaW5pdChsaWJ4bF9fbG9nZGly dHlfc3dpdGNoICpsZHMpCiB7CkBAIC01MiwxMyArNTIsMTAgQEAgdm9pZCBsaWJ4bF9fbG9nZGly dHlfaW5pdChsaWJ4bF9fbG9nZGlydHlfc3dpdGNoICpsZHMpCiB9CiAKIHN0YXRpYyB2b2lkIGRv bWFpbl9zdXNwZW5kX3N3aXRjaF9xZW11X3hlbl90cmFkaXRpb25hbF9sb2dkaXJ0eQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIChpbnQgZG9taWQsIHVuc2lnbmVkIGVuYWJsZSwKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX3NhdmVfaGVscGVyX3N0YXRlICpz aHMpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxpYnhsX19lZ2MgKmVnYywgaW50 IGRvbWlkLCB1bnNpZ25lZCBlbmFibGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGxpYnhsX19sb2dkaXJ0eV9zd2l0Y2ggKmxkcykKIHsKLSAgICBsaWJ4bF9fZWdjICplZ2MgPSBz aHMtPmVnYzsKLSAgICBsaWJ4bF9fZG9tYWluX3NhdmVfc3RhdGUgKmRzcyA9IHNocy0+Y2FsbGVy X3N0YXRlOwotICAgIGxpYnhsX19sb2dkaXJ0eV9zd2l0Y2ggKmxkcyA9ICZkc3MtPmxvZ2RpcnR5 OwotICAgIFNUQVRFX0FPX0dDKGRzcy0+YW8pOworICAgIFNUQVRFX0FPX0dDKGxkcy0+YW8pOwog ICAgIGludCByYzsKICAgICB4c190cmFuc2FjdGlvbl90IHQgPSAwOwogICAgIGNvbnN0IGNoYXIg KmdvdDsKQEAgLTEyMCwyNiArMTE3LDM0IEBAIHN0YXRpYyB2b2lkIGRvbWFpbl9zdXNwZW5kX3N3 aXRjaF9xZW11X3hlbl90cmFkaXRpb25hbF9sb2dkaXJ0eQogIG91dDoKICAgICBMT0coRVJST1Is ImxvZ2RpcnR5IHN3aXRjaCBmYWlsZWQgKHJjPSVkKSwgYWJhbmRvbmluZyBzdXNwZW5kIixyYyk7 CiAgICAgbGlieGxfX3hzX3RyYW5zYWN0aW9uX2Fib3J0KGdjLCAmdCk7Ci0gICAgc3dpdGNoX2xv Z2RpcnR5X2RvbmUoZWdjLGRzcyxyYyk7CisgICAgc3dpdGNoX2xvZ2RpcnR5X2RvbmUoZWdjLGxk cyxyYyk7CiB9CiAKIHN0YXRpYyB2b2lkIGRvbWFpbl9zdXNwZW5kX3N3aXRjaF9xZW11X3hlbl9s b2dkaXJ0eQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpbnQgZG9taWQsIHVuc2ln bmVkIGVuYWJsZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX3NhdmVf aGVscGVyX3N0YXRlICpzaHMpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxpYnhs X19lZ2MgKmVnYywgaW50IGRvbWlkLCB1bnNpZ25lZCBlbmFibGUsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGxpYnhsX19sb2dkaXJ0eV9zd2l0Y2ggKmxkcykKIHsKLSAgICBsaWJ4 bF9fZWdjICplZ2MgPSBzaHMtPmVnYzsKLSAgICBsaWJ4bF9fZG9tYWluX3NhdmVfc3RhdGUgKmRz cyA9IHNocy0+Y2FsbGVyX3N0YXRlOwotICAgIFNUQVRFX0FPX0dDKGRzcy0+YW8pOworICAgIFNU QVRFX0FPX0dDKGxkcy0+YW8pOwogICAgIGludCByYzsKIAogICAgIHJjID0gbGlieGxfX3FtcF9z ZXRfZ2xvYmFsX2RpcnR5X2xvZyhnYywgZG9taWQsIGVuYWJsZSk7Ci0gICAgaWYgKCFyYykgewot ICAgICAgICBsaWJ4bF9feGNfZG9tYWluX3NhdmVyZXN0b3JlX2FzeW5jX2NhbGxiYWNrX2RvbmUo ZWdjLCBzaHMsIDApOwotICAgIH0gZWxzZSB7CisgICAgaWYgKHJjKQogICAgICAgICBMT0coRVJS T1IsImxvZ2RpcnR5IHN3aXRjaCBmYWlsZWQgKHJjPSVkKSwgYWJhbmRvbmluZyBzdXNwZW5kIixy Yyk7CisKKyAgICBsZHMtPmNhbGxiYWNrKGVnYywgbGRzLCByYyk7Cit9CisKK3N0YXRpYyB2b2lk IGRvbWFpbl9zdXNwZW5kX3N3aXRjaF9xZW11X2xvZ2RpcnR5X2RvbmUKKyAgICAgICAgICAgICAg ICAgICAgICAgIChsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19sb2dkaXJ0eV9zd2l0Y2ggKmxkcywg aW50IHJjKQoreworICAgIGxpYnhsX19kb21haW5fc2F2ZV9zdGF0ZSAqZHNzID0gQ09OVEFJTkVS X09GKGxkcywgKmRzcywgbG9nZGlydHkpOworCisgICAgaWYgKHJjKSB7CiAgICAgICAgIGRzcy0+ cmMgPSByYzsKLSAgICAgICAgbGlieGxfX3hjX2RvbWFpbl9zYXZlcmVzdG9yZV9hc3luY19jYWxs YmFja19kb25lKGVnYywgc2hzLCAtMSk7Ci0gICAgfQorICAgICAgICBsaWJ4bF9feGNfZG9tYWlu X3NhdmVyZXN0b3JlX2FzeW5jX2NhbGxiYWNrX2RvbmUoZWdjLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmRzcy0+c3dzLnNocywgLTEp OworICAgIH0gZWxzZQorICAgICAgICBsaWJ4bF9feGNfZG9tYWluX3NhdmVyZXN0b3JlX2FzeW5j X2NhbGxiYWNrX2RvbmUoZWdjLCAmZHNzLT5zd3Muc2hzLCAwKTsKIH0KIAogdm9pZCBsaWJ4bF9f ZG9tYWluX3N1c3BlbmRfY29tbW9uX3N3aXRjaF9xZW11X2xvZ2RpcnR5CkBAIC0xNDgsNDIgKzE1 Myw1MiBAQCB2b2lkIGxpYnhsX19kb21haW5fc3VzcGVuZF9jb21tb25fc3dpdGNoX3FlbXVfbG9n ZGlydHkKICAgICBsaWJ4bF9fc2F2ZV9oZWxwZXJfc3RhdGUgKnNocyA9IHVzZXI7CiAgICAgbGli eGxfX2VnYyAqZWdjID0gc2hzLT5lZ2M7CiAgICAgbGlieGxfX2RvbWFpbl9zYXZlX3N0YXRlICpk c3MgPSBzaHMtPmNhbGxlcl9zdGF0ZTsKLSAgICBTVEFURV9BT19HQyhkc3MtPmFvKTsKKworICAg IC8qIENvbnZlbmllbmNlIGFsaWFzZXMuICovCisgICAgbGlieGxfX2xvZ2RpcnR5X3N3aXRjaCAq Y29uc3QgbGRzID0gJmRzcy0+bG9nZGlydHk7CisKKyAgICBsZHMtPmNhbGxiYWNrID0gZG9tYWlu X3N1c3BlbmRfc3dpdGNoX3FlbXVfbG9nZGlydHlfZG9uZTsKKyAgICBsaWJ4bF9fZG9tYWluX2Nv bW1vbl9zd2l0Y2hfcWVtdV9sb2dkaXJ0eShlZ2MsIGRvbWlkLCBlbmFibGUsIGxkcyk7Cit9CisK K3ZvaWQgbGlieGxfX2RvbWFpbl9jb21tb25fc3dpdGNoX3FlbXVfbG9nZGlydHkobGlieGxfX2Vn YyAqZWdjLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp bnQgZG9taWQsIHVuc2lnbmVkIGVuYWJsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgbGlieGxfX2xvZ2RpcnR5X3N3aXRjaCAqbGRzKQoreworICAgIFNU QVRFX0FPX0dDKGxkcy0+YW8pOwogCiAgICAgc3dpdGNoIChsaWJ4bF9fZGV2aWNlX21vZGVsX3Zl cnNpb25fcnVubmluZyhnYywgZG9taWQpKSB7CiAgICAgY2FzZSBMSUJYTF9ERVZJQ0VfTU9ERUxf VkVSU0lPTl9RRU1VX1hFTl9UUkFESVRJT05BTDoKLSAgICAgICAgZG9tYWluX3N1c3BlbmRfc3dp dGNoX3FlbXVfeGVuX3RyYWRpdGlvbmFsX2xvZ2RpcnR5KGRvbWlkLCBlbmFibGUsIHNocyk7Cisg ICAgICAgIGRvbWFpbl9zdXNwZW5kX3N3aXRjaF9xZW11X3hlbl90cmFkaXRpb25hbF9sb2dkaXJ0 eShlZ2MsIGRvbWlkLCBlbmFibGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBsZHMpOwogICAgICAgICBicmVhazsKICAgICBjYXNl IExJQlhMX0RFVklDRV9NT0RFTF9WRVJTSU9OX1FFTVVfWEVOOgotICAgICAgICBkb21haW5fc3Vz cGVuZF9zd2l0Y2hfcWVtdV94ZW5fbG9nZGlydHkoZG9taWQsIGVuYWJsZSwgc2hzKTsKKyAgICAg ICAgZG9tYWluX3N1c3BlbmRfc3dpdGNoX3FlbXVfeGVuX2xvZ2RpcnR5KGVnYywgZG9taWQsIGVu YWJsZSwgbGRzKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBMSUJYTF9ERVZJQ0VfTU9ERUxf VkVSU0lPTl9OT05FOgotICAgICAgICBsaWJ4bF9feGNfZG9tYWluX3NhdmVyZXN0b3JlX2FzeW5j X2NhbGxiYWNrX2RvbmUoZWdjLCBzaHMsIDApOworICAgICAgICBsZHMtPmNhbGxiYWNrKGVnYywg bGRzLCAwKTsKICAgICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDoKICAgICAgICAgTE9HKEVSUk9S LCJsb2dkaXJ0eSBzd2l0Y2ggZmFpbGVkIgogICAgICAgICAgICAgIiwgbm8gdmFsaWQgZGV2aWNl IG1vZGVsIHZlcnNpb24gZm91bmQsIGFiYW5kb25pbmcgc3VzcGVuZCIpOwotICAgICAgICBkc3Mt PnJjID0gRVJST1JfRkFJTDsKLSAgICAgICAgbGlieGxfX3hjX2RvbWFpbl9zYXZlcmVzdG9yZV9h c3luY19jYWxsYmFja19kb25lKGVnYywgc2hzLCAtMSk7CisgICAgICAgIGxkcy0+Y2FsbGJhY2so ZWdjLCBsZHMsIEVSUk9SX0ZBSUwpOwogICAgIH0KIH0KIHN0YXRpYyB2b2lkIHN3aXRjaF9sb2dk aXJ0eV90aW1lb3V0KGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX2V2X3RpbWUgKmV2LAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IHRpbWV2YWwgKnJlcXVl c3RlZF9hYnMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmMpCiB7 Ci0gICAgbGlieGxfX2RvbWFpbl9zYXZlX3N0YXRlICpkc3MgPSBDT05UQUlORVJfT0YoZXYsICpk c3MsIGxvZ2RpcnR5LnRpbWVvdXQpOwotICAgIFNUQVRFX0FPX0dDKGRzcy0+YW8pOworICAgIGxp YnhsX19sb2dkaXJ0eV9zd2l0Y2ggKmxkcyA9IENPTlRBSU5FUl9PRihldiwgKmxkcywgdGltZW91 dCk7CisgICAgU1RBVEVfQU9fR0MobGRzLT5hbyk7CiAgICAgTE9HKEVSUk9SLCJsb2dkaXJ0eSBz d2l0Y2g6IHdhaXQgZm9yIGRldmljZSBtb2RlbCB0aW1lZCBvdXQiKTsKLSAgICBzd2l0Y2hfbG9n ZGlydHlfZG9uZShlZ2MsZHNzLEVSUk9SX0ZBSUwpOworICAgIHN3aXRjaF9sb2dkaXJ0eV9kb25l KGVnYyxsZHMsRVJST1JfRkFJTCk7CiB9CiAKIHN0YXRpYyB2b2lkIHN3aXRjaF9sb2dkaXJ0eV94 c3dhdGNoKGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX2V2X3hzd2F0Y2ggKndhdGNoLAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKndhdGNoX3BhdGgsIGNvbnN0IGNoYXIg KmV2ZW50X3BhdGgpCiB7Ci0gICAgbGlieGxfX2RvbWFpbl9zYXZlX3N0YXRlICpkc3MgPQotICAg ICAgICBDT05UQUlORVJfT0Yod2F0Y2gsICpkc3MsIGxvZ2RpcnR5LndhdGNoKTsKLSAgICBsaWJ4 bF9fbG9nZGlydHlfc3dpdGNoICpsZHMgPSAmZHNzLT5sb2dkaXJ0eTsKLSAgICBTVEFURV9BT19H Qyhkc3MtPmFvKTsKKyAgICBsaWJ4bF9fbG9nZGlydHlfc3dpdGNoICpsZHMgPSBDT05UQUlORVJf T0Yod2F0Y2gsICpsZHMsIHdhdGNoKTsKKyAgICBTVEFURV9BT19HQyhsZHMtPmFvKTsKICAgICBj b25zdCBjaGFyICpnb3Q7CiAgICAgeHNfdHJhbnNhY3Rpb25fdCB0ID0gMDsKICAgICBpbnQgcmM7 CkBAIC0yMjksMjggKzI0NCwyMCBAQCBzdGF0aWMgdm9pZCBzd2l0Y2hfbG9nZGlydHlfeHN3YXRj aChsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19ldl94c3dhdGNoICp3YXRjaCwKICAgICBpZiAocmMg PD0gMCkgewogICAgICAgICBpZiAocmMgPCAwKQogICAgICAgICAgICAgTE9HKEVSUk9SLCJsb2dk aXJ0eSBzd2l0Y2g6IGZhaWxlZCAocmM9JWQpIixyYyk7Ci0gICAgICAgIHN3aXRjaF9sb2dkaXJ0 eV9kb25lKGVnYyxkc3MscmMpOworICAgICAgICBzd2l0Y2hfbG9nZGlydHlfZG9uZShlZ2MsbGRz LHJjKTsKICAgICB9CiB9CiAKIHN0YXRpYyB2b2lkIHN3aXRjaF9sb2dkaXJ0eV9kb25lKGxpYnhs X19lZ2MgKmVnYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19kb21h aW5fc2F2ZV9zdGF0ZSAqZHNzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGli eGxfX2xvZ2RpcnR5X3N3aXRjaCAqbGRzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgaW50IHJjKQogewotICAgIFNUQVRFX0FPX0dDKGRzcy0+YW8pOwotICAgIGxpYnhsX19sb2dk aXJ0eV9zd2l0Y2ggKmxkcyA9ICZkc3MtPmxvZ2RpcnR5OworICAgIFNUQVRFX0FPX0dDKGxkcy0+ YW8pOwogCiAgICAgbGlieGxfX2V2X3hzd2F0Y2hfZGVyZWdpc3RlcihnYywgJmxkcy0+d2F0Y2gp OwogICAgIGxpYnhsX19ldl90aW1lX2RlcmVnaXN0ZXIoZ2MsICZsZHMtPnRpbWVvdXQpOwogCi0g ICAgaW50IGJyb2tlOwotICAgIGlmIChyYykgewotICAgICAgICBicm9rZSA9IC0xOwotICAgICAg ICBkc3MtPnJjID0gcmM7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgYnJva2UgPSAwOwotICAgIH0K LSAgICBsaWJ4bF9feGNfZG9tYWluX3NhdmVyZXN0b3JlX2FzeW5jX2NhbGxiYWNrX2RvbmUoZWdj LCAmZHNzLT5zd3Muc2hzLCBicm9rZSk7CisgICAgbGRzLT5jYWxsYmFjayhlZ2MsIGxkcywgcmMp OwogfQogCiAvKi0tLS0tIGNhbGxiYWNrcywgY2FsbGVkIGJ5IHhjX2RvbWFpbl9zYXZlIC0tLS0t Ki8KQEAgLTM0Nyw2ICszNTQsOCBAQCB2b2lkIGxpYnhsX19kb21haW5fc2F2ZShsaWJ4bF9fZWdj ICplZ2MsIGxpYnhsX19kb21haW5fc2F2ZV9zdGF0ZSAqZHNzKQogCiAgICAgZHNzLT5yYyA9IDA7 CiAgICAgbGlieGxfX2xvZ2RpcnR5X2luaXQoJmRzcy0+bG9nZGlydHkpOworICAgIGRzcy0+bG9n ZGlydHkuYW8gPSBhbzsKKwogICAgIGRzcHMtPmFvID0gYW87CiAgICAgZHNwcy0+ZG9taWQgPSBk b21pZDsKICAgICByYyA9IGxpYnhsX19kb21haW5fc3VzcGVuZF9pbml0KGVnYywgZHNwcywgdHlw ZSk7CmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oIGIvdG9vbHMvbGli eGwvbGlieGxfaW50ZXJuYWwuaAppbmRleCBmYzM0MjZhLi5kZTY1ZDg1IDEwMDY0NAotLS0gYS90 b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVy bmFsLmgKQEAgLTMxMDQsNiArMzEwNCwxMSBAQCBsaWJ4bF9fc3RyZWFtX3dyaXRlX2ludXNlKGNv bnN0IGxpYnhsX19zdHJlYW1fd3JpdGVfc3RhdGUgKnN0cmVhbSkKIH0KIAogdHlwZWRlZiBzdHJ1 Y3QgbGlieGxfX2xvZ2RpcnR5X3N3aXRjaCB7CisgICAgLyogU2V0IGJ5IGNhbGxlciBvZiBsaWJ4 bF9fZG9tYWluX2NvbW1vbl9zd2l0Y2hfcWVtdV9sb2dkaXJ0eSAqLworICAgIGxpYnhsX19hbyAq YW87CisgICAgdm9pZCAoKmNhbGxiYWNrKShsaWJ4bF9fZWdjICplZ2MsIHN0cnVjdCBsaWJ4bF9f bG9nZGlydHlfc3dpdGNoICpsZHMsCisgICAgICAgICAgICAgICAgICAgICBpbnQgcmMpOworCiAg ICAgY29uc3QgY2hhciAqY21kOwogICAgIGNvbnN0IGNoYXIgKmNtZF9wYXRoOwogICAgIGNvbnN0 IGNoYXIgKnJldF9wYXRoOwpAQCAtMzUzMCw2ICszNTM1LDkgQEAgdm9pZCBsaWJ4bF9feGNfZG9t YWluX3NhdmVyZXN0b3JlX2FzeW5jX2NhbGxiYWNrX2RvbmUobGlieGxfX2VnYyAqZWdjLAogCiBf aGlkZGVuIHZvaWQgbGlieGxfX2RvbWFpbl9zdXNwZW5kX2NvbW1vbl9zd2l0Y2hfcWVtdV9sb2dk aXJ0eQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpbnQgZG9taWQsIHVuc2lnbmVk IGludCBlbmFibGUsIHZvaWQgKmRhdGEpOworX2hpZGRlbiB2b2lkIGxpYnhsX19kb21haW5fY29t bW9uX3N3aXRjaF9xZW11X2xvZ2RpcnR5KGxpYnhsX19lZ2MgKmVnYywKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGRvbWlkLCB1bnNpZ25lZCBlbmFi bGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhs X19sb2dkaXJ0eV9zd2l0Y2ggKmxkcyk7CiBfaGlkZGVuIGludCBsaWJ4bF9fc2F2ZV9lbXVsYXRv cl94ZW5zdG9yZV9kYXRhKGxpYnhsX19kb21haW5fc2F2ZV9zdGF0ZSAqZHNzLAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyICoqYnVmLCB1aW50MzJf dCAqbGVuKTsKIF9oaWRkZW4gaW50IGxpYnhsX19yZXN0b3JlX2VtdWxhdG9yX3hlbnN0b3JlX2Rh dGEKLS0gCjEuOS4zCgoKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0 dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=