From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anthony PERARD Subject: [PATCH 3/9] libxl_internal: Split out userdata lock function Date: Tue, 9 Apr 2019 17:45:36 +0100 Message-ID: <20190409164542.30274-4-anthony.perard@citrix.com> References: <20190409164542.30274-1-anthony.perard@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: 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 1hDtsj-0008Co-Ol for xen-devel@lists.xenproject.org; Tue, 09 Apr 2019 16:45:57 +0000 In-Reply-To: <20190409164542.30274-1-anthony.perard@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Anthony PERARD , Wei Liu , Ian Jackson List-Id: xen-devel@lists.xenproject.org V2UgYXJlIGdvaW5nIHRvIGNyZWF0ZSBhIG5ldyBsb2NrIGFuZCB3YW50IHRvIHJldXNlIHRoZSBz YW1lIG1hY2hpbmVyeS4KQWxzbywgaGlkZSB0aGUgZGV0YWlsIG9mIHN0cnVjdCBsaWJ4bF9fZG9t YWluX3VzZXJkYXRhX2xvY2sgYXMgdGhpcyBpcwpvbmx5IHVzZWZ1bCBhcyBhIHBvaW50ZXIgYnkg dGhlIHJlc3Qgb2YgbGlieGwuCgpObyBmdW5jdGlvbmFsIGNoYW5nZXMuCgpTaWduZWQtb2ZmLWJ5 OiBBbnRob255IFBFUkFSRCA8YW50aG9ueS5wZXJhcmRAY2l0cml4LmNvbT4KLS0tCiB0b29scy9s aWJ4bC9saWJ4bF9pbnRlcm5hbC5jIHwgNTAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKyst LS0tLS0tCiB0b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oIHwgIDUgKy0tLQogMiBmaWxlcyBj aGFuZ2VkLCA0MiBpbnNlcnRpb25zKCspLCAxMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS90 b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5jIGIvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwu YwppbmRleCBmNDkyZGFlNWZmLi5mYTBiYmMzOTYwIDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9s aWJ4bF9pbnRlcm5hbC5jCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmMKQEAgLTM5 NywyMSArMzk3LDI2IEBAIGludCBsaWJ4bF9fZGV2aWNlX21vZGVsX3ZlcnNpb25fcnVubmluZyhs aWJ4bF9fZ2MgKmdjLCB1aW50MzJfdCBkb21pZCkKICAgICByZXR1cm4gdmFsdWU7CiB9CiAKK3R5 cGVkZWYgc3RydWN0IHsKKyAgICBsaWJ4bF9fY2FyZWZkICpjYXJlZmQ7CisgICAgY2hhciAqcGF0 aDsgLyogcGF0aCBvZiB0aGUgbG9jayBmaWxlIGl0c2VsZiAqLworfSBsaWJ4bF9fZ2VuZXJpY19s b2NrOworc3RhdGljIHZvaWQgbGlieGxfX3VubG9ja19nZW5lcmljKGxpYnhsX19nZW5lcmljX2xv Y2sgKiBjb25zdCBsb2NrKTsKKwogLyogUG9ydGFiaWxpdHkgbm90ZTogdGhpcyBsb2NrIHV0aWxp c2VzIGZsb2NrKDIpIHNvIGEgcHJvcGVyIGltcGxlbWVudGF0aW9uIG9mCiAgKiBmbG9jaygyKSBp cyByZXF1aXJlZC4KICAqLwotbGlieGxfX2RvbWFpbl91c2VyZGF0YV9sb2NrICpsaWJ4bF9fbG9j a19kb21haW5fdXNlcmRhdGEobGlieGxfX2djICpnYywKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGRvbWlkKQorc3RhdGlj IGludCBsaWJ4bF9fbG9ja19nZW5lcmljKGxpYnhsX19nYyAqZ2MsIGxpYnhsX2RvbWlkIGRvbWlk LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19nZW5lcmljX2xvY2sgKiBj b25zdCBsb2NrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmxv Y2tfbmFtZSkKIHsKLSAgICBsaWJ4bF9fZG9tYWluX3VzZXJkYXRhX2xvY2sgKmxvY2sgPSBOVUxM OwogICAgIGNvbnN0IGNoYXIgKmxvY2tmaWxlOwogICAgIGludCBmZDsKICAgICBzdHJ1Y3Qgc3Rh dCBzdGFiLCBmc3RhYjsKIAotICAgIGxvY2tmaWxlID0gbGlieGxfX3VzZXJkYXRhX3BhdGgoZ2Ms IGRvbWlkLCAiZG9tYWluLXVzZXJkYXRhLWxvY2siLCAibCIpOworICAgIGxvY2tmaWxlID0gbGli eGxfX3VzZXJkYXRhX3BhdGgoZ2MsIGRvbWlkLCBsb2NrX25hbWUsICJsIik7CiAgICAgaWYgKCFs b2NrZmlsZSkgZ290byBvdXQ7CiAKLSAgICBsb2NrID0gbGlieGxfX3phbGxvYyhOT0dDLCBzaXpl b2YobGlieGxfX2RvbWFpbl91c2VyZGF0YV9sb2NrKSk7CiAgICAgbG9jay0+cGF0aCA9IGxpYnhs X19zdHJkdXAoTk9HQywgbG9ja2ZpbGUpOwogCiAgICAgd2hpbGUgKHRydWUpIHsKQEAgLTQ2NCwx NCArNDY5LDE0IEBAIGxpYnhsX19kb21haW5fdXNlcmRhdGFfbG9jayAqbGlieGxfX2xvY2tfZG9t YWluX3VzZXJkYXRhKGxpYnhsX19nYyAqZ2MsCiAgICAgaWYgKGxpYnhsX2RvbWFpbl9pbmZvKENU WCwgTlVMTCwgZG9taWQpKQogICAgICAgICBnb3RvIG91dDsKIAotICAgIHJldHVybiBsb2NrOwor ICAgIHJldHVybiAwOwogCiBvdXQ6Ci0gICAgaWYgKGxvY2spIGxpYnhsX191bmxvY2tfZG9tYWlu X3VzZXJkYXRhKGxvY2spOwotICAgIHJldHVybiBOVUxMOworICAgIGlmIChsb2NrKSBsaWJ4bF9f dW5sb2NrX2dlbmVyaWMobG9jayk7CisgICAgcmV0dXJuIEVSUk9SX0ZBSUw7CiB9CiAKLXZvaWQg bGlieGxfX3VubG9ja19kb21haW5fdXNlcmRhdGEobGlieGxfX2RvbWFpbl91c2VyZGF0YV9sb2Nr ICpsb2NrKQorc3RhdGljIHZvaWQgbGlieGxfX3VubG9ja19nZW5lcmljKGxpYnhsX19nZW5lcmlj X2xvY2sgKiBjb25zdCBsb2NrKQogewogICAgIC8qIEl0J3MgaW1wb3J0YW50IHRvIHVubGluayB0 aGUgZmlsZSBiZWZvcmUgY2xvc2luZyBmZCB0byBhdm9pZAogICAgICAqIHRoZSBmb2xsb3dpbmcg cmFjZSAoaWYgY2xvc2UgYmVmb3JlIHVubGluayk6CkBAIC00OTAsNiArNDk1LDMzIEBAIHZvaWQg bGlieGxfX3VubG9ja19kb21haW5fdXNlcmRhdGEobGlieGxfX2RvbWFpbl91c2VyZGF0YV9sb2Nr ICpsb2NrKQogICAgIGlmIChsb2NrLT5wYXRoKSB1bmxpbmsobG9jay0+cGF0aCk7CiAgICAgaWYg KGxvY2stPmNhcmVmZCkgbGlieGxfX2NhcmVmZF9jbG9zZShsb2NrLT5jYXJlZmQpOwogICAgIGZy ZWUobG9jay0+cGF0aCk7Cit9CisKKworc3RydWN0IGxpYnhsX19kb21haW5fdXNlcmRhdGFfbG9j ayB7CisgICAgbGlieGxfX2dlbmVyaWNfbG9jayBsb2NrOworfTsKKworbGlieGxfX2RvbWFpbl91 c2VyZGF0YV9sb2NrICpsaWJ4bF9fbG9ja19kb21haW5fdXNlcmRhdGEobGlieGxfX2djICpnYywK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHVpbnQzMl90IGRvbWlkKQoreworICAgIGxpYnhsX19kb21haW5fdXNlcmRhdGFfbG9jayAqbG9j ayA9IE5VTEw7CisgICAgaW50IHJjOworCisgICAgbG9jayA9IGxpYnhsX196YWxsb2MoTk9HQywg c2l6ZW9mKCpsb2NrKSk7CisgICAgcmMgPSBsaWJ4bF9fbG9ja19nZW5lcmljKGdjLCBkb21pZCwg JmxvY2stPmxvY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkb21haW4tdXNlcmRh dGEtbG9jayIpOworICAgIGlmIChyYykgeworICAgICAgICBsaWJ4bF9fdW5sb2NrX2RvbWFpbl91 c2VyZGF0YShsb2NrKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorCisgICAgcmV0dXJu IGxvY2s7Cit9CisKK3ZvaWQgbGlieGxfX3VubG9ja19kb21haW5fdXNlcmRhdGEobGlieGxfX2Rv bWFpbl91c2VyZGF0YV9sb2NrICpsb2NrKQoreworICAgIGxpYnhsX191bmxvY2tfZ2VuZXJpYygm bG9jay0+bG9jayk7CiAgICAgZnJlZShsb2NrKTsKIH0KIApkaWZmIC0tZ2l0IGEvdG9vbHMvbGli eGwvbGlieGxfaW50ZXJuYWwuaCBiL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmgKaW5kZXgg NzAyYWNjNmQ1ZC4uZjFhZWZhZjk4YSAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfaW50 ZXJuYWwuaAorKysgYi90b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oCkBAIC00NDg2LDEwICs0 NDg2LDcgQEAgc3RhdGljIGlubGluZSBpbnQgbGlieGxfX2tleV92YWx1ZV9saXN0X2lzX2VtcHR5 KGxpYnhsX2tleV92YWx1ZV9saXN0ICpwa3ZsKQogaW50IGxpYnhsX19jcHVpZF9wb2xpY3lfaXNf ZW1wdHkobGlieGxfY3B1aWRfcG9saWN5X2xpc3QgKnBsKTsKIAogLyogUG9ydGFiaWxpdHkgbm90 ZTogYSBwcm9wZXIgZmxvY2soMikgaW1wbGVtZW50YXRpb24gaXMgcmVxdWlyZWQgKi8KLXR5cGVk ZWYgc3RydWN0IHsKLSAgICBsaWJ4bF9fY2FyZWZkICpjYXJlZmQ7Ci0gICAgY2hhciAqcGF0aDsg LyogcGF0aCBvZiB0aGUgbG9jayBmaWxlIGl0c2VsZiAqLwotfSBsaWJ4bF9fZG9tYWluX3VzZXJk YXRhX2xvY2s7Cit0eXBlZGVmIHN0cnVjdCBsaWJ4bF9fZG9tYWluX3VzZXJkYXRhX2xvY2sgbGli eGxfX2RvbWFpbl91c2VyZGF0YV9sb2NrOwogLyogVGhlIENUWF9MT0NLIG11c3QgYmUgaGVsZCBh cm91bmQgdXNlcyBvZiB0aGlzIGxvY2sgKi8KIGxpYnhsX19kb21haW5fdXNlcmRhdGFfbG9jayAq bGlieGxfX2xvY2tfZG9tYWluX3VzZXJkYXRhKGxpYnhsX19nYyAqZ2MsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBkb21p ZCk7Ci0tIApBbnRob255IFBFUkFSRAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhl bnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5m by94ZW4tZGV2ZWw= 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.0 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 4EEB1C282CE for ; Tue, 9 Apr 2019 16:46:10 +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 2695B2084C for ; Tue, 9 Apr 2019 16:46:10 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 2695B2084C 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 1hDtsl-0008Ex-1B; Tue, 09 Apr 2019 16:45: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 1hDtsj-0008Co-Ol for xen-devel@lists.xenproject.org; Tue, 09 Apr 2019 16:45:57 +0000 X-Inumbo-ID: f12840a6-5ae6-11e9-a08e-bf613d1783e6 Received: from SMTP03.CITRIX.COM (unknown [162.221.156.55]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id f12840a6-5ae6-11e9-a08e-bf613d1783e6; Tue, 09 Apr 2019 16:45:54 +0000 (UTC) X-IronPort-AV: E=Sophos;i="5.60,330,1549929600"; d="scan'208";a="83137625" From: Anthony PERARD To: Date: Tue, 9 Apr 2019 17:45:36 +0100 Message-ID: <20190409164542.30274-4-anthony.perard@citrix.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190409164542.30274-1-anthony.perard@citrix.com> References: <20190409164542.30274-1-anthony.perard@citrix.com> MIME-Version: 1.0 Subject: [Xen-devel] [PATCH 3/9] libxl_internal: Split out userdata lock function 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 , Wei Liu , Ian Jackson Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" Message-ID: <20190409164536.mz7YbsKQutO8nyS32zkhXng2PYXm6-QXWR2utcvfs7Q@z> V2UgYXJlIGdvaW5nIHRvIGNyZWF0ZSBhIG5ldyBsb2NrIGFuZCB3YW50IHRvIHJldXNlIHRoZSBz YW1lIG1hY2hpbmVyeS4KQWxzbywgaGlkZSB0aGUgZGV0YWlsIG9mIHN0cnVjdCBsaWJ4bF9fZG9t YWluX3VzZXJkYXRhX2xvY2sgYXMgdGhpcyBpcwpvbmx5IHVzZWZ1bCBhcyBhIHBvaW50ZXIgYnkg dGhlIHJlc3Qgb2YgbGlieGwuCgpObyBmdW5jdGlvbmFsIGNoYW5nZXMuCgpTaWduZWQtb2ZmLWJ5 OiBBbnRob255IFBFUkFSRCA8YW50aG9ueS5wZXJhcmRAY2l0cml4LmNvbT4KLS0tCiB0b29scy9s aWJ4bC9saWJ4bF9pbnRlcm5hbC5jIHwgNTAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKyst LS0tLS0tCiB0b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oIHwgIDUgKy0tLQogMiBmaWxlcyBj aGFuZ2VkLCA0MiBpbnNlcnRpb25zKCspLCAxMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS90 b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5jIGIvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwu YwppbmRleCBmNDkyZGFlNWZmLi5mYTBiYmMzOTYwIDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9s aWJ4bF9pbnRlcm5hbC5jCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmMKQEAgLTM5 NywyMSArMzk3LDI2IEBAIGludCBsaWJ4bF9fZGV2aWNlX21vZGVsX3ZlcnNpb25fcnVubmluZyhs aWJ4bF9fZ2MgKmdjLCB1aW50MzJfdCBkb21pZCkKICAgICByZXR1cm4gdmFsdWU7CiB9CiAKK3R5 cGVkZWYgc3RydWN0IHsKKyAgICBsaWJ4bF9fY2FyZWZkICpjYXJlZmQ7CisgICAgY2hhciAqcGF0 aDsgLyogcGF0aCBvZiB0aGUgbG9jayBmaWxlIGl0c2VsZiAqLworfSBsaWJ4bF9fZ2VuZXJpY19s b2NrOworc3RhdGljIHZvaWQgbGlieGxfX3VubG9ja19nZW5lcmljKGxpYnhsX19nZW5lcmljX2xv Y2sgKiBjb25zdCBsb2NrKTsKKwogLyogUG9ydGFiaWxpdHkgbm90ZTogdGhpcyBsb2NrIHV0aWxp c2VzIGZsb2NrKDIpIHNvIGEgcHJvcGVyIGltcGxlbWVudGF0aW9uIG9mCiAgKiBmbG9jaygyKSBp cyByZXF1aXJlZC4KICAqLwotbGlieGxfX2RvbWFpbl91c2VyZGF0YV9sb2NrICpsaWJ4bF9fbG9j a19kb21haW5fdXNlcmRhdGEobGlieGxfX2djICpnYywKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGRvbWlkKQorc3RhdGlj IGludCBsaWJ4bF9fbG9ja19nZW5lcmljKGxpYnhsX19nYyAqZ2MsIGxpYnhsX2RvbWlkIGRvbWlk LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19nZW5lcmljX2xvY2sgKiBj b25zdCBsb2NrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmxv Y2tfbmFtZSkKIHsKLSAgICBsaWJ4bF9fZG9tYWluX3VzZXJkYXRhX2xvY2sgKmxvY2sgPSBOVUxM OwogICAgIGNvbnN0IGNoYXIgKmxvY2tmaWxlOwogICAgIGludCBmZDsKICAgICBzdHJ1Y3Qgc3Rh dCBzdGFiLCBmc3RhYjsKIAotICAgIGxvY2tmaWxlID0gbGlieGxfX3VzZXJkYXRhX3BhdGgoZ2Ms IGRvbWlkLCAiZG9tYWluLXVzZXJkYXRhLWxvY2siLCAibCIpOworICAgIGxvY2tmaWxlID0gbGli eGxfX3VzZXJkYXRhX3BhdGgoZ2MsIGRvbWlkLCBsb2NrX25hbWUsICJsIik7CiAgICAgaWYgKCFs b2NrZmlsZSkgZ290byBvdXQ7CiAKLSAgICBsb2NrID0gbGlieGxfX3phbGxvYyhOT0dDLCBzaXpl b2YobGlieGxfX2RvbWFpbl91c2VyZGF0YV9sb2NrKSk7CiAgICAgbG9jay0+cGF0aCA9IGxpYnhs X19zdHJkdXAoTk9HQywgbG9ja2ZpbGUpOwogCiAgICAgd2hpbGUgKHRydWUpIHsKQEAgLTQ2NCwx NCArNDY5LDE0IEBAIGxpYnhsX19kb21haW5fdXNlcmRhdGFfbG9jayAqbGlieGxfX2xvY2tfZG9t YWluX3VzZXJkYXRhKGxpYnhsX19nYyAqZ2MsCiAgICAgaWYgKGxpYnhsX2RvbWFpbl9pbmZvKENU WCwgTlVMTCwgZG9taWQpKQogICAgICAgICBnb3RvIG91dDsKIAotICAgIHJldHVybiBsb2NrOwor ICAgIHJldHVybiAwOwogCiBvdXQ6Ci0gICAgaWYgKGxvY2spIGxpYnhsX191bmxvY2tfZG9tYWlu X3VzZXJkYXRhKGxvY2spOwotICAgIHJldHVybiBOVUxMOworICAgIGlmIChsb2NrKSBsaWJ4bF9f dW5sb2NrX2dlbmVyaWMobG9jayk7CisgICAgcmV0dXJuIEVSUk9SX0ZBSUw7CiB9CiAKLXZvaWQg bGlieGxfX3VubG9ja19kb21haW5fdXNlcmRhdGEobGlieGxfX2RvbWFpbl91c2VyZGF0YV9sb2Nr ICpsb2NrKQorc3RhdGljIHZvaWQgbGlieGxfX3VubG9ja19nZW5lcmljKGxpYnhsX19nZW5lcmlj X2xvY2sgKiBjb25zdCBsb2NrKQogewogICAgIC8qIEl0J3MgaW1wb3J0YW50IHRvIHVubGluayB0 aGUgZmlsZSBiZWZvcmUgY2xvc2luZyBmZCB0byBhdm9pZAogICAgICAqIHRoZSBmb2xsb3dpbmcg cmFjZSAoaWYgY2xvc2UgYmVmb3JlIHVubGluayk6CkBAIC00OTAsNiArNDk1LDMzIEBAIHZvaWQg bGlieGxfX3VubG9ja19kb21haW5fdXNlcmRhdGEobGlieGxfX2RvbWFpbl91c2VyZGF0YV9sb2Nr ICpsb2NrKQogICAgIGlmIChsb2NrLT5wYXRoKSB1bmxpbmsobG9jay0+cGF0aCk7CiAgICAgaWYg KGxvY2stPmNhcmVmZCkgbGlieGxfX2NhcmVmZF9jbG9zZShsb2NrLT5jYXJlZmQpOwogICAgIGZy ZWUobG9jay0+cGF0aCk7Cit9CisKKworc3RydWN0IGxpYnhsX19kb21haW5fdXNlcmRhdGFfbG9j ayB7CisgICAgbGlieGxfX2dlbmVyaWNfbG9jayBsb2NrOworfTsKKworbGlieGxfX2RvbWFpbl91 c2VyZGF0YV9sb2NrICpsaWJ4bF9fbG9ja19kb21haW5fdXNlcmRhdGEobGlieGxfX2djICpnYywK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHVpbnQzMl90IGRvbWlkKQoreworICAgIGxpYnhsX19kb21haW5fdXNlcmRhdGFfbG9jayAqbG9j ayA9IE5VTEw7CisgICAgaW50IHJjOworCisgICAgbG9jayA9IGxpYnhsX196YWxsb2MoTk9HQywg c2l6ZW9mKCpsb2NrKSk7CisgICAgcmMgPSBsaWJ4bF9fbG9ja19nZW5lcmljKGdjLCBkb21pZCwg JmxvY2stPmxvY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkb21haW4tdXNlcmRh dGEtbG9jayIpOworICAgIGlmIChyYykgeworICAgICAgICBsaWJ4bF9fdW5sb2NrX2RvbWFpbl91 c2VyZGF0YShsb2NrKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorCisgICAgcmV0dXJu IGxvY2s7Cit9CisKK3ZvaWQgbGlieGxfX3VubG9ja19kb21haW5fdXNlcmRhdGEobGlieGxfX2Rv bWFpbl91c2VyZGF0YV9sb2NrICpsb2NrKQoreworICAgIGxpYnhsX191bmxvY2tfZ2VuZXJpYygm bG9jay0+bG9jayk7CiAgICAgZnJlZShsb2NrKTsKIH0KIApkaWZmIC0tZ2l0IGEvdG9vbHMvbGli eGwvbGlieGxfaW50ZXJuYWwuaCBiL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmgKaW5kZXgg NzAyYWNjNmQ1ZC4uZjFhZWZhZjk4YSAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfaW50 ZXJuYWwuaAorKysgYi90b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oCkBAIC00NDg2LDEwICs0 NDg2LDcgQEAgc3RhdGljIGlubGluZSBpbnQgbGlieGxfX2tleV92YWx1ZV9saXN0X2lzX2VtcHR5 KGxpYnhsX2tleV92YWx1ZV9saXN0ICpwa3ZsKQogaW50IGxpYnhsX19jcHVpZF9wb2xpY3lfaXNf ZW1wdHkobGlieGxfY3B1aWRfcG9saWN5X2xpc3QgKnBsKTsKIAogLyogUG9ydGFiaWxpdHkgbm90 ZTogYSBwcm9wZXIgZmxvY2soMikgaW1wbGVtZW50YXRpb24gaXMgcmVxdWlyZWQgKi8KLXR5cGVk ZWYgc3RydWN0IHsKLSAgICBsaWJ4bF9fY2FyZWZkICpjYXJlZmQ7Ci0gICAgY2hhciAqcGF0aDsg LyogcGF0aCBvZiB0aGUgbG9jayBmaWxlIGl0c2VsZiAqLwotfSBsaWJ4bF9fZG9tYWluX3VzZXJk YXRhX2xvY2s7Cit0eXBlZGVmIHN0cnVjdCBsaWJ4bF9fZG9tYWluX3VzZXJkYXRhX2xvY2sgbGli eGxfX2RvbWFpbl91c2VyZGF0YV9sb2NrOwogLyogVGhlIENUWF9MT0NLIG11c3QgYmUgaGVsZCBh cm91bmQgdXNlcyBvZiB0aGlzIGxvY2sgKi8KIGxpYnhsX19kb21haW5fdXNlcmRhdGFfbG9jayAq bGlieGxfX2xvY2tfZG9tYWluX3VzZXJkYXRhKGxpYnhsX19nYyAqZ2MsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBkb21p ZCk7Ci0tIApBbnRob255IFBFUkFSRAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhl bnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5m by94ZW4tZGV2ZWw=