From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.7 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id BAD96C468B4 for ; Fri, 14 Jun 2019 11:25:21 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 903F9208CA for ; Fri, 14 Jun 2019 11:25:21 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 903F9208CA Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=citrix.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hbkKJ-0007SF-8C; Fri, 14 Jun 2019 11:24:59 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hbkKI-0007Rt-1o for xen-devel@lists.xenproject.org; Fri, 14 Jun 2019 11:24:58 +0000 X-Inumbo-ID: 086f0a68-8e97-11e9-ba81-ef5fc2f7992d Received: from esa2.hc3370-68.iphmx.com (unknown [216.71.145.153]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 086f0a68-8e97-11e9-ba81-ef5fc2f7992d; Fri, 14 Jun 2019 11:24:54 +0000 (UTC) Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none; spf=None smtp.pra=anthony.perard@citrix.com; spf=Pass smtp.mailfrom=anthony.perard@citrix.com; spf=None smtp.helo=postmaster@mail.citrix.com Received-SPF: None (esa2.hc3370-68.iphmx.com: no sender authenticity information available from domain of anthony.perard@citrix.com) identity=pra; client-ip=162.221.158.21; receiver=esa2.hc3370-68.iphmx.com; envelope-from="anthony.perard@citrix.com"; x-sender="anthony.perard@citrix.com"; x-conformance=sidf_compatible Received-SPF: Pass (esa2.hc3370-68.iphmx.com: domain of anthony.perard@citrix.com designates 162.221.158.21 as permitted sender) identity=mailfrom; client-ip=162.221.158.21; receiver=esa2.hc3370-68.iphmx.com; envelope-from="anthony.perard@citrix.com"; x-sender="anthony.perard@citrix.com"; x-conformance=sidf_compatible; x-record-type="v=spf1"; x-record-text="v=spf1 ip4:209.167.231.154 ip4:178.63.86.133 ip4:195.66.111.40/30 ip4:85.115.9.32/28 ip4:199.102.83.4 ip4:192.28.146.160 ip4:192.28.146.107 ip4:216.52.6.88 ip4:216.52.6.188 ip4:162.221.158.21 ip4:162.221.156.83 ~all" Received-SPF: None (esa2.hc3370-68.iphmx.com: no sender authenticity information available from domain of postmaster@mail.citrix.com) identity=helo; client-ip=162.221.158.21; receiver=esa2.hc3370-68.iphmx.com; envelope-from="anthony.perard@citrix.com"; x-sender="postmaster@mail.citrix.com"; x-conformance=sidf_compatible IronPort-SDR: 3K2GOz8QXejbGs5VYriScINrlE4tZzII3iJj3LOX/Thwd6nS+ZBWlUvyN8B2BVc2wxFQxIulQi y0hNsTa11pGxmz7CQWbV6O3p04q08YNKPEUMvvnqxpU0R5IYBgQUmpcNPvUvuqbnhUPHDbtKa8 uDDYKF2ymV26+S8/0yy/H96xOegVHZtNwppKLVwkZ7BUoVh6S+zA4q1vkqS5ry6um7saqoSSde f2hk040X1PYnONmAwfxPZLRZNjRQ3PALxiBgF8uBIJwshKCXCdGE/djJznZ/SnwnLndD/h1SBt Hmg= X-SBRS: 2.7 X-MesageID: 1737469 X-Ironport-Server: esa2.hc3370-68.iphmx.com X-Remote-IP: 162.221.158.21 X-Policy: $RELAYED X-IronPort-AV: E=Sophos;i="5.63,373,1557201600"; d="scan'208";a="1737469" From: Anthony PERARD To: Date: Fri, 14 Jun 2019 12:24:35 +0100 Message-ID: <20190614112444.29980-7-anthony.perard@citrix.com> X-Mailer: git-send-email 2.22.0 In-Reply-To: <20190614112444.29980-1-anthony.perard@citrix.com> References: <20190614112444.29980-1-anthony.perard@citrix.com> MIME-Version: 1.0 Subject: [Xen-devel] [PATCH 06/15] libxl_dom_save: Reorder functions for switch_qemu_logdirty X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Anthony PERARD , Ian Jackson , Wei Liu Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" VGhlcmUgYXJlIHR3byBkaWZmZXJlbnRzIHNldCBvZiBjYWxsYmFja3MgaGVyZSwgb25lIGZvcgps aWJ4bF9fZG9tYWluX2NvbW1vbl9zd2l0Y2hfcWVtdV9sb2dkaXJ0eSwKYW5kIG9uZSBmb3IgbGli eGxfX2RvbWFpbl9zdXNwZW5kX2NvbW1vbl9zd2l0Y2hfcWVtdV9sb2dkaXJ0eS4KClRoZSBmaXJz dCBzZXQgY2FsbHMgdGhlIHNlY29uZC4KClB1cmUgY29kZSBtb3Rpb24uCgpTaWduZWQtb2ZmLWJ5 OiBBbnRob255IFBFUkFSRCA8YW50aG9ueS5wZXJhcmRAY2l0cml4LmNvbT4KLS0tCgpOb3RlczoK ICAgIFRoZSBjaGVjayBmb3IgUFZIIHNlZW1zIHRvIGJlIGluIHRoZSB3cm9uZyBmdW5jdGlvbjoK ICAgIEl0J3MgaW4gbGlieGxfX2RvbWFpbl9zdXNwZW5kX2NvbW1vbl9zd2l0Y2hfcWVtdV9sb2dk aXJ0eSgpLAogICAgYnV0IGl0IHNob3VsZCBwcm9iYWJseSBiZSBpbjoKICAgIGxpYnhsX19kb21h aW5fY29tbW9uX3N3aXRjaF9xZW11X2xvZ2RpcnR5KCkuCiAgICBUaGF0IHNlY29uZCBmdW5jdGlv biBpcyB1c2VkIGJ5IHRoZSByZW11cy9DT0xPIHN0dWZmLCBidXQgdGhlIGZpcnN0IGlzCiAgICBv bmx5IGEgY2FsbGJhY2sgb2YgbGlieGxfX2RvbWFpbl9zYXZlKCkuCgogdG9vbHMvbGlieGwvbGli eGxfZG9tX3NhdmUuYyB8IDE2OCArKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLQog MSBmaWxlIGNoYW5nZWQsIDg5IGluc2VydGlvbnMoKyksIDc5IGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2RvbV9zYXZlLmMgYi90b29scy9saWJ4bC9saWJ4bF9k b21fc2F2ZS5jCmluZGV4IDJlOWVjNGRiZjIuLjEzZDA4ZDZkYWUgMTAwNjQ0Ci0tLSBhL3Rvb2xz L2xpYnhsL2xpYnhsX2RvbV9zYXZlLmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfZG9tX3NhdmUu YwpAQCAtMzYsMTEgKzM2LDE3IEBAIHN0YXRpYyB2b2lkIGRvbWFpbl9zYXZlX2RvbmUobGlieGxf X2VnYyAqZWdjLAogICogeGVuc3RvcmVfcHJvY2Vzc19sb2dkaXJ0eV9ldmVudAogICovCiAKK3N0 YXRpYyB2b2lkIGRvbWFpbl9zdXNwZW5kX3N3aXRjaF9xZW11X3hlbl90cmFkaXRpb25hbF9sb2dk aXJ0eQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChsaWJ4bF9fZWdjICplZ2MsIGlu dCBkb21pZCwgdW5zaWduZWQgZW5hYmxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBsaWJ4bF9fbG9nZGlydHlfc3dpdGNoICpsZHMpOworc3RhdGljIHZvaWQgc3dpdGNoX2xvZ2Rp cnR5X3hzd2F0Y2gobGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fZXZfeHN3YXRjaCosCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqd2F0Y2hfcGF0aCwgY29uc3QgY2hhciAq ZXZlbnRfcGF0aCk7CitzdGF0aWMgdm9pZCBkb21haW5fc3VzcGVuZF9zd2l0Y2hfcWVtdV94ZW5f bG9nZGlydHkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobGlieGxfX2VnYyAqZWdj LCBpbnQgZG9taWQsIHVuc2lnbmVkIGVuYWJsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgbGlieGxfX2xvZ2RpcnR5X3N3aXRjaCAqbGRzKTsKIHN0YXRpYyB2b2lkIHN3aXRjaF9s b2dkaXJ0eV90aW1lb3V0KGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX2V2X3RpbWUgKmV2LAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IHRpbWV2YWwgKnJl cXVlc3RlZF9hYnMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmMp Owotc3RhdGljIHZvaWQgc3dpdGNoX2xvZ2RpcnR5X3hzd2F0Y2gobGlieGxfX2VnYyAqZWdjLCBs aWJ4bF9fZXZfeHN3YXRjaCosCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hh ciAqd2F0Y2hfcGF0aCwgY29uc3QgY2hhciAqZXZlbnRfcGF0aCk7CiBzdGF0aWMgdm9pZCBzd2l0 Y2hfbG9nZGlydHlfZG9uZShsaWJ4bF9fZWdjICplZ2MsCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBsaWJ4bF9fbG9nZGlydHlfc3dpdGNoICpsZHMsIGludCByYyk7CiAKQEAgLTUx LDYgKzU3LDI3IEBAIHZvaWQgbGlieGxfX2xvZ2RpcnR5X2luaXQobGlieGxfX2xvZ2RpcnR5X3N3 aXRjaCAqbGRzKQogICAgIGxpYnhsX19ldl90aW1lX2luaXQoJmxkcy0+dGltZW91dCk7CiB9CiAK K3ZvaWQgbGlieGxfX2RvbWFpbl9jb21tb25fc3dpdGNoX3FlbXVfbG9nZGlydHkobGlieGxfX2Vn YyAqZWdjLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp bnQgZG9taWQsIHVuc2lnbmVkIGVuYWJsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgbGlieGxfX2xvZ2RpcnR5X3N3aXRjaCAqbGRzKQoreworICAgIFNU QVRFX0FPX0dDKGxkcy0+YW8pOworCisgICAgc3dpdGNoIChsaWJ4bF9fZGV2aWNlX21vZGVsX3Zl cnNpb25fcnVubmluZyhnYywgZG9taWQpKSB7CisgICAgY2FzZSBMSUJYTF9ERVZJQ0VfTU9ERUxf VkVSU0lPTl9RRU1VX1hFTl9UUkFESVRJT05BTDoKKyAgICAgICAgZG9tYWluX3N1c3BlbmRfc3dp dGNoX3FlbXVfeGVuX3RyYWRpdGlvbmFsX2xvZ2RpcnR5KGVnYywgZG9taWQsIGVuYWJsZSwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGxkcyk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgTElCWExfREVWSUNFX01PREVMX1ZFUlNJ T05fUUVNVV9YRU46CisgICAgICAgIGRvbWFpbl9zdXNwZW5kX3N3aXRjaF9xZW11X3hlbl9sb2dk aXJ0eShlZ2MsIGRvbWlkLCBlbmFibGUsIGxkcyk7CisgICAgICAgIGJyZWFrOworICAgIGRlZmF1 bHQ6CisgICAgICAgIExPR0QoRVJST1IsIGRvbWlkLCAibG9nZGlydHkgc3dpdGNoIGZhaWxlZCIK KyAgICAgICAgICAgICAiLCBubyB2YWxpZCBkZXZpY2UgbW9kZWwgdmVyc2lvbiBmb3VuZCwgYWJh bmRvbmluZyBzdXNwZW5kIik7CisgICAgICAgIGxkcy0+Y2FsbGJhY2soZWdjLCBsZHMsIEVSUk9S X0ZBSUwpOworICAgIH0KK30KKwogc3RhdGljIHZvaWQgZG9tYWluX3N1c3BlbmRfc3dpdGNoX3Fl bXVfeGVuX3RyYWRpdGlvbmFsX2xvZ2RpcnR5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKGxpYnhsX19lZ2MgKmVnYywgaW50IGRvbWlkLCB1bnNpZ25lZCBlbmFibGUsCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19sb2dkaXJ0eV9zd2l0Y2ggKmxkcykKQEAg LTEyMCw4MyArMTQ3LDYgQEAgc3RhdGljIHZvaWQgZG9tYWluX3N1c3BlbmRfc3dpdGNoX3FlbXVf eGVuX3RyYWRpdGlvbmFsX2xvZ2RpcnR5CiAgICAgc3dpdGNoX2xvZ2RpcnR5X2RvbmUoZWdjLGxk cyxyYyk7CiB9CiAKLXN0YXRpYyB2b2lkIGRvbWFpbl9zdXNwZW5kX3N3aXRjaF9xZW11X3hlbl9s b2dkaXJ0eQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChsaWJ4bF9fZWdjICplZ2Ms IGludCBkb21pZCwgdW5zaWduZWQgZW5hYmxlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBsaWJ4bF9fbG9nZGlydHlfc3dpdGNoICpsZHMpCi17Ci0gICAgU1RBVEVfQU9fR0MobGRz LT5hbyk7Ci0gICAgaW50IHJjOwotCi0gICAgcmMgPSBsaWJ4bF9fcW1wX3NldF9nbG9iYWxfZGly dHlfbG9nKGdjLCBkb21pZCwgZW5hYmxlKTsKLSAgICBpZiAocmMpCi0gICAgICAgIExPR0QoRVJS T1IsIGRvbWlkLAotICAgICAgICAgICAgICJsb2dkaXJ0eSBzd2l0Y2ggZmFpbGVkIChyYz0lZCks IGFiYW5kb25pbmcgc3VzcGVuZCIscmMpOwotCi0gICAgbGRzLT5jYWxsYmFjayhlZ2MsIGxkcywg cmMpOwotfQotCi1zdGF0aWMgdm9pZCBkb21haW5fc3VzcGVuZF9zd2l0Y2hfcWVtdV9sb2dkaXJ0 eV9kb25lCi0gICAgICAgICAgICAgICAgICAgICAgICAobGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9f bG9nZGlydHlfc3dpdGNoICpsZHMsIGludCByYykKLXsKLSAgICBsaWJ4bF9fZG9tYWluX3NhdmVf c3RhdGUgKmRzcyA9IENPTlRBSU5FUl9PRihsZHMsICpkc3MsIGxvZ2RpcnR5KTsKLQotICAgIGlm IChyYykgewotICAgICAgICBkc3MtPnJjID0gcmM7Ci0gICAgICAgIGxpYnhsX194Y19kb21haW5f c2F2ZXJlc3RvcmVfYXN5bmNfY2FsbGJhY2tfZG9uZShlZ2MsCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZHNzLT5zd3Muc2hzLCAtMSk7 Ci0gICAgfSBlbHNlCi0gICAgICAgIGxpYnhsX194Y19kb21haW5fc2F2ZXJlc3RvcmVfYXN5bmNf Y2FsbGJhY2tfZG9uZShlZ2MsICZkc3MtPnN3cy5zaHMsIDApOwotfQotCi12b2lkIGxpYnhsX19k b21haW5fc3VzcGVuZF9jb21tb25fc3dpdGNoX3FlbXVfbG9nZGlydHkKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAodWludDMyX3QgZG9taWQsIHVuc2lnbmVkIGVuYWJsZSwgdm9pZCAq dXNlcikKLXsKLSAgICBsaWJ4bF9fc2F2ZV9oZWxwZXJfc3RhdGUgKnNocyA9IHVzZXI7Ci0gICAg bGlieGxfX2VnYyAqZWdjID0gc2hzLT5lZ2M7Ci0gICAgbGlieGxfX2RvbWFpbl9zYXZlX3N0YXRl ICpkc3MgPSBzaHMtPmNhbGxlcl9zdGF0ZTsKLQotICAgIC8qIENvbnZlbmllbmNlIGFsaWFzZXMu ICovCi0gICAgbGlieGxfX2xvZ2RpcnR5X3N3aXRjaCAqY29uc3QgbGRzID0gJmRzcy0+bG9nZGly dHk7Ci0KLSAgICBpZiAoZHNzLT50eXBlID09IExJQlhMX0RPTUFJTl9UWVBFX1BWSCkgewotICAg ICAgICBkb21haW5fc3VzcGVuZF9zd2l0Y2hfcWVtdV9sb2dkaXJ0eV9kb25lKGVnYywgbGRzLCAw KTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGxkcy0+Y2FsbGJhY2sgPSBkb21haW5f c3VzcGVuZF9zd2l0Y2hfcWVtdV9sb2dkaXJ0eV9kb25lOwotICAgIGxpYnhsX19kb21haW5fY29t bW9uX3N3aXRjaF9xZW11X2xvZ2RpcnR5KGVnYywgZG9taWQsIGVuYWJsZSwgbGRzKTsKLX0KLQot dm9pZCBsaWJ4bF9fZG9tYWluX2NvbW1vbl9zd2l0Y2hfcWVtdV9sb2dkaXJ0eShsaWJ4bF9fZWdj ICplZ2MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu dCBkb21pZCwgdW5zaWduZWQgZW5hYmxlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBsaWJ4bF9fbG9nZGlydHlfc3dpdGNoICpsZHMpCi17Ci0gICAgU1RB VEVfQU9fR0MobGRzLT5hbyk7Ci0KLSAgICBzd2l0Y2ggKGxpYnhsX19kZXZpY2VfbW9kZWxfdmVy c2lvbl9ydW5uaW5nKGdjLCBkb21pZCkpIHsKLSAgICBjYXNlIExJQlhMX0RFVklDRV9NT0RFTF9W RVJTSU9OX1FFTVVfWEVOX1RSQURJVElPTkFMOgotICAgICAgICBkb21haW5fc3VzcGVuZF9zd2l0 Y2hfcWVtdV94ZW5fdHJhZGl0aW9uYWxfbG9nZGlydHkoZWdjLCBkb21pZCwgZW5hYmxlLAotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg bGRzKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBMSUJYTF9ERVZJQ0VfTU9ERUxfVkVSU0lP Tl9RRU1VX1hFTjoKLSAgICAgICAgZG9tYWluX3N1c3BlbmRfc3dpdGNoX3FlbXVfeGVuX2xvZ2Rp cnR5KGVnYywgZG9taWQsIGVuYWJsZSwgbGRzKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgZGVmYXVs dDoKLSAgICAgICAgTE9HRChFUlJPUiwgZG9taWQsICJsb2dkaXJ0eSBzd2l0Y2ggZmFpbGVkIgot ICAgICAgICAgICAgICIsIG5vIHZhbGlkIGRldmljZSBtb2RlbCB2ZXJzaW9uIGZvdW5kLCBhYmFu ZG9uaW5nIHN1c3BlbmQiKTsKLSAgICAgICAgbGRzLT5jYWxsYmFjayhlZ2MsIGxkcywgRVJST1Jf RkFJTCk7Ci0gICAgfQotfQotc3RhdGljIHZvaWQgc3dpdGNoX2xvZ2RpcnR5X3RpbWVvdXQobGli eGxfX2VnYyAqZWdjLCBsaWJ4bF9fZXZfdGltZSAqZXYsCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgdGltZXZhbCAqcmVxdWVzdGVkX2FicywKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByYykKLXsKLSAgICBsaWJ4bF9fbG9n ZGlydHlfc3dpdGNoICpsZHMgPSBDT05UQUlORVJfT0YoZXYsICpsZHMsIHRpbWVvdXQpOwotICAg IFNUQVRFX0FPX0dDKGxkcy0+YW8pOwotICAgIExPRyhFUlJPUiwibG9nZGlydHkgc3dpdGNoOiB3 YWl0IGZvciBkZXZpY2UgbW9kZWwgdGltZWQgb3V0Iik7Ci0gICAgc3dpdGNoX2xvZ2RpcnR5X2Rv bmUoZWdjLGxkcyxFUlJPUl9GQUlMKTsKLX0KLQogc3RhdGljIHZvaWQgc3dpdGNoX2xvZ2RpcnR5 X3hzd2F0Y2gobGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fZXZfeHN3YXRjaCAqd2F0Y2gsCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqd2F0Y2hfcGF0aCwgY29uc3QgY2hh ciAqZXZlbnRfcGF0aCkKIHsKQEAgLTI1MSw2ICsyMDEsMzEgQEAgc3RhdGljIHZvaWQgc3dpdGNo X2xvZ2RpcnR5X3hzd2F0Y2gobGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fZXZfeHN3YXRjaCAqd2F0 Y2gsCiAgICAgfQogfQogCitzdGF0aWMgdm9pZCBkb21haW5fc3VzcGVuZF9zd2l0Y2hfcWVtdV94 ZW5fbG9nZGlydHkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobGlieGxfX2VnYyAq ZWdjLCBpbnQgZG9taWQsIHVuc2lnbmVkIGVuYWJsZSwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgbGlieGxfX2xvZ2RpcnR5X3N3aXRjaCAqbGRzKQoreworICAgIFNUQVRFX0FPX0dD KGxkcy0+YW8pOworICAgIGludCByYzsKKworICAgIHJjID0gbGlieGxfX3FtcF9zZXRfZ2xvYmFs X2RpcnR5X2xvZyhnYywgZG9taWQsIGVuYWJsZSk7CisgICAgaWYgKHJjKQorICAgICAgICBMT0dE KEVSUk9SLCBkb21pZCwKKyAgICAgICAgICAgICAibG9nZGlydHkgc3dpdGNoIGZhaWxlZCAocmM9 JWQpLCBhYmFuZG9uaW5nIHN1c3BlbmQiLHJjKTsKKworICAgIGxkcy0+Y2FsbGJhY2soZWdjLCBs ZHMsIHJjKTsKK30KKworc3RhdGljIHZvaWQgc3dpdGNoX2xvZ2RpcnR5X3RpbWVvdXQobGlieGxf X2VnYyAqZWdjLCBsaWJ4bF9fZXZfdGltZSAqZXYsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBjb25zdCBzdHJ1Y3QgdGltZXZhbCAqcmVxdWVzdGVkX2FicywKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByYykKK3sKKyAgICBsaWJ4bF9fbG9nZGly dHlfc3dpdGNoICpsZHMgPSBDT05UQUlORVJfT0YoZXYsICpsZHMsIHRpbWVvdXQpOworICAgIFNU QVRFX0FPX0dDKGxkcy0+YW8pOworICAgIExPRyhFUlJPUiwibG9nZGlydHkgc3dpdGNoOiB3YWl0 IGZvciBkZXZpY2UgbW9kZWwgdGltZWQgb3V0Iik7CisgICAgc3dpdGNoX2xvZ2RpcnR5X2RvbmUo ZWdjLGxkcyxFUlJPUl9GQUlMKTsKK30KKwogc3RhdGljIHZvaWQgc3dpdGNoX2xvZ2RpcnR5X2Rv bmUobGlieGxfX2VnYyAqZWdjLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGli eGxfX2xvZ2RpcnR5X3N3aXRjaCAqbGRzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgaW50IHJjKQpAQCAtMjYzLDYgKzIzOCw0MSBAQCBzdGF0aWMgdm9pZCBzd2l0Y2hfbG9nZGly dHlfZG9uZShsaWJ4bF9fZWdjICplZ2MsCiAgICAgbGRzLT5jYWxsYmFjayhlZ2MsIGxkcywgcmMp OwogfQogCitzdGF0aWMgdm9pZCBkb21haW5fc3VzcGVuZF9zd2l0Y2hfcWVtdV9sb2dkaXJ0eV9k b25lCisgICAgICAgICAgICAgICAgICAgICAgICAobGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fbG9n ZGlydHlfc3dpdGNoICpsZHMsIGludCByYyk7CisKK3ZvaWQgbGlieGxfX2RvbWFpbl9zdXNwZW5k X2NvbW1vbl9zd2l0Y2hfcWVtdV9sb2dkaXJ0eQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICh1aW50MzJfdCBkb21pZCwgdW5zaWduZWQgZW5hYmxlLCB2b2lkICp1c2VyKQoreworICAg IGxpYnhsX19zYXZlX2hlbHBlcl9zdGF0ZSAqc2hzID0gdXNlcjsKKyAgICBsaWJ4bF9fZWdjICpl Z2MgPSBzaHMtPmVnYzsKKyAgICBsaWJ4bF9fZG9tYWluX3NhdmVfc3RhdGUgKmRzcyA9IHNocy0+ Y2FsbGVyX3N0YXRlOworCisgICAgLyogQ29udmVuaWVuY2UgYWxpYXNlcy4gKi8KKyAgICBsaWJ4 bF9fbG9nZGlydHlfc3dpdGNoICpjb25zdCBsZHMgPSAmZHNzLT5sb2dkaXJ0eTsKKworICAgIGlm IChkc3MtPnR5cGUgPT0gTElCWExfRE9NQUlOX1RZUEVfUFZIKSB7CisgICAgICAgIGRvbWFpbl9z dXNwZW5kX3N3aXRjaF9xZW11X2xvZ2RpcnR5X2RvbmUoZWdjLCBsZHMsIDApOworICAgICAgICBy ZXR1cm47CisgICAgfQorCisgICAgbGRzLT5jYWxsYmFjayA9IGRvbWFpbl9zdXNwZW5kX3N3aXRj aF9xZW11X2xvZ2RpcnR5X2RvbmU7CisgICAgbGlieGxfX2RvbWFpbl9jb21tb25fc3dpdGNoX3Fl bXVfbG9nZGlydHkoZWdjLCBkb21pZCwgZW5hYmxlLCBsZHMpOworfQorCitzdGF0aWMgdm9pZCBk b21haW5fc3VzcGVuZF9zd2l0Y2hfcWVtdV9sb2dkaXJ0eV9kb25lCisgICAgICAgICAgICAgICAg ICAgICAgICAobGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fbG9nZGlydHlfc3dpdGNoICpsZHMsIGlu dCByYykKK3sKKyAgICBsaWJ4bF9fZG9tYWluX3NhdmVfc3RhdGUgKmRzcyA9IENPTlRBSU5FUl9P RihsZHMsICpkc3MsIGxvZ2RpcnR5KTsKKworICAgIGlmIChyYykgeworICAgICAgICBkc3MtPnJj ID0gcmM7CisgICAgICAgIGxpYnhsX194Y19kb21haW5fc2F2ZXJlc3RvcmVfYXN5bmNfY2FsbGJh Y2tfZG9uZShlZ2MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAmZHNzLT5zd3Muc2hzLCAtMSk7CisgICAgfSBlbHNlCisgICAgICAgIGxp YnhsX194Y19kb21haW5fc2F2ZXJlc3RvcmVfYXN5bmNfY2FsbGJhY2tfZG9uZShlZ2MsICZkc3Mt PnN3cy5zaHMsIDApOworfQorCiAvKi0tLS0tIGNhbGxiYWNrcywgY2FsbGVkIGJ5IHhjX2RvbWFp bl9zYXZlIC0tLS0tKi8KIAogLyoKLS0gCkFudGhvbnkgUEVSQVJECgoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApY ZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9y Zy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==