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=-9.6 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, 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 BF826C49ED7 for ; Thu, 19 Sep 2019 17:40:56 +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 8B48F214AF for ; Thu, 19 Sep 2019 17:40:56 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=citrix.com header.i=@citrix.com header.b="fGro8Pfy" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 8B48F214AF 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 1iB0Q7-00048y-S5; Thu, 19 Sep 2019 17:40:43 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1iB0Q7-00048q-3b for xen-devel@lists.xenproject.org; Thu, 19 Sep 2019 17:40:43 +0000 X-Inumbo-ID: 97cc77f4-db04-11e9-b299-bc764e2007e4 Received: from esa2.hc3370-68.iphmx.com (unknown [216.71.145.153]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id 97cc77f4-db04-11e9-b299-bc764e2007e4; Thu, 19 Sep 2019 17:40:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=citrix.com; s=securemail; t=1568914839; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=ldbK2rJd08+BaTupRLkvzPdHJ6Ig2rL5PXIxfegX9xI=; b=fGro8PfyhbHkJgbXuHwib7C+J7pMINu9e9rudKI1dIF+AuyiSbK3yTk9 SUIVZxTg2/CyuBLDNjsyS6CdolYH0OqizK+uVqv5bbZYIhhj+BpaBk/95 sdN8lSLNsu41DUxOswOFsADOzJnIcti/hWMMaysHFLmcfxl0k7P9Yrgah A=; 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: 7uuG80KyREpfwHP4j2d4ib/SgG0XiywBkLMT47/E0uw7InlPrb56O94hRSWoY0AcNWm4PvEHLk EX2PWTd6rAlFHGgIzB7mdgna7UtnoLcU/V/RImKvNoCQ93C5RVT4ZeKmKCeQ2u3ukzxi3Vhc4u tmuzAxfwfWwipOEsPmtUDK8LfbJfg3R30TeH6bX885XkqvT0YvGw2aWAMiI32ZUuwc7qqqvh06 MENdRUY65g2DkWcdH3tugkIrO9mNy+KEiXSLsw053Xet3nlE/U9OEp+oeM7CohG87SfmgG6wMm Cqc= X-SBRS: 2.7 X-MesageID: 5801739 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.64,524,1559534400"; d="scan'208";a="5801739" From: Anthony PERARD To: Date: Thu, 19 Sep 2019 18:16:53 +0100 Message-ID: <20190919171656.899649-34-anthony.perard@citrix.com> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20190919171656.899649-1-anthony.perard@citrix.com> References: <20190919171656.899649-1-anthony.perard@citrix.com> MIME-Version: 1.0 Subject: [Xen-devel] [PATCH v2 33/35] libxl: libxl_retrieve_domain_configuration now uses ev_qmp 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" VGhpcyB3YXMgdGhlIGxhc3QgdXNlciBvZiBsaWJ4bF9fcW1wX3F1ZXJ5X2NwdXMgd2hpY2ggY2Fu IG5vdyBiZQpyZW1vdmVkLgoKU2lnbmVkLW9mZi1ieTogQW50aG9ueSBQRVJBUkQgPGFudGhvbnku cGVyYXJkQGNpdHJpeC5jb20+CkFja2VkLWJ5OiBJYW4gSmFja3NvbiA8aWFuLmphY2tzb25AZXUu Y2l0cml4LmNvbT4KLS0tCgpOb3RlczoKICAgIHYzOgogICAgLSBmb2xsb3dpbmcgcmVuYW1lIG9m IGV2X2xvY2sgdG8gZXZfZGV2bG9jaywgcmVuYW1lZCBmaWVsZCByZGNzLmV2X2xvY2sKICAgICAg dG8gcmRjcy5kZXZsb2NrCgogdG9vbHMvbGlieGwvbGlieGxfZG9tYWluLmMgICB8IDE2MyArKysr KysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLQogdG9vbHMvbGlieGwvbGlieGxfaW50ZXJu YWwuaCB8ICAgMyAtCiB0b29scy9saWJ4bC9saWJ4bF9xbXAuYyAgICAgIHwgIDM4IC0tLS0tLS0t CiAzIGZpbGVzIGNoYW5nZWQsIDEzMSBpbnNlcnRpb25zKCspLCA3MyBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9kb21haW4uYyBiL3Rvb2xzL2xpYnhsL2xpYnhs X2RvbWFpbi5jCmluZGV4IGI5N2U4NzRhOWMwNS4uMGRkNWI3ZmZhOTYzIDEwMDY0NAotLS0gYS90 b29scy9saWJ4bC9saWJ4bF9kb21haW4uYworKysgYi90b29scy9saWJ4bC9saWJ4bF9kb21haW4u YwpAQCAtMTgwMCwyNyArMTgwMCw2IEBAIHVpbnQzMl90IGxpYnhsX3ZtX2dldF9zdGFydF90aW1l KGxpYnhsX2N0eCAqY3R4LCB1aW50MzJfdCBkb21pZCkKICAgICByZXR1cm4gcmV0OwogfQogCi0v KiBGb3IgUUVNVSB1cHN0cmVhbSB3ZSBhbHdheXMgbmVlZCB0byBwcm92aWRlIHRoZSBudW1iZXIg b2YgY3B1cyBwcmVzZW50IHRvCi0gKiBRRU1VIHdoZXRoZXIgdGhleSBhcmUgb25saW5lIG9yIG5v dDsgb3RoZXJ3aXNlIFFFTVUgd29uJ3QgYWNjZXB0IHRoZSBzYXZlZAotICogc3RhdGUuIFNlZSBp bXBsZW1lbnRhdGlvbiBvZiBsaWJ4bF9fcW1wX3F1ZXJ5X2NwdXMuCi0gKi8KLXN0YXRpYyBpbnQg bGlieGxfX3VwZGF0ZV9hdmFpbF92Y3B1c19xbXAobGlieGxfX2djICpnYywgdWludDMyX3QgZG9t aWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGlu dCBtYXhfdmNwdXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxp YnhsX2JpdG1hcCAqbWFwKQotewotICAgIGludCByYzsKLQotICAgIHJjID0gbGlieGxfX3FtcF9x dWVyeV9jcHVzKGdjLCBkb21pZCwgbWFwKTsKLSAgICBpZiAocmMpIHsKLSAgICAgICAgTE9HRChF UlJPUiwgZG9taWQsICJGYWlsIHRvIGdldCBudW1iZXIgb2YgY3B1cyIpOwotICAgICAgICBnb3Rv IG91dDsKLSAgICB9Ci0KLSAgICByYyA9IDA7Ci1vdXQ6Ci0gICAgcmV0dXJuIHJjOwotfQotCiBz dGF0aWMgaW50IGxpYnhsX191cGRhdGVfYXZhaWxfdmNwdXNfeGVuc3RvcmUobGlieGxfX2djICpn YywgdWludDMyX3QgZG9taWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgdW5zaWduZWQgaW50IG1heF92Y3B1cywKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9iaXRtYXAgKm1hcCkKQEAgLTE4NDksMTMgKzE4 MjgsNjEgQEAgc3RhdGljIGludCBsaWJ4bF9fdXBkYXRlX2F2YWlsX3ZjcHVzX3hlbnN0b3JlKGxp YnhsX19nYyAqZ2MsIHVpbnQzMl90IGRvbWlkLAogICAgIHJldHVybiByYzsKIH0KIAordHlwZWRl ZiBzdHJ1Y3QgeworICAgIGxpYnhsX19ldl9xbXAgcW1wOworICAgIGxpYnhsX19ldl90aW1lIHRp bWVvdXQ7CisgICAgbGlieGxfZG9tYWluX2NvbmZpZyAqZF9jb25maWc7IC8qIHVzZXIgcG9pbnRl ciAqLworICAgIGxpYnhsX19ldl9kZXZsb2NrIGRldmxvY2s7CisgICAgbGlieGxfYml0bWFwIHFl bXV1X2NwdXM7Cit9IHJldHJpZXZlX2RvbWFpbl9jb25maWd1cmF0aW9uX3N0YXRlOworCitzdGF0 aWMgdm9pZCByZXRyaWV2ZV9kb21haW5fY29uZmlndXJhdGlvbl9sb2NrX2FjcXVpcmVkKAorICAg IGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX2V2X2RldmxvY2sgKiwgaW50IHJjKTsKK3N0YXRpYyB2 b2lkIHJldHJpZXZlX2RvbWFpbl9jb25maWd1cmF0aW9uX2NwdV9xdWVyaWVkKAorICAgIGxpYnhs X19lZ2MgKmVnYywgbGlieGxfX2V2X3FtcCAqcW1wLAorICAgIGNvbnN0IGxpYnhsX19qc29uX29i amVjdCAqcmVzcG9uc2UsIGludCByYyk7CitzdGF0aWMgdm9pZCByZXRyaWV2ZV9kb21haW5fY29u ZmlndXJhdGlvbl90aW1lb3V0KGxpYnhsX19lZ2MgKmVnYywKKyAgICBsaWJ4bF9fZXZfdGltZSAq ZXYsIGNvbnN0IHN0cnVjdCB0aW1ldmFsICpyZXF1ZXN0ZWRfYWJzLCBpbnQgcmMpOworc3RhdGlj IHZvaWQgcmV0cmlldmVfZG9tYWluX2NvbmZpZ3VyYXRpb25fZW5kKGxpYnhsX19lZ2MgKmVnYywK KyAgICByZXRyaWV2ZV9kb21haW5fY29uZmlndXJhdGlvbl9zdGF0ZSAqcmRjcywgaW50IHJjKTsK KwogaW50IGxpYnhsX3JldHJpZXZlX2RvbWFpbl9jb25maWd1cmF0aW9uKGxpYnhsX2N0eCAqY3R4 LCB1aW50MzJfdCBkb21pZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBsaWJ4bF9kb21haW5fY29uZmlnICpkX2NvbmZpZywKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBjb25zdCBsaWJ4bF9hc3luY29wX2hvdyAqYW9faG93KQogewogICAg IEFPX0NSRUFURShjdHgsIGRvbWlkLCBhb19ob3cpOwotICAgIGludCByYzsKKyAgICByZXRyaWV2 ZV9kb21haW5fY29uZmlndXJhdGlvbl9zdGF0ZSAqcmRjczsKKworICAgIEdDTkVXKHJkY3MpOwor ICAgIGxpYnhsX19ldl9xbXBfaW5pdCgmcmRjcy0+cW1wKTsKKyAgICByZGNzLT5xbXAuYW8gPSBh bzsKKyAgICByZGNzLT5xbXAuZG9taWQgPSBkb21pZDsKKyAgICByZGNzLT5xbXAucGF5bG9hZF9m ZCA9IC0xOworICAgIGxpYnhsX19ldl90aW1lX2luaXQoJnJkY3MtPnRpbWVvdXQpOworICAgIHJk Y3MtPmRfY29uZmlnID0gZF9jb25maWc7CisgICAgbGlieGxfYml0bWFwX2luaXQoJnJkY3MtPnFl bXV1X2NwdXMpOworICAgIGxpYnhsX19ldl9kZXZsb2NrX2luaXQoJnJkY3MtPmRldmxvY2spOwor ICAgIHJkY3MtPmRldmxvY2suYW8gPSBhbzsKKyAgICByZGNzLT5kZXZsb2NrLmRvbWlkID0gZG9t aWQ7CisgICAgcmRjcy0+ZGV2bG9jay5jYWxsYmFjayA9IHJldHJpZXZlX2RvbWFpbl9jb25maWd1 cmF0aW9uX2xvY2tfYWNxdWlyZWQ7CisgICAgbGlieGxfX2V2X2RldmxvY2tfbG9jayhlZ2MsICZy ZGNzLT5kZXZsb2NrKTsKKyAgICByZXR1cm4gQU9fSU5QUk9HUkVTUzsKK30KKworc3RhdGljIHZv aWQgcmV0cmlldmVfZG9tYWluX2NvbmZpZ3VyYXRpb25fbG9ja19hY3F1aXJlZCgKKyAgICBsaWJ4 bF9fZWdjICplZ2MsIGxpYnhsX19ldl9kZXZsb2NrICpkZXZsb2NrLCBpbnQgcmMpCit7CisgICAg cmV0cmlldmVfZG9tYWluX2NvbmZpZ3VyYXRpb25fc3RhdGUgKnJkY3MgPQorICAgICAgICBDT05U QUlORVJfT0YoZGV2bG9jaywgKnJkY3MsIGRldmxvY2spOworICAgIFNUQVRFX0FPX0dDKHJkY3Mt PnFtcC5hbyk7CiAgICAgbGlieGxfX2RvbWFpbl91c2VyZGF0YV9sb2NrICpsb2NrID0gTlVMTDsK KyAgICBib29sIGhhc19jYWxsYmFjayA9IGZhbHNlOworCisgICAgLyogQ29udmVuaWVuY2UgYWxp YXNlcyAqLworICAgIGxpYnhsX2RvbWlkIGRvbWlkID0gcmRjcy0+cW1wLmRvbWlkOworICAgIGxp YnhsX2RvbWFpbl9jb25maWcgKmNvbnN0IGRfY29uZmlnID0gcmRjcy0+ZF9jb25maWc7CisKKyAg ICBpZiAocmMpIGdvdG8gb3V0OwogCiAgICAgbG9jayA9IGxpYnhsX19sb2NrX2RvbWFpbl91c2Vy ZGF0YShnYywgZG9taWQpOwogICAgIGlmICghbG9jaykgewpAQCAtMTg3MCwxMCArMTg5Nyw4MSBA QCBpbnQgbGlieGxfcmV0cmlldmVfZG9tYWluX2NvbmZpZ3VyYXRpb24obGlieGxfY3R4ICpjdHgs IHVpbnQzMl90IGRvbWlkLAogICAgICAgICBnb3RvIG91dDsKICAgICB9CiAKKyAgICBsaWJ4bF9f dW5sb2NrX2RvbWFpbl91c2VyZGF0YShsb2NrKTsKKyAgICBsb2NrID0gTlVMTDsKKworICAgIC8q IFdlIHN0YXJ0IGJ5IHF1ZXJ5aW5nIFFFTVUsIGlmIGl0IGlzIHJ1bm5pbmcsIGZvciBpdHMgY3B1 bWFwIGFzIHRoaXMKKyAgICAgKiBpcyBhIGxvbmcgb3BlcmF0aW9uLiAqLworICAgIGlmIChkX2Nv bmZpZy0+Yl9pbmZvLnR5cGUgPT0gTElCWExfRE9NQUlOX1RZUEVfSFZNICYmCisgICAgICAgIGxp YnhsX19kZXZpY2VfbW9kZWxfdmVyc2lvbl9ydW5uaW5nKGdjLCBkb21pZCkgPT0KKyAgICAgICAg ICAgIExJQlhMX0RFVklDRV9NT0RFTF9WRVJTSU9OX1FFTVVfWEVOKSB7CisgICAgICAgIC8qIEZv ciBRRU1VIHVwc3RyZWFtIHdlIGFsd2F5cyBuZWVkIHRvIHByb3ZpZGUgdGhlIG51bWJlcgorICAg ICAgICAgKiBvZiBjcHVzIHByZXNlbnQgdG8gUUVNVSB3aGV0aGVyIHRoZXkgYXJlIG9ubGluZSBv ciBub3Q7CisgICAgICAgICAqIG90aGVyd2lzZSBRRU1VIHdvbid0IGFjY2VwdCB0aGUgc2F2ZWQg c3RhdGUuCisgICAgICAgICAqLworICAgICAgICByYyA9IGxpYnhsX19ldl90aW1lX3JlZ2lzdGVy X3JlbChhbywgJnJkY3MtPnRpbWVvdXQsCisgICAgICAgICAgICByZXRyaWV2ZV9kb21haW5fY29u ZmlndXJhdGlvbl90aW1lb3V0LAorICAgICAgICAgICAgTElCWExfUU1QX0NNRF9USU1FT1VUICog MTAwMCk7CisgICAgICAgIGlmIChyYykgZ290byBvdXQ7CisgICAgICAgIGxpYnhsX2JpdG1hcF9h bGxvYyhDVFgsICZyZGNzLT5xZW11dV9jcHVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ZF9jb25maWctPmJfaW5mby5tYXhfdmNwdXMpOworICAgICAgICByZGNzLT5xbXAuY2FsbGJhY2sg PSByZXRyaWV2ZV9kb21haW5fY29uZmlndXJhdGlvbl9jcHVfcXVlcmllZDsKKyAgICAgICAgcmMg PSBsaWJ4bF9fZXZfcW1wX3NlbmQoZ2MsICZyZGNzLT5xbXAsICJxdWVyeS1jcHVzIiwgTlVMTCk7 CisgICAgICAgIGlmIChyYykgZ290byBvdXQ7CisgICAgICAgIGhhc19jYWxsYmFjayA9IHRydWU7 CisgICAgfQorCitvdXQ6CisgICAgaWYgKGxvY2spIGxpYnhsX191bmxvY2tfZG9tYWluX3VzZXJk YXRhKGxvY2spOworICAgIGlmICghaGFzX2NhbGxiYWNrKQorICAgICAgICByZXRyaWV2ZV9kb21h aW5fY29uZmlndXJhdGlvbl9lbmQoZWdjLCByZGNzLCByYyk7Cit9CisKK3N0YXRpYyB2b2lkIHJl dHJpZXZlX2RvbWFpbl9jb25maWd1cmF0aW9uX2NwdV9xdWVyaWVkKAorICAgIGxpYnhsX19lZ2Mg KmVnYywgbGlieGxfX2V2X3FtcCAqcW1wLAorICAgIGNvbnN0IGxpYnhsX19qc29uX29iamVjdCAq cmVzcG9uc2UsIGludCByYykKK3sKKyAgICBFR0NfR0M7CisgICAgcmV0cmlldmVfZG9tYWluX2Nv bmZpZ3VyYXRpb25fc3RhdGUgKnJkY3MgPQorICAgICAgICBDT05UQUlORVJfT0YocW1wLCAqcmRj cywgcW1wKTsKKworICAgIGlmIChyYykgZ290byBvdXQ7CisKKyAgICByYyA9IHFtcF9wYXJzZV9x dWVyeV9jcHVzKGdjLCBxbXAtPmRvbWlkLCByZXNwb25zZSwgJnJkY3MtPnFlbXV1X2NwdXMpOwor CitvdXQ6CisgICAgcmV0cmlldmVfZG9tYWluX2NvbmZpZ3VyYXRpb25fZW5kKGVnYywgcmRjcywg cmMpOworfQorCitzdGF0aWMgdm9pZCByZXRyaWV2ZV9kb21haW5fY29uZmlndXJhdGlvbl90aW1l b3V0KGxpYnhsX19lZ2MgKmVnYywKKyAgICBsaWJ4bF9fZXZfdGltZSAqZXYsIGNvbnN0IHN0cnVj dCB0aW1ldmFsICpyZXF1ZXN0ZWRfYWJzLCBpbnQgcmMpCit7CisgICAgcmV0cmlldmVfZG9tYWlu X2NvbmZpZ3VyYXRpb25fc3RhdGUgKnJkY3MgPQorICAgICAgICBDT05UQUlORVJfT0YoZXYsICpy ZGNzLCB0aW1lb3V0KTsKKworICAgIHJldHJpZXZlX2RvbWFpbl9jb25maWd1cmF0aW9uX2VuZChl Z2MsIHJkY3MsIHJjKTsKK30KKworc3RhdGljIHZvaWQgcmV0cmlldmVfZG9tYWluX2NvbmZpZ3Vy YXRpb25fZW5kKGxpYnhsX19lZ2MgKmVnYywKKyAgICByZXRyaWV2ZV9kb21haW5fY29uZmlndXJh dGlvbl9zdGF0ZSAqcmRjcywgaW50IHJjKQoreworICAgIFNUQVRFX0FPX0dDKHJkY3MtPnFtcC5h byk7CisgICAgbGlieGxfX2RvbWFpbl91c2VyZGF0YV9sb2NrICpsb2NrOworCisgICAgLyogQ29u dmVuaWVuY2UgYWxpYXNlcyAqLworICAgIGxpYnhsX2RvbWFpbl9jb25maWcgKmNvbnN0IGRfY29u ZmlnID0gcmRjcy0+ZF9jb25maWc7CisgICAgbGlieGxfZG9taWQgZG9taWQgPSByZGNzLT5xbXAu ZG9taWQ7CisKKyAgICBsb2NrID0gbGlieGxfX2xvY2tfZG9tYWluX3VzZXJkYXRhKGdjLCBkb21p ZCk7CisgICAgaWYgKCFsb2NrKSB7CisgICAgICAgIHJjID0gRVJST1JfTE9DS19GQUlMOworICAg ICAgICBnb3RvIG91dDsKKyAgICB9CisKICAgICAvKiBEb21haW4gbmFtZSAqLwogICAgIHsKICAg ICAgICAgY2hhciAqZG9tbmFtZTsKLSAgICAgICAgZG9tbmFtZSA9IGxpYnhsX2RvbWlkX3RvX25h bWUoY3R4LCBkb21pZCk7CisgICAgICAgIGRvbW5hbWUgPSBsaWJ4bF9kb21pZF90b19uYW1lKENU WCwgZG9taWQpOwogICAgICAgICBpZiAoIWRvbW5hbWUpIHsKICAgICAgICAgICAgIExPR0QoRVJS T1IsIGRvbWlkLCAiRmFpbCB0byBnZXQgZG9tYWluIG5hbWUiKTsKICAgICAgICAgICAgIGdvdG8g b3V0OwpAQCAtMTg4NiwxMyArMTk4NCwxMyBAQCBpbnQgbGlieGxfcmV0cmlldmVfZG9tYWluX2Nv bmZpZ3VyYXRpb24obGlieGxfY3R4ICpjdHgsIHVpbnQzMl90IGRvbWlkLAogICAgIHsKICAgICAg ICAgbGlieGxfZG9taW5mbyBpbmZvOwogICAgICAgICBsaWJ4bF9kb21pbmZvX2luaXQoJmluZm8p OwotICAgICAgICByYyA9IGxpYnhsX2RvbWFpbl9pbmZvKGN0eCwgJmluZm8sIGRvbWlkKTsKKyAg ICAgICAgcmMgPSBsaWJ4bF9kb21haW5faW5mbyhDVFgsICZpbmZvLCBkb21pZCk7CiAgICAgICAg IGlmIChyYykgewogICAgICAgICAgICAgTE9HRChFUlJPUiwgZG9taWQsICJGYWlsIHRvIGdldCBk b21haW4gaW5mbyIpOwogICAgICAgICAgICAgbGlieGxfZG9taW5mb19kaXNwb3NlKCZpbmZvKTsK ICAgICAgICAgICAgIGdvdG8gb3V0OwogICAgICAgICB9Ci0gICAgICAgIGxpYnhsX3V1aWRfY29w eShjdHgsICZkX2NvbmZpZy0+Y19pbmZvLnV1aWQsICZpbmZvLnV1aWQpOworICAgICAgICBsaWJ4 bF91dWlkX2NvcHkoQ1RYLCAmZF9jb25maWctPmNfaW5mby51dWlkLCAmaW5mby51dWlkKTsKICAg ICAgICAgbGlieGxfZG9taW5mb19kaXNwb3NlKCZpbmZvKTsKICAgICB9CiAKQEAgLTE5MTMsOCAr MjAxMSw3IEBAIGludCBsaWJ4bF9yZXRyaWV2ZV9kb21haW5fY29uZmlndXJhdGlvbihsaWJ4bF9j dHggKmN0eCwgdWludDMyX3QgZG9taWQsCiAgICAgICAgICAgICBhc3NlcnQodmVyc2lvbiAhPSBM SUJYTF9ERVZJQ0VfTU9ERUxfVkVSU0lPTl9VTktOT1dOKTsKICAgICAgICAgICAgIHN3aXRjaCAo dmVyc2lvbikgewogICAgICAgICAgICAgY2FzZSBMSUJYTF9ERVZJQ0VfTU9ERUxfVkVSU0lPTl9R RU1VX1hFTjoKLSAgICAgICAgICAgICAgICByYyA9IGxpYnhsX191cGRhdGVfYXZhaWxfdmNwdXNf cW1wKGdjLCBkb21pZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIG1heF92Y3B1cywgbWFwKTsKKyAgICAgICAgICAgICAgICBsaWJ4bF9iaXRtYXBf Y29weShDVFgsIG1hcCwgJnJkY3MtPnFlbXV1X2NwdXMpOwogICAgICAgICAgICAgICAgIGJyZWFr OwogICAgICAgICAgICAgY2FzZSBMSUJYTF9ERVZJQ0VfTU9ERUxfVkVSU0lPTl9RRU1VX1hFTl9U UkFESVRJT05BTDoKICAgICAgICAgICAgICAgICByYyA9IGxpYnhsX191cGRhdGVfYXZhaWxfdmNw dXNfeGVuc3RvcmUoZ2MsIGRvbWlkLApAQCAtMTkzOSw2ICsyMDM2LDcgQEAgaW50IGxpYnhsX3Jl dHJpZXZlX2RvbWFpbl9jb25maWd1cmF0aW9uKGxpYnhsX2N0eCAqY3R4LCB1aW50MzJfdCBkb21p ZCwKICAgICAgICAgfQogICAgIH0KIAorCiAgICAgLyogTWVtb3J5IGxpbWl0czoKICAgICAgKgog ICAgICAqIEN1cnJlbnRseSB0aGVyZSBhcmUgdGhyZWUgbWVtb3J5IGxpbWl0czoKQEAgLTE5NzIs NyArMjA3MCw3IEBAIGludCBsaWJ4bF9yZXRyaWV2ZV9kb21haW5fY29uZmlndXJhdGlvbihsaWJ4 bF9jdHggKmN0eCwgdWludDMyX3QgZG9taWQsCiAgICAgLyogU2NoZWR1bGVyIHBhcmFtcyAqLwog ICAgIHsKICAgICAgICAgbGlieGxfZG9tYWluX3NjaGVkX3BhcmFtc19kaXNwb3NlKCZkX2NvbmZp Zy0+Yl9pbmZvLnNjaGVkX3BhcmFtcyk7Ci0gICAgICAgIHJjID0gbGlieGxfZG9tYWluX3NjaGVk X3BhcmFtc19nZXQoY3R4LCBkb21pZCwKKyAgICAgICAgcmMgPSBsaWJ4bF9kb21haW5fc2NoZWRf cGFyYW1zX2dldChDVFgsIGRvbWlkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICZkX2NvbmZpZy0+Yl9pbmZvLnNjaGVkX3BhcmFtcyk7CiAgICAgICAgIGlmIChy YykgewogICAgICAgICAgICAgTE9HRChFUlJPUiwgZG9taWQsICJGYWlsIHRvIGdldCBzY2hlZHVs ZXIgcGFyYW1ldGVycyIpOwpAQCAtMjAzNCw3ICsyMTMyLDcgQEAgaW50IGxpYnhsX3JldHJpZXZl X2RvbWFpbl9jb25maWd1cmF0aW9uKGxpYnhsX2N0eCAqY3R4LCB1aW50MzJfdCBkb21pZCwKIAog ICAgICAgICAgICAgICAgIGlmIChqIDwgbnVtKSB7ICAgICAgICAgLyogZm91bmQgaW4geGVuc3Rv cmUgKi8KICAgICAgICAgICAgICAgICAgICAgaWYgKGR0LT5tZXJnZSkKLSAgICAgICAgICAgICAg ICAgICAgICAgIGR0LT5tZXJnZShjdHgsIHAgKyBkdC0+ZGV2X2VsZW1fc2l6ZSAqIGosIHEpOwor ICAgICAgICAgICAgICAgICAgICAgICAgZHQtPm1lcmdlKENUWCwgcCArIGR0LT5kZXZfZWxlbV9z aXplICogaiwgcSk7CiAgICAgICAgICAgICAgICAgfSBlbHNlIHsgICAgICAgICAgICAgICAgLyog bm90IGZvdW5kIGluIHhlbnN0b3JlICovCiAgICAgICAgICAgICAgICAgICAgIExPR0QoV0FSTiwg ZG9taWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIkRldmljZSBwcmVzZW50IGluIEpTT04g YnV0IG5vdCBpbiB4ZW5zdG9yZSwgaWdub3JlZCIpOwpAQCAtMjA2MiwxMSArMjE2MCwxMiBAQCBp bnQgbGlieGxfcmV0cmlldmVfZG9tYWluX2NvbmZpZ3VyYXRpb24obGlieGxfY3R4ICpjdHgsIHVp bnQzMl90IGRvbWlkLAogICAgIH0KIAogb3V0OgorICAgIGxpYnhsX19ldl9kZXZsb2NrX3VubG9j ayhnYywgJnJkY3MtPmRldmxvY2spOwogICAgIGlmIChsb2NrKSBsaWJ4bF9fdW5sb2NrX2RvbWFp bl91c2VyZGF0YShsb2NrKTsKLSAgICBpZiAocmMpCi0gICAgICAgIHJldHVybiBBT19DUkVBVEVf RkFJTChyYyk7CisgICAgbGlieGxfYml0bWFwX2Rpc3Bvc2UoJnJkY3MtPnFlbXV1X2NwdXMpOwor ICAgIGxpYnhsX19ldl9xbXBfZGlzcG9zZShnYywgJnJkY3MtPnFtcCk7CisgICAgbGlieGxfX2V2 X3RpbWVfZGVyZWdpc3RlcihnYywgJnJkY3MtPnRpbWVvdXQpOwogICAgIGxpYnhsX19hb19jb21w bGV0ZShlZ2MsIGFvLCByYyk7Ci0gICAgcmV0dXJuIEFPX0lOUFJPR1JFU1M7CiB9CiAKIC8qCmRp ZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oIGIvdG9vbHMvbGlieGwvbGli eGxfaW50ZXJuYWwuaAppbmRleCAxZWNlYmYxMzY5ODQuLmJmZWIzOGUwZWRhMyAxMDA2NDQKLS0t IGEvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaAorKysgYi90b29scy9saWJ4bC9saWJ4bF9p bnRlcm5hbC5oCkBAIC0xOTg4LDkgKzE5ODgsNiBAQCBfaGlkZGVuIGxpYnhsX19xbXBfaGFuZGxl ciAqbGlieGxfX3FtcF9pbml0aWFsaXplKGxpYnhsX19nYyAqZ2MsCiBfaGlkZGVuIGludCBsaWJ4 bF9fcW1wX3Jlc3VtZShsaWJ4bF9fZ2MgKmdjLCBpbnQgZG9taWQpOwogLyogTG9hZCBjdXJyZW50 IFFFTVUgc3RhdGUgZnJvbSBmaWxlLiAqLwogX2hpZGRlbiBpbnQgbGlieGxfX3FtcF9yZXN0b3Jl KGxpYnhsX19nYyAqZ2MsIGludCBkb21pZCwgY29uc3QgY2hhciAqZmlsZW5hbWUpOwotLyogUXVl cnkgdGhlIGJpdG1hcCBvZiBDUFVzICovCi1faGlkZGVuIGludCBsaWJ4bF9fcW1wX3F1ZXJ5X2Nw dXMobGlieGxfX2djICpnYywgaW50IGRvbWlkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGxpYnhsX2JpdG1hcCAqbWFwKTsKIC8qIFN0YXJ0IE5CRCBzZXJ2ZXIgKi8KIF9oaWRk ZW4gaW50IGxpYnhsX19xbXBfbmJkX3NlcnZlcl9zdGFydChsaWJ4bF9fZ2MgKmdjLCBpbnQgZG9t aWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAq aG9zdCwgY29uc3QgY2hhciAqcG9ydCk7CmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9x bXAuYyBiL3Rvb2xzL2xpYnhsL2xpYnhsX3FtcC5jCmluZGV4IDI3MTgzYmM2YzRhMy4uOTYzOWQ0 OTFkOTkxIDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9xbXAuYworKysgYi90b29scy9s aWJ4bC9saWJ4bF9xbXAuYwpAQCAtNzY3LDQ0ICs3NjcsNiBAQCBpbnQgbGlieGxfX3FtcF9yZXN1 bWUobGlieGxfX2djICpnYywgaW50IGRvbWlkKQogICAgIHJldHVybiBxbXBfcnVuX2NvbW1hbmQo Z2MsIGRvbWlkLCAiY29udCIsIE5VTEwsIE5VTEwsIE5VTEwpOwogfQogCi1zdGF0aWMgaW50IHF1 ZXJ5X2NwdXNfY2FsbGJhY2sobGlieGxfX3FtcF9oYW5kbGVyICpxbXAsCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgY29uc3QgbGlieGxfX2pzb25fb2JqZWN0ICpyZXNwb25zZSwKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICpvcGFxdWUpCi17Ci0gICAgbGlieGxf Yml0bWFwICptYXAgPSBvcGFxdWU7Ci0gICAgdW5zaWduZWQgaW50IGk7Ci0gICAgY29uc3QgbGli eGxfX2pzb25fb2JqZWN0ICpjcHUgPSBOVUxMOwotICAgIGludCByYzsKLSAgICBHQ19JTklUKHFt cC0+Y3R4KTsKLQotICAgIGxpYnhsX2JpdG1hcF9zZXRfbm9uZShtYXApOwotICAgIGZvciAoaSA9 IDA7IChjcHUgPSBsaWJ4bF9fanNvbl9hcnJheV9nZXQocmVzcG9uc2UsIGkpKTsgaSsrKSB7Ci0g ICAgICAgIHVuc2lnbmVkIGludCBpZHg7Ci0gICAgICAgIGNvbnN0IGxpYnhsX19qc29uX29iamVj dCAqbzsKLQotICAgICAgICBvID0gbGlieGxfX2pzb25fbWFwX2dldCgiQ1BVIiwgY3B1LCBKU09O X0lOVEVHRVIpOwotICAgICAgICBpZiAoIW8pIHsKLSAgICAgICAgICAgIExPR0QoRVJST1IsIHFt cC0+ZG9taWQsICJGYWlsZWQgdG8gcmV0cmlldmUgQ1BVIGluZGV4LiIpOwotICAgICAgICAgICAg cmMgPSBFUlJPUl9GQUlMOwotICAgICAgICAgICAgZ290byBvdXQ7Ci0gICAgICAgIH0KLQotICAg ICAgICBpZHggPSBsaWJ4bF9fanNvbl9vYmplY3RfZ2V0X2ludGVnZXIobyk7Ci0gICAgICAgIGxp YnhsX2JpdG1hcF9zZXQobWFwLCBpZHgpOwotICAgIH0KLQotICAgIHJjID0gMDsKLW91dDoKLSAg ICBHQ19GUkVFOwotICAgIHJldHVybiByYzsKLX0KLQotaW50IGxpYnhsX19xbXBfcXVlcnlfY3B1 cyhsaWJ4bF9fZ2MgKmdjLCBpbnQgZG9taWQsIGxpYnhsX2JpdG1hcCAqbWFwKQotewotICAgIHJl dHVybiBxbXBfcnVuX2NvbW1hbmQoZ2MsIGRvbWlkLCAicXVlcnktY3B1cyIsIE5VTEwsCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICBxdWVyeV9jcHVzX2NhbGxiYWNrLCBtYXApOwotfQotCiBp bnQgbGlieGxfX3FtcF9uYmRfc2VydmVyX3N0YXJ0KGxpYnhsX19nYyAqZ2MsIGludCBkb21pZCwK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqaG9zdCwgY29uc3Qg Y2hhciAqcG9ydCkKIHsKLS0gCkFudGhvbnkgUEVSQVJECgoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2 ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWls bWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==