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.4 required=3.0 tests=DKIM_ADSP_ALL,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 E19CCC2D0DB for ; Fri, 31 Jan 2020 15:02:23 +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 A734A20705 for ; Fri, 31 Jan 2020 15:02:23 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=amazon.com header.i=@amazon.com header.b="OwGTxGai" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A734A20705 Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=amazon.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 1ixXo9-0005y5-Lx; Fri, 31 Jan 2020 15:02:09 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1ixXo7-0005xl-RK for xen-devel@lists.xenproject.org; Fri, 31 Jan 2020 15:02:07 +0000 X-Inumbo-ID: a199ace4-443a-11ea-a933-bc764e2007e4 Received: from smtp-fw-6001.amazon.com (unknown [52.95.48.154]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id a199ace4-443a-11ea-a933-bc764e2007e4; Fri, 31 Jan 2020 15:01:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amazon.com; i=@amazon.com; q=dns/txt; s=amazon201209; t=1580482920; x=1612018920; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=Qvys3TC3S2PVogA9uTOu96TknQ6HLgkvAi1gKpa2GBQ=; b=OwGTxGaiey2raKfmzfrmWswCM23GrtgLZ4mK820fgikqDoJ4WCkwB3Iu 6DQCAUq03jrsqF+VhAHi00vzt/qskxvBAq3A3gGr8oRlpnzgTVkdb185y +fPVh3z52fS1oJPPQwNIkXp5NiztQ0zBcieaITTdmdNxKlB+7OHrP0iMr E=; IronPort-SDR: kDhRdpRa5NsJp0UnFeaat6oaEqAI3vTjAZoaom7bEIZyAkaiq7Ay6TGsjXVDKQN8OMMNua/2vj a/biF73OSNZQ== X-IronPort-AV: E=Sophos;i="5.70,386,1574121600"; d="scan'208";a="15640788" Received: from iad12-co-svc-p1-lb1-vlan3.amazon.com (HELO email-inbound-relay-2a-f14f4a47.us-west-2.amazon.com) ([10.43.8.6]) by smtp-border-fw-out-6001.iad6.amazon.com with ESMTP; 31 Jan 2020 15:01:59 +0000 Received: from EX13MTAUEA002.ant.amazon.com (pdx4-ws-svc-p6-lb7-vlan2.pdx.amazon.com [10.170.41.162]) by email-inbound-relay-2a-f14f4a47.us-west-2.amazon.com (Postfix) with ESMTPS id ABCB2A2B1E; Fri, 31 Jan 2020 15:01:58 +0000 (UTC) Received: from EX13D32EUC001.ant.amazon.com (10.43.164.159) by EX13MTAUEA002.ant.amazon.com (10.43.61.77) with Microsoft SMTP Server (TLS) id 15.0.1236.3; Fri, 31 Jan 2020 15:01:58 +0000 Received: from EX13MTAUEE002.ant.amazon.com (10.43.62.24) by EX13D32EUC001.ant.amazon.com (10.43.164.159) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Fri, 31 Jan 2020 15:01:57 +0000 Received: from u2f063a87eabd5f.cbg10.amazon.com (10.125.106.135) by mail-relay.amazon.com (10.43.62.224) with Microsoft SMTP Server id 15.0.1367.3 via Frontend Transport; Fri, 31 Jan 2020 15:01:56 +0000 From: Paul Durrant To: Date: Fri, 31 Jan 2020 15:01:45 +0000 Message-ID: <20200131150149.2008-4-pdurrant@amazon.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200131150149.2008-1-pdurrant@amazon.com> References: <20200131150149.2008-1-pdurrant@amazon.com> MIME-Version: 1.0 Precedence: Bulk Subject: [Xen-devel] [PATCH v5 3/7] libxl: generalise libxl__domain_userdata_lock() X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Anthony PERARD , Paul Durrant , 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" VGhpcyBmdW5jdGlvbiBpbXBsZW1lbnRzIGEgZmlsZS1iYXNlZCBsb2NrIHdpdGggYSBmaWxlIG5h bWUgZ2VuZXJhdGVkCmZyb20gYSBkb21pZC4KClRoaXMgcGF0Y2ggc3BsaXRzIGl0IGludG8gdHdv LCBnZW5lcmFsaXNpbmcgdGhlIGNvcmUgb2YgdGhlIGxvY2tpbmcgY29kZQppbnRvIGEgbmV3IGxp YnhsX19sb2NrX2ZpbGUoKSBmdW5jdGlvbiB3aGljaCBvcGVyYXRlcyBvbiBhIHNwZWNpZmllZCBm aWxlLApsZWF2aW5nIGp1c3QgdGhlIGZpbGUgbmFtZSBnZW5lcmF0aW9uIGluIGxpYnhsX19kb21h aW5fdXNlcmRhdGFfbG9jaygpLgoKVGhpcyBwYXRjaCBhbHNvIGdlbmVyYWxpc2VzIGxpYnhsX191 bmxvY2tfZG9tYWluX3VzZXJkYXRhKCkgdG8KbGlieGxfX3VubG9ja19maWxlKCkgYW5kIG1vZGlm aWVzIGFsbCBjYWxsLXNpdGVzLgoKU3VnZ2VzdGVkLWJ5OiBJYW4gSmFja3NvbiA8aWFuLmphY2tz b25AZXUuY2l0cml4LmNvbT4KU2lnbmVkLW9mZi1ieTogUGF1bCBEdXJyYW50IDxwZHVycmFudEBh bWF6b24uY29tPgpBY2tlZC1ieTogSWFuIEphY2tzb24gPGlhbi5qYWNrc29uQGV1LmNpdHJpeC5j b20+Ci0tLQpDYzogV2VpIExpdSA8d2xAeGVuLm9yZz4KQ2M6IEFudGhvbnkgUEVSQVJEIDxhbnRo b255LnBlcmFyZEBjaXRyaXguY29tPgoKdjQ6CiAtIE5ldyBpbiB2NC4KLS0tCiB0b29scy9saWJ4 bC9saWJ4bF9jcmVhdGUuYyAgIHwgIDQgKy0tCiB0b29scy9saWJ4bC9saWJ4bF9kZXZpY2UuYyAg IHwgIDQgKy0tCiB0b29scy9saWJ4bC9saWJ4bF9kaXNrLmMgICAgIHwgMTIgKysrKy0tLS0KIHRv b2xzL2xpYnhsL2xpYnhsX2RvbS5jICAgICAgfCAxMiArKysrLS0tLQogdG9vbHMvbGlieGwvbGli eGxfZG9tYWluLmMgICB8IDE0ICsrKystLS0tLQogdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwu YyB8IDU1ICsrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLQogdG9vbHMvbGlieGwv bGlieGxfaW50ZXJuYWwuaCB8IDEwICsrKystLS0KIHRvb2xzL2xpYnhsL2xpYnhsX21lbS5jICAg ICAgfCAgOCArKystLS0KIHRvb2xzL2xpYnhsL2xpYnhsX3BjaS5jICAgICAgfCAgNCArLS0KIHRv b2xzL2xpYnhsL2xpYnhsX3VzYi5jICAgICAgfCAgOCArKystLS0KIDEwIGZpbGVzIGNoYW5nZWQs IDcyIGluc2VydGlvbnMoKyksIDU5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Rvb2xzL2xp YnhsL2xpYnhsX2NyZWF0ZS5jIGIvdG9vbHMvbGlieGwvbGlieGxfY3JlYXRlLmMKaW5kZXggMTgz NWE1NTAyYy4uM2E3MzY0ZTJhYyAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfY3JlYXRl LmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfY3JlYXRlLmMKQEAgLTE3NTUsNyArMTc1NSw3IEBA IHN0YXRpYyB2b2lkIGRvbWNyZWF0ZV9jb21wbGV0ZShsaWJ4bF9fZWdjICplZ2MsCiAgICAgYm9v bCByZXRhaW5fZG9tYWluID0gIXJjIHx8IHJjID09IEVSUk9SX0FCT1JURUQ7CiAKICAgICBpZiAo cmV0YWluX2RvbWFpbikgewotICAgICAgICBsaWJ4bF9fZG9tYWluX3VzZXJkYXRhX2xvY2sgKmxv Y2s7CisgICAgICAgIGxpYnhsX19mbG9jayAqbG9jazsKIAogICAgICAgICAvKiBOb3RlIHRoYXQg d2UgaG9sZCBDVFggbG9jayBhdCB0aGlzIHBvaW50IHNvIG9ubHkgbmVlZCB0bwogICAgICAgICAg KiB0YWtlIGRhdGEgc3RvcmUgbG9jawpAQCAtMTc2OSw3ICsxNzY5LDcgQEAgc3RhdGljIHZvaWQg ZG9tY3JlYXRlX2NvbXBsZXRlKGxpYnhsX19lZ2MgKmVnYywKICAgICAgICAgICAgICAgICAoZ2Ms IGRjcy0+Z3Vlc3RfZG9taWQsIGRfY29uZmlnX3NhdmVkKTsKICAgICAgICAgICAgIGlmICghcmMp CiAgICAgICAgICAgICAgICAgcmMgPSBjZmdfcmM7Ci0gICAgICAgICAgICBsaWJ4bF9fdW5sb2Nr X2RvbWFpbl91c2VyZGF0YShsb2NrKTsKKyAgICAgICAgICAgIGxpYnhsX191bmxvY2tfZmlsZShs b2NrKTsKICAgICAgICAgfQogICAgIH0KIApkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxf ZGV2aWNlLmMgYi90b29scy9saWJ4bC9saWJ4bF9kZXZpY2UuYwppbmRleCA5ZDA1ZDJmZDEzLi4w MzgxYzVkNTA5IDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9kZXZpY2UuYworKysgYi90 b29scy9saWJ4bC9saWJ4bF9kZXZpY2UuYwpAQCAtMTg1MCw3ICsxODUwLDcgQEAgdm9pZCBsaWJ4 bF9fZGV2aWNlX2FkZF9hc3luYyhsaWJ4bF9fZWdjICplZ2MsIHVpbnQzMl90IGRvbWlkLAogICAg IHhzX3RyYW5zYWN0aW9uX3QgdCA9IFhCVF9OVUxMOwogICAgIGxpYnhsX2RvbWFpbl9jb25maWcg ZF9jb25maWc7CiAgICAgdm9pZCAqdHlwZV9zYXZlZDsKLSAgICBsaWJ4bF9fZG9tYWluX3VzZXJk YXRhX2xvY2sgKmxvY2sgPSBOVUxMOworICAgIGxpYnhsX19mbG9jayAqbG9jayA9IE5VTEw7CiAg ICAgaW50IHJjOwogCiAgICAgbGlieGxfZG9tYWluX2NvbmZpZ19pbml0KCZkX2NvbmZpZyk7CkBA IC0xOTQ2LDcgKzE5NDYsNyBAQCB2b2lkIGxpYnhsX19kZXZpY2VfYWRkX2FzeW5jKGxpYnhsX19l Z2MgKmVnYywgdWludDMyX3QgZG9taWQsCiAKIG91dDoKICAgICBsaWJ4bF9feHNfdHJhbnNhY3Rp b25fYWJvcnQoZ2MsICZ0KTsKLSAgICBpZiAobG9jaykgbGlieGxfX3VubG9ja19kb21haW5fdXNl cmRhdGEobG9jayk7CisgICAgaWYgKGxvY2spIGxpYnhsX191bmxvY2tfZmlsZShsb2NrKTsKICAg ICBkdC0+ZGlzcG9zZSh0eXBlX3NhdmVkKTsKICAgICBsaWJ4bF9kb21haW5fY29uZmlnX2Rpc3Bv c2UoJmRfY29uZmlnKTsKICAgICBhb2Rldi0+cmMgPSByYzsKZGlmZiAtLWdpdCBhL3Rvb2xzL2xp YnhsL2xpYnhsX2Rpc2suYyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2Rpc2suYwppbmRleCBhNDYzMzM0 MTMwLi5kZGMxZWVjMTc2IDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9kaXNrLmMKKysr IGIvdG9vbHMvbGlieGwvbGlieGxfZGlzay5jCkBAIC0yNDUsNyArMjQ1LDcgQEAgc3RhdGljIHZv aWQgZGV2aWNlX2Rpc2tfYWRkKGxpYnhsX19lZ2MgKmVnYywgdWludDMyX3QgZG9taWQsCiAgICAg eHNfdHJhbnNhY3Rpb25fdCB0ID0gWEJUX05VTEw7CiAgICAgbGlieGxfZG9tYWluX2NvbmZpZyBk X2NvbmZpZzsKICAgICBsaWJ4bF9kZXZpY2VfZGlzayBkaXNrX3NhdmVkOwotICAgIGxpYnhsX19k b21haW5fdXNlcmRhdGFfbG9jayAqbG9jayA9IE5VTEw7CisgICAgbGlieGxfX2Zsb2NrICpsb2Nr ID0gTlVMTDsKIAogICAgIGxpYnhsX2RvbWFpbl9jb25maWdfaW5pdCgmZF9jb25maWcpOwogICAg IGxpYnhsX2RldmljZV9kaXNrX2luaXQoJmRpc2tfc2F2ZWQpOwpAQCAtNDM2LDcgKzQzNiw3IEBA IHN0YXRpYyB2b2lkIGRldmljZV9kaXNrX2FkZChsaWJ4bF9fZWdjICplZ2MsIHVpbnQzMl90IGRv bWlkLAogCiBvdXQ6CiAgICAgbGlieGxfX3hzX3RyYW5zYWN0aW9uX2Fib3J0KGdjLCAmdCk7Ci0g ICAgaWYgKGxvY2spIGxpYnhsX191bmxvY2tfZG9tYWluX3VzZXJkYXRhKGxvY2spOworICAgIGlm IChsb2NrKSBsaWJ4bF9fdW5sb2NrX2ZpbGUobG9jayk7CiAgICAgbGlieGxfZGV2aWNlX2Rpc2tf ZGlzcG9zZSgmZGlza19zYXZlZCk7CiAgICAgbGlieGxfZG9tYWluX2NvbmZpZ19kaXNwb3NlKCZk X2NvbmZpZyk7CiAgICAgYW9kZXYtPnJjID0gcmM7CkBAIC03OTQsNyArNzk0LDcgQEAgc3RhdGlj IHZvaWQgY2Ryb21faW5zZXJ0X2VqZWN0ZWQobGlieGxfX2VnYyAqZWdjLAogewogICAgIEVHQ19H QzsKICAgICBsaWJ4bF9fY2Ryb21faW5zZXJ0X3N0YXRlICpjaXMgPSBDT05UQUlORVJfT0YocW1w LCAqY2lzLCBxbXApOwotICAgIGxpYnhsX19kb21haW5fdXNlcmRhdGFfbG9jayAqZGF0YV9sb2Nr ID0gTlVMTDsKKyAgICBsaWJ4bF9fZmxvY2sgKmRhdGFfbG9jayA9IE5VTEw7CiAgICAgbGlieGxf X2RldmljZSBkZXZpY2U7CiAgICAgY29uc3QgY2hhciAqYmVfcGF0aCwgKmxpYnhsX3BhdGg7CiAg ICAgZmxleGFycmF5X3QgKmVtcHR5ID0gTlVMTDsKQEAgLTg5Niw3ICs4OTYsNyBAQCBzdGF0aWMg dm9pZCBjZHJvbV9pbnNlcnRfZWplY3RlZChsaWJ4bF9fZWdjICplZ2MsCiBvdXQ6CiAgICAgbGli eGxfX3hzX3RyYW5zYWN0aW9uX2Fib3J0KGdjLCAmdCk7CiAgICAgbGlieGxfZG9tYWluX2NvbmZp Z19kaXNwb3NlKCZkX2NvbmZpZyk7Ci0gICAgaWYgKGRhdGFfbG9jaykgbGlieGxfX3VubG9ja19k b21haW5fdXNlcmRhdGEoZGF0YV9sb2NrKTsKKyAgICBpZiAoZGF0YV9sb2NrKSBsaWJ4bF9fdW5s b2NrX2ZpbGUoZGF0YV9sb2NrKTsKICAgICBpZiAocmMpIHsKICAgICAgICAgY2Ryb21faW5zZXJ0 X2RvbmUoZWdjLCBjaXMsIHJjKTsgLyogbXVzdCBiZSBsYXN0ICovCiAgICAgfSBlbHNlIGlmICgh aGFzX2NhbGxiYWNrKSB7CkBAIC05NTEsNyArOTUxLDcgQEAgc3RhdGljIHZvaWQgY2Ryb21faW5z ZXJ0X2luc2VydGVkKGxpYnhsX19lZ2MgKmVnYywKIHsKICAgICBFR0NfR0M7CiAgICAgbGlieGxf X2Nkcm9tX2luc2VydF9zdGF0ZSAqY2lzID0gQ09OVEFJTkVSX09GKHFtcCwgKmNpcywgcW1wKTsK LSAgICBsaWJ4bF9fZG9tYWluX3VzZXJkYXRhX2xvY2sgKmRhdGFfbG9jayA9IE5VTEw7CisgICAg bGlieGxfX2Zsb2NrICpkYXRhX2xvY2sgPSBOVUxMOwogICAgIGxpYnhsX2RvbWFpbl9jb25maWcg ZF9jb25maWc7CiAgICAgZmxleGFycmF5X3QgKmluc2VydCA9IE5VTEw7CiAgICAgeHNfdHJhbnNh Y3Rpb25fdCB0ID0gWEJUX05VTEw7CkBAIC0xMDI5LDcgKzEwMjksNyBAQCBzdGF0aWMgdm9pZCBj ZHJvbV9pbnNlcnRfaW5zZXJ0ZWQobGlieGxfX2VnYyAqZWdjLAogb3V0OgogICAgIGxpYnhsX194 c190cmFuc2FjdGlvbl9hYm9ydChnYywgJnQpOwogICAgIGxpYnhsX2RvbWFpbl9jb25maWdfZGlz cG9zZSgmZF9jb25maWcpOwotICAgIGlmIChkYXRhX2xvY2spIGxpYnhsX191bmxvY2tfZG9tYWlu X3VzZXJkYXRhKGRhdGFfbG9jayk7CisgICAgaWYgKGRhdGFfbG9jaykgbGlieGxfX3VubG9ja19m aWxlKGRhdGFfbG9jayk7CiAgICAgY2Ryb21faW5zZXJ0X2RvbmUoZWdjLCBjaXMsIHJjKTsgLyog bXVzdCBiZSBsYXN0ICovCiB9CiAKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2RvbS5j IGIvdG9vbHMvbGlieGwvbGlieGxfZG9tLmMKaW5kZXggNTczYzYzNjkyYi4uZDlhZGE4YTQyMiAx MDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfZG9tLmMKKysrIGIvdG9vbHMvbGlieGwvbGli eGxfZG9tLmMKQEAgLTEzNDcsNyArMTM0Nyw3IEBAIGludCBsaWJ4bF91c2VyZGF0YV9zdG9yZShs aWJ4bF9jdHggKmN0eCwgdWludDMyX3QgZG9taWQsCiB7CiAgICAgR0NfSU5JVChjdHgpOwogICAg IGludCByYzsKLSAgICBsaWJ4bF9fZG9tYWluX3VzZXJkYXRhX2xvY2sgKmxvY2s7CisgICAgbGli eGxfX2Zsb2NrICpsb2NrOwogCiAgICAgQ1RYX0xPQ0s7CiAgICAgbG9jayA9IGxpYnhsX19sb2Nr X2RvbWFpbl91c2VyZGF0YShnYywgZG9taWQpOwpAQCAtMTM1OSw3ICsxMzU5LDcgQEAgaW50IGxp YnhsX3VzZXJkYXRhX3N0b3JlKGxpYnhsX2N0eCAqY3R4LCB1aW50MzJfdCBkb21pZCwKICAgICBy YyA9IGxpYnhsX191c2VyZGF0YV9zdG9yZShnYywgZG9taWQsIHVzZXJkYXRhX3VzZXJpZCwKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLCBkYXRhbGVuKTsKIAotICAgIGxpYnhs X191bmxvY2tfZG9tYWluX3VzZXJkYXRhKGxvY2spOworICAgIGxpYnhsX191bmxvY2tfZmlsZShs b2NrKTsKIAogb3V0OgogICAgIENUWF9VTkxPQ0s7CkBAIC0xNDA4LDcgKzE0MDgsNyBAQCBpbnQg bGlieGxfdXNlcmRhdGFfcmV0cmlldmUobGlieGxfY3R4ICpjdHgsIHVpbnQzMl90IGRvbWlkLAog ewogICAgIEdDX0lOSVQoY3R4KTsKICAgICBpbnQgcmM7Ci0gICAgbGlieGxfX2RvbWFpbl91c2Vy ZGF0YV9sb2NrICpsb2NrOworICAgIGxpYnhsX19mbG9jayAqbG9jazsKIAogICAgIENUWF9MT0NL OwogICAgIGxvY2sgPSBsaWJ4bF9fbG9ja19kb21haW5fdXNlcmRhdGEoZ2MsIGRvbWlkKTsKQEAg LTE0MjEsNyArMTQyMSw3IEBAIGludCBsaWJ4bF91c2VyZGF0YV9yZXRyaWV2ZShsaWJ4bF9jdHgg KmN0eCwgdWludDMyX3QgZG9taWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ZGF0YV9yLCBkYXRhbGVuX3IpOwogCiAKLSAgICBsaWJ4bF9fdW5sb2NrX2RvbWFpbl91c2VyZGF0 YShsb2NrKTsKKyAgICBsaWJ4bF9fdW5sb2NrX2ZpbGUobG9jayk7CiBvdXQ6CiAgICAgQ1RYX1VO TE9DSzsKICAgICBHQ19GUkVFOwpAQCAtMTQzNSw3ICsxNDM1LDcgQEAgaW50IGxpYnhsX3VzZXJk YXRhX3VubGluayhsaWJ4bF9jdHggKmN0eCwgdWludDMyX3QgZG9taWQsCiAgICAgQ1RYX0xPQ0s7 CiAKICAgICBpbnQgcmM7Ci0gICAgbGlieGxfX2RvbWFpbl91c2VyZGF0YV9sb2NrICpsb2NrID0g TlVMTDsKKyAgICBsaWJ4bF9fZmxvY2sgKmxvY2sgPSBOVUxMOwogICAgIGNvbnN0IGNoYXIgKmZp bGVuYW1lOwogCiAgICAgbG9jayA9IGxpYnhsX19sb2NrX2RvbWFpbl91c2VyZGF0YShnYywgZG9t aWQpOwpAQCAtMTQ1OCw3ICsxNDU4LDcgQEAgaW50IGxpYnhsX3VzZXJkYXRhX3VubGluayhsaWJ4 bF9jdHggKmN0eCwgdWludDMyX3QgZG9taWQsCiAgICAgcmMgPSAwOwogb3V0OgogICAgIGlmIChs b2NrKQotICAgICAgICBsaWJ4bF9fdW5sb2NrX2RvbWFpbl91c2VyZGF0YShsb2NrKTsKKyAgICAg ICAgbGlieGxfX3VubG9ja19maWxlKGxvY2spOwogICAgIENUWF9VTkxPQ0s7CiAgICAgR0NfRlJF RTsKICAgICByZXR1cm4gcmM7CmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9kb21haW4u YyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2RvbWFpbi5jCmluZGV4IGI1OWNjNjU3NTAuLjk3M2ZjMTQz NGQgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2RvbWFpbi5jCisrKyBiL3Rvb2xzL2xp YnhsL2xpYnhsX2RvbWFpbi5jCkBAIC0xMjc4LDcgKzEyNzgsNyBAQCBzdGF0aWMgdm9pZCBkZXZp Y2VzX2Rlc3Ryb3lfY2IobGlieGxfX2VnYyAqZWdjLAogICAgIHVpbnQzMl90IGRvbWlkID0gZGlz LT5kb21pZDsKICAgICBjaGFyICpkb21fcGF0aDsKICAgICBjaGFyICp2bV9wYXRoOwotICAgIGxp YnhsX19kb21haW5fdXNlcmRhdGFfbG9jayAqbG9jazsKKyAgICBsaWJ4bF9fZmxvY2sgKmxvY2s7 CiAKICAgICBkb21fcGF0aCA9IGxpYnhsX194c19nZXRfZG9tcGF0aChnYywgZG9taWQpOwogICAg IGlmICghZG9tX3BhdGgpIHsKQEAgLTEzMDgsNyArMTMwOCw3IEBAIHN0YXRpYyB2b2lkIGRldmlj ZXNfZGVzdHJveV9jYihsaWJ4bF9fZWdjICplZ2MsCiAgICAgfQogICAgIGxpYnhsX191c2VyZGF0 YV9kZXN0cm95YWxsKGdjLCBkb21pZCk7CiAKLSAgICBsaWJ4bF9fdW5sb2NrX2RvbWFpbl91c2Vy ZGF0YShsb2NrKTsKKyAgICBsaWJ4bF9fdW5sb2NrX2ZpbGUobG9jayk7CiAKICAgICAvKiBDbGVh biB1cCBxZW11LXNhdmUgYW5kIHFlbXUtcmVzdW1lIGZpbGVzLiBUaGV5IGFyZQogICAgICAqIGlu dGVybWVkaWF0ZSBmaWxlcyBjcmVhdGVkIGJ5IGxpYnhjLiBVbmZvcnR1bmF0ZWx5IHRoZXkKQEAg LTE5MTcsNyArMTkxNyw3IEBAIHN0YXRpYyB2b2lkIHJldHJpZXZlX2RvbWFpbl9jb25maWd1cmF0 aW9uX2xvY2tfYWNxdWlyZWQoCiAgICAgcmV0cmlldmVfZG9tYWluX2NvbmZpZ3VyYXRpb25fc3Rh dGUgKnJkY3MgPQogICAgICAgICBDT05UQUlORVJfT0YoZGV2bG9jaywgKnJkY3MsIGRldmxvY2sp OwogICAgIFNUQVRFX0FPX0dDKHJkY3MtPnFtcC5hbyk7Ci0gICAgbGlieGxfX2RvbWFpbl91c2Vy ZGF0YV9sb2NrICpsb2NrID0gTlVMTDsKKyAgICBsaWJ4bF9fZmxvY2sgKmxvY2sgPSBOVUxMOwog ICAgIGJvb2wgaGFzX2NhbGxiYWNrID0gZmFsc2U7CiAKICAgICAvKiBDb252ZW5pZW5jZSBhbGlh c2VzICovCkBAIC0xOTM5LDcgKzE5MzksNyBAQCBzdGF0aWMgdm9pZCByZXRyaWV2ZV9kb21haW5f Y29uZmlndXJhdGlvbl9sb2NrX2FjcXVpcmVkKAogICAgICAgICBnb3RvIG91dDsKICAgICB9CiAK LSAgICBsaWJ4bF9fdW5sb2NrX2RvbWFpbl91c2VyZGF0YShsb2NrKTsKKyAgICBsaWJ4bF9fdW5s b2NrX2ZpbGUobG9jayk7CiAgICAgbG9jayA9IE5VTEw7CiAKICAgICAvKiBXZSBzdGFydCBieSBx dWVyeWluZyBRRU1VLCBpZiBpdCBpcyBydW5uaW5nLCBmb3IgaXRzIGNwdW1hcCBhcyB0aGlzCkBA IC0xOTY0LDcgKzE5NjQsNyBAQCBzdGF0aWMgdm9pZCByZXRyaWV2ZV9kb21haW5fY29uZmlndXJh dGlvbl9sb2NrX2FjcXVpcmVkKAogICAgIH0KIAogb3V0OgotICAgIGlmIChsb2NrKSBsaWJ4bF9f dW5sb2NrX2RvbWFpbl91c2VyZGF0YShsb2NrKTsKKyAgICBpZiAobG9jaykgbGlieGxfX3VubG9j a19maWxlKGxvY2spOwogICAgIGlmICghaGFzX2NhbGxiYWNrKQogICAgICAgICByZXRyaWV2ZV9k b21haW5fY29uZmlndXJhdGlvbl9lbmQoZWdjLCByZGNzLCByYyk7CiB9CkBAIC0xOTk4LDcgKzE5 OTgsNyBAQCBzdGF0aWMgdm9pZCByZXRyaWV2ZV9kb21haW5fY29uZmlndXJhdGlvbl9lbmQobGli eGxfX2VnYyAqZWdjLAogICAgIHJldHJpZXZlX2RvbWFpbl9jb25maWd1cmF0aW9uX3N0YXRlICpy ZGNzLCBpbnQgcmMpCiB7CiAgICAgU1RBVEVfQU9fR0MocmRjcy0+cW1wLmFvKTsKLSAgICBsaWJ4 bF9fZG9tYWluX3VzZXJkYXRhX2xvY2sgKmxvY2sgPSBOVUxMOworICAgIGxpYnhsX19mbG9jayAq bG9jayA9IE5VTEw7CiAKICAgICAvKiBDb252ZW5pZW5jZSBhbGlhc2VzICovCiAgICAgbGlieGxf ZG9tYWluX2NvbmZpZyAqY29uc3QgZF9jb25maWcgPSByZGNzLT5kX2NvbmZpZzsKQEAgLTIyMDUs NyArMjIwNSw3IEBAIHN0YXRpYyB2b2lkIHJldHJpZXZlX2RvbWFpbl9jb25maWd1cmF0aW9uX2Vu ZChsaWJ4bF9fZWdjICplZ2MsCiAKIG91dDoKICAgICBsaWJ4bF9fZXZfc2xvd2xvY2tfdW5sb2Nr KGdjLCAmcmRjcy0+ZGV2bG9jayk7Ci0gICAgaWYgKGxvY2spIGxpYnhsX191bmxvY2tfZG9tYWlu X3VzZXJkYXRhKGxvY2spOworICAgIGlmIChsb2NrKSBsaWJ4bF9fdW5sb2NrX2ZpbGUobG9jayk7 CiAgICAgbGlieGxfYml0bWFwX2Rpc3Bvc2UoJnJkY3MtPnFlbXV1X2NwdXMpOwogICAgIGxpYnhs X19ldl9xbXBfZGlzcG9zZShnYywgJnJkY3MtPnFtcCk7CiAgICAgbGlieGxfX2V2X3RpbWVfZGVy ZWdpc3RlcihnYywgJnJkY3MtPnRpbWVvdXQpOwpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGli eGxfaW50ZXJuYWwuYyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmMKaW5kZXggYmE1NjM3 MzU4ZS4uMjExMjM2ZGM5OSAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwu YworKysgYi90b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5jCkBAIC00MDAsMjYgKzQwMCwyMiBA QCBpbnQgbGlieGxfX2RldmljZV9tb2RlbF92ZXJzaW9uX3J1bm5pbmcobGlieGxfX2djICpnYywg dWludDMyX3QgZG9taWQpCiAvKiBQb3J0YWJpbGl0eSBub3RlOiB0aGlzIGxvY2sgdXRpbGlzZXMg ZmxvY2soMikgc28gYSBwcm9wZXIgaW1wbGVtZW50YXRpb24gb2YKICAqIGZsb2NrKDIpIGlzIHJl cXVpcmVkLgogICovCi1saWJ4bF9fZG9tYWluX3VzZXJkYXRhX2xvY2sgKmxpYnhsX19sb2NrX2Rv bWFpbl91c2VyZGF0YShsaWJ4bF9fZ2MgKmdjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgZG9taWQpCitsaWJ4bF9fZmxv Y2sgKmxpYnhsX19sb2NrX2ZpbGUobGlieGxfX2djICpnYywgY29uc3QgY2hhciAqbG9ja2ZpbGUp CiB7Ci0gICAgbGlieGxfX2RvbWFpbl91c2VyZGF0YV9sb2NrICpsb2NrID0gTlVMTDsKLSAgICBj b25zdCBjaGFyICpsb2NrZmlsZTsKKyAgICBsaWJ4bF9fZmxvY2sgKmxvY2s7CiAgICAgaW50IGZk OwogICAgIHN0cnVjdCBzdGF0IHN0YWIsIGZzdGFiOwogCi0gICAgbG9ja2ZpbGUgPSBsaWJ4bF9f dXNlcmRhdGFfcGF0aChnYywgZG9taWQsICJkb21haW4tdXNlcmRhdGEtbG9jayIsICJsIik7Ci0g ICAgaWYgKCFsb2NrZmlsZSkgZ290byBvdXQ7Ci0KLSAgICBsb2NrID0gbGlieGxfX3phbGxvYyhO T0dDLCBzaXplb2YobGlieGxfX2RvbWFpbl91c2VyZGF0YV9sb2NrKSk7CisgICAgbG9jayA9IGxp YnhsX196YWxsb2MoTk9HQywgc2l6ZW9mKGxpYnhsX19mbG9jaykpOwogICAgIGxvY2stPnBhdGgg PSBsaWJ4bF9fc3RyZHVwKE5PR0MsIGxvY2tmaWxlKTsKIAogICAgIHdoaWxlICh0cnVlKSB7CiAg ICAgICAgIGxpYnhsX19jYXJlZmRfYmVnaW4oKTsKICAgICAgICAgZmQgPSBvcGVuKGxvY2tmaWxl LCBPX1JEV1J8T19DUkVBVCwgMDY2Nik7CiAgICAgICAgIGlmIChmZCA8IDApCi0gICAgICAgICAg ICBMT0dFRChFUlJPUiwgZG9taWQsCi0gICAgICAgICAgICAgICAgICAiY2Fubm90IG9wZW4gbG9j a2ZpbGUgJXMsIGVycm5vPSVkIiwgbG9ja2ZpbGUsIGVycm5vKTsKKyAgICAgICAgICAgIExPR0Uo RVJST1IsCisgICAgICAgICAgICAgICAgICJjYW5ub3Qgb3BlbiBsb2NrZmlsZSAlcywgZXJybm89 JWQiLAorICAgICAgICAgICAgICAgICBsb2NrZmlsZSwgZXJybm8pOwogICAgICAgICBsb2NrLT5j YXJlZmQgPSBsaWJ4bF9fY2FyZWZkX29wZW5lZChDVFgsIGZkKTsKICAgICAgICAgaWYgKGZkIDwg MCkgZ290byBvdXQ7CiAKQEAgLTQzMywyMSArNDI5LDIxIEBAIGxpYnhsX19kb21haW5fdXNlcmRh dGFfbG9jayAqbGlieGxfX2xvY2tfZG9tYWluX3VzZXJkYXRhKGxpYnhsX19nYyAqZ2MsCiAgICAg ICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAg ICAgIC8qIEFsbCBvdGhlciBlcnJubzogRUJBREYsIEVJTlZBTCwgRU5PTENLLCBFV09VTERCTE9D SyAqLwotICAgICAgICAgICAgICAgIExPR0VEKEVSUk9SLCBkb21pZCwKLSAgICAgICAgICAgICAg ICAgICAgICAidW5leHBlY3RlZCBlcnJvciB3aGlsZSB0cnlpbmcgdG8gbG9jayAlcywgZmQ9JWQs IGVycm5vPSVkIiwKKyAgICAgICAgICAgICAgICBMT0dFKEVSUk9SLAorICAgICAgICAgICAgICAg ICAgICAgInVuZXhwZWN0ZWQgZXJyb3Igd2hpbGUgdHJ5aW5nIHRvIGxvY2sgJXMsIGZkPSVkLCBl cnJubz0lZCIsCiAgICAgICAgICAgICAgICAgICAgICAgbG9ja2ZpbGUsIGZkLCBlcnJubyk7CiAg ICAgICAgICAgICAgICAgZ290byBvdXQ7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIAogICAg ICAgICBpZiAoZnN0YXQoZmQsICZmc3RhYikpIHsKLSAgICAgICAgICAgIExPR0VEKEVSUk9SLCBk b21pZCwgImNhbm5vdCBmc3RhdCAlcywgZmQ9JWQsIGVycm5vPSVkIiwKKyAgICAgICAgICAgIExP R0UoRVJST1IsICJjYW5ub3QgZnN0YXQgJXMsIGZkPSVkLCBlcnJubz0lZCIsCiAgICAgICAgICAg ICAgICAgICBsb2NrZmlsZSwgZmQsIGVycm5vKTsKICAgICAgICAgICAgIGdvdG8gb3V0OwogICAg ICAgICB9CiAgICAgICAgIGlmIChzdGF0KGxvY2tmaWxlLCAmc3RhYikpIHsKICAgICAgICAgICAg IGlmIChlcnJubyAhPSBFTk9FTlQpIHsKLSAgICAgICAgICAgICAgICBMT0dFRChFUlJPUiwgZG9t aWQsICJjYW5ub3Qgc3RhdCAlcywgZXJybm89JWQiLCBsb2NrZmlsZSwgZXJybm8pOworICAgICAg ICAgICAgICAgIExPR0UoRVJST1IsICJjYW5ub3Qgc3RhdCAlcywgZXJybm89JWQiLCBsb2NrZmls ZSwgZXJybm8pOwogICAgICAgICAgICAgICAgIGdvdG8gb3V0OwogICAgICAgICAgICAgfQogICAg ICAgICB9IGVsc2UgewpAQCAtNDU4LDIwICs0NTQsMTQgQEAgbGlieGxfX2RvbWFpbl91c2VyZGF0 YV9sb2NrICpsaWJ4bF9fbG9ja19kb21haW5fdXNlcmRhdGEobGlieGxfX2djICpnYywKICAgICAg ICAgbGlieGxfX2NhcmVmZF9jbG9zZShsb2NrLT5jYXJlZmQpOwogICAgIH0KIAotICAgIC8qIENo ZWNrIHRoZSBkb21haW4gaXMgc3RpbGwgdGhlcmUsIGlmIG5vdCB3ZSBzaG91bGQgcmVsZWFzZSB0 aGUKLSAgICAgKiBsb2NrIGFuZCBjbGVhbiB1cC4KLSAgICAgKi8KLSAgICBpZiAobGlieGxfZG9t YWluX2luZm8oQ1RYLCBOVUxMLCBkb21pZCkpCi0gICAgICAgIGdvdG8gb3V0OwotCiAgICAgcmV0 dXJuIGxvY2s7CiAKIG91dDoKLSAgICBpZiAobG9jaykgbGlieGxfX3VubG9ja19kb21haW5fdXNl cmRhdGEobG9jayk7CisgICAgaWYgKGxvY2spIGxpYnhsX191bmxvY2tfZmlsZShsb2NrKTsKICAg ICByZXR1cm4gTlVMTDsKIH0KIAotdm9pZCBsaWJ4bF9fdW5sb2NrX2RvbWFpbl91c2VyZGF0YShs aWJ4bF9fZG9tYWluX3VzZXJkYXRhX2xvY2sgKmxvY2spCit2b2lkIGxpYnhsX191bmxvY2tfZmls ZShsaWJ4bF9fZmxvY2sgKmxvY2spCiB7CiAgICAgLyogSXQncyBpbXBvcnRhbnQgdG8gdW5saW5r IHRoZSBmaWxlIGJlZm9yZSBjbG9zaW5nIGZkIHRvIGF2b2lkCiAgICAgICogdGhlIGZvbGxvd2lu ZyByYWNlIChpZiBjbG9zZSBiZWZvcmUgdW5saW5rKToKQEAgLTQ5Myw2ICs0ODMsMjcgQEAgdm9p ZCBsaWJ4bF9fdW5sb2NrX2RvbWFpbl91c2VyZGF0YShsaWJ4bF9fZG9tYWluX3VzZXJkYXRhX2xv Y2sgKmxvY2spCiAgICAgZnJlZShsb2NrKTsKIH0KIAorbGlieGxfX2Zsb2NrICpsaWJ4bF9fbG9j a19kb21haW5fdXNlcmRhdGEobGlieGxfX2djICpnYywgdWludDMyX3QgZG9taWQpCit7CisgICAg Y29uc3QgY2hhciAqbG9ja2ZpbGU7CisgICAgbGlieGxfX2Zsb2NrICpsb2NrOworCisgICAgbG9j a2ZpbGUgPSBsaWJ4bF9fdXNlcmRhdGFfcGF0aChnYywgZG9taWQsICJkb21haW4tdXNlcmRhdGEt bG9jayIsICJsIik7CisgICAgaWYgKCFsb2NrZmlsZSkgcmV0dXJuIE5VTEw7CisKKyAgICBsb2Nr ID0gbGlieGxfX2xvY2tfZmlsZShnYywgbG9ja2ZpbGUpOworCisgICAgLyogQ2hlY2sgdGhlIGRv bWFpbiBpcyBzdGlsbCB0aGVyZSwgaWYgbm90IHdlIHNob3VsZCByZWxlYXNlIHRoZQorICAgICAq IGxvY2sgYW5kIGNsZWFuIHVwLgorICAgICAqLworICAgIGlmIChsaWJ4bF9kb21haW5faW5mbyhD VFgsIE5VTEwsIGRvbWlkKSkgeworICAgICAgICBsaWJ4bF9fdW5sb2NrX2ZpbGUobG9jayk7Cisg ICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKworICAgIHJldHVybiBsb2NrOworfQorCiBpbnQg bGlieGxfX2dldF9kb21haW5fY29uZmlndXJhdGlvbihsaWJ4bF9fZ2MgKmdjLCB1aW50MzJfdCBk b21pZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX2RvbWFpbl9j b25maWcgKmRfY29uZmlnKQogewpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJu YWwuaCBiL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmgKaW5kZXggZjJlZmRlZGZiYS4uZGQz YzA4YmMxNCAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaAorKysgYi90 b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oCkBAIC00NjUxLDExICs0NjUxLDEzIEBAIGludCBs aWJ4bF9fY3B1aWRfcG9saWN5X2lzX2VtcHR5KGxpYnhsX2NwdWlkX3BvbGljeV9saXN0ICpwbCk7 CiB0eXBlZGVmIHN0cnVjdCB7CiAgICAgbGlieGxfX2NhcmVmZCAqY2FyZWZkOwogICAgIGNoYXIg KnBhdGg7IC8qIHBhdGggb2YgdGhlIGxvY2sgZmlsZSBpdHNlbGYgKi8KLX0gbGlieGxfX2RvbWFp bl91c2VyZGF0YV9sb2NrOworfSBsaWJ4bF9fZmxvY2s7CiAvKiBUaGUgQ1RYX0xPQ0sgbXVzdCBi ZSBoZWxkIGFyb3VuZCB1c2VzIG9mIHRoaXMgbG9jayAqLwotbGlieGxfX2RvbWFpbl91c2VyZGF0 YV9sb2NrICpsaWJ4bF9fbG9ja19kb21haW5fdXNlcmRhdGEobGlieGxfX2djICpnYywKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQz Ml90IGRvbWlkKTsKLXZvaWQgbGlieGxfX3VubG9ja19kb21haW5fdXNlcmRhdGEobGlieGxfX2Rv bWFpbl91c2VyZGF0YV9sb2NrICpsb2NrKTsKKworbGlieGxfX2Zsb2NrICpsaWJ4bF9fbG9ja19m aWxlKGxpYnhsX19nYyAqZ2MsIGNvbnN0IGNoYXIgKmZpbGVuYW1lKTsKK3ZvaWQgbGlieGxfX3Vu bG9ja19maWxlKGxpYnhsX19mbG9jayAqbG9jayk7CisKK2xpYnhsX19mbG9jayAqbGlieGxfX2xv Y2tfZG9tYWluX3VzZXJkYXRhKGxpYnhsX19nYyAqZ2MsIHVpbnQzMl90IGRvbWlkKTsKIAogLyoK ICAqIFJldHJpZXZlIC8gc3RvcmUgZG9tYWluIGNvbmZpZ3VyYXRpb24gZnJvbSAvIHRvIGxpYnhs IHByaXZhdGUKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX21lbS5jIGIvdG9vbHMvbGli eGwvbGlieGxfbWVtLmMKaW5kZXggN2MwMWZhYzdlNS4uYmM3Yjk1YWE3NCAxMDA2NDQKLS0tIGEv dG9vbHMvbGlieGwvbGlieGxfbWVtLmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfbWVtLmMKQEAg LTMwLDcgKzMwLDcgQEAgaW50IGxpYnhsX2RvbWFpbl9zZXRtYXhtZW0obGlieGxfY3R4ICpjdHgs IHVpbnQzMl90IGRvbWlkLCB1aW50NjRfdCBtYXhfbWVta2IpCiAgICAgdWludDY0X3QgbWVtb3J5 a2IsIHNpemU7CiAgICAgY2hhciAqZG9tcGF0aCA9IGxpYnhsX194c19nZXRfZG9tcGF0aChnYywg ZG9taWQpOwogICAgIGludCByYyA9IDE7Ci0gICAgbGlieGxfX2RvbWFpbl91c2VyZGF0YV9sb2Nr ICpsb2NrID0gTlVMTDsKKyAgICBsaWJ4bF9fZmxvY2sgKmxvY2sgPSBOVUxMOwogICAgIGxpYnhs X2RvbWFpbl9jb25maWcgZF9jb25maWc7CiAKICAgICBsaWJ4bF9kb21haW5fY29uZmlnX2luaXQo JmRfY29uZmlnKTsKQEAgLTg1LDcgKzg1LDcgQEAgaW50IGxpYnhsX2RvbWFpbl9zZXRtYXhtZW0o bGlieGxfY3R4ICpjdHgsIHVpbnQzMl90IGRvbWlkLCB1aW50NjRfdCBtYXhfbWVta2IpCiAgICAg cmMgPSAwOwogb3V0OgogICAgIGxpYnhsX2RvbWFpbl9jb25maWdfZGlzcG9zZSgmZF9jb25maWcp OwotICAgIGlmIChsb2NrKSBsaWJ4bF9fdW5sb2NrX2RvbWFpbl91c2VyZGF0YShsb2NrKTsKKyAg ICBpZiAobG9jaykgbGlieGxfX3VubG9ja19maWxlKGxvY2spOwogICAgIENUWF9VTkxPQ0s7CiAg ICAgR0NfRlJFRTsKICAgICByZXR1cm4gcmM7CkBAIC0xODQsNyArMTg0LDcgQEAgaW50IGxpYnhs X3NldF9tZW1vcnlfdGFyZ2V0KGxpYnhsX2N0eCAqY3R4LCB1aW50MzJfdCBkb21pZCwKICAgICBs aWJ4bF9kb21pbmZvIHB0cjsKICAgICBjaGFyICp1dWlkOwogICAgIHhzX3RyYW5zYWN0aW9uX3Qg dDsKLSAgICBsaWJ4bF9fZG9tYWluX3VzZXJkYXRhX2xvY2sgKmxvY2s7CisgICAgbGlieGxfX2Zs b2NrICpsb2NrOwogICAgIGxpYnhsX2RvbWFpbl9jb25maWcgZF9jb25maWc7CiAKICAgICBsaWJ4 bF9kb21haW5fY29uZmlnX2luaXQoJmRfY29uZmlnKTsKQEAgLTMzOCw3ICszMzgsNyBAQCBvdXQ6 CiAKIG91dF9ub190cmFuc2FjdGlvbjoKICAgICBsaWJ4bF9kb21haW5fY29uZmlnX2Rpc3Bvc2Uo JmRfY29uZmlnKTsKLSAgICBpZiAobG9jaykgbGlieGxfX3VubG9ja19kb21haW5fdXNlcmRhdGEo bG9jayk7CisgICAgaWYgKGxvY2spIGxpYnhsX191bmxvY2tfZmlsZShsb2NrKTsKICAgICBDVFhf VU5MT0NLOwogICAgIEdDX0ZSRUU7CiAgICAgcmV0dXJuIHJjOwpkaWZmIC0tZ2l0IGEvdG9vbHMv bGlieGwvbGlieGxfcGNpLmMgYi90b29scy9saWJ4bC9saWJ4bF9wY2kuYwppbmRleCA2NjRkNzRj NDc4Li5mOTFiY2UwN2VjIDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9wY2kuYworKysg Yi90b29scy9saWJ4bC9saWJ4bF9wY2kuYwpAQCAtMTI1LDcgKzEyNSw3IEBAIHN0YXRpYyBpbnQg bGlieGxfX2RldmljZV9wY2lfYWRkX3hlbnN0b3JlKGxpYnhsX19nYyAqZ2MsCiAgICAgeHNfdHJh bnNhY3Rpb25fdCB0ID0gWEJUX05VTEw7CiAgICAgaW50IHJjOwogICAgIGxpYnhsX2RvbWFpbl9j b25maWcgZF9jb25maWc7Ci0gICAgbGlieGxfX2RvbWFpbl91c2VyZGF0YV9sb2NrICpsb2NrID0g TlVMTDsKKyAgICBsaWJ4bF9fZmxvY2sgKmxvY2sgPSBOVUxMOwogICAgIGJvb2wgaXNfc3R1YmRv bWFpbiA9IGxpYnhsX2lzX3N0dWJkb20oQ1RYLCBkb21pZCwgTlVMTCk7CiAKICAgICAvKiBTdHVi ZG9tYWluIGRvZXNuJ3QgaGF2ZSBvd24gY29uZmlnLiAqLwpAQCAtMTk1LDcgKzE5NSw3IEBAIHN0 YXRpYyBpbnQgbGlieGxfX2RldmljZV9wY2lfYWRkX3hlbnN0b3JlKGxpYnhsX19nYyAqZ2MsCiAK IG91dDoKICAgICBsaWJ4bF9feHNfdHJhbnNhY3Rpb25fYWJvcnQoZ2MsICZ0KTsKLSAgICBpZiAo bG9jaykgbGlieGxfX3VubG9ja19kb21haW5fdXNlcmRhdGEobG9jayk7CisgICAgaWYgKGxvY2sp IGxpYnhsX191bmxvY2tfZmlsZShsb2NrKTsKICAgICBpZiAoIWlzX3N0dWJkb21haW4pCiAgICAg ICAgIGxpYnhsX2RvbWFpbl9jb25maWdfZGlzcG9zZSgmZF9jb25maWcpOwogICAgIHJldHVybiBy YzsKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX3VzYi5jIGIvdG9vbHMvbGlieGwvbGli eGxfdXNiLmMKaW5kZXggZGE1ZTM3MDhlNi4uMTcxYmIwNDQzOSAxMDA2NDQKLS0tIGEvdG9vbHMv bGlieGwvbGlieGxfdXNiLmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfdXNiLmMKQEAgLTIwMiw3 ICsyMDIsNyBAQCBzdGF0aWMgaW50IGxpYnhsX19kZXZpY2VfdXNiY3RybF9hZGRfeGVuc3RvcmUo bGlieGxfX2djICpnYywgdWludDMyX3QgZG9taWQsCiAgICAgaW50IGksIHJjOwogICAgIGxpYnhs X2RvbWFpbl9jb25maWcgZF9jb25maWc7CiAgICAgbGlieGxfZGV2aWNlX3VzYmN0cmwgdXNiY3Ry bF9zYXZlZDsKLSAgICBsaWJ4bF9fZG9tYWluX3VzZXJkYXRhX2xvY2sgKmxvY2sgPSBOVUxMOwor ICAgIGxpYnhsX19mbG9jayAqbG9jayA9IE5VTEw7CiAKICAgICBsaWJ4bF9kb21haW5fY29uZmln X2luaXQoJmRfY29uZmlnKTsKICAgICBsaWJ4bF9kZXZpY2VfdXNiY3RybF9pbml0KCZ1c2JjdHJs X3NhdmVkKTsKQEAgLTI5MSw3ICsyOTEsNyBAQCBzdGF0aWMgaW50IGxpYnhsX19kZXZpY2VfdXNi Y3RybF9hZGRfeGVuc3RvcmUobGlieGxfX2djICpnYywgdWludDMyX3QgZG9taWQsCiAKIG91dDoK ICAgICBsaWJ4bF9feHNfdHJhbnNhY3Rpb25fYWJvcnQoZ2MsICZ0KTsKLSAgICBpZiAobG9jaykg bGlieGxfX3VubG9ja19kb21haW5fdXNlcmRhdGEobG9jayk7CisgICAgaWYgKGxvY2spIGxpYnhs X191bmxvY2tfZmlsZShsb2NrKTsKICAgICBsaWJ4bF9kZXZpY2VfdXNiY3RybF9kaXNwb3NlKCZ1 c2JjdHJsX3NhdmVkKTsKICAgICBsaWJ4bF9kb21haW5fY29uZmlnX2Rpc3Bvc2UoJmRfY29uZmln KTsKICAgICByZXR1cm4gcmM7CkBAIC0xMjY2LDcgKzEyNjYsNyBAQCBzdGF0aWMgaW50IGxpYnhs X19kZXZpY2VfdXNiZGV2X2FkZF94ZW5zdG9yZShsaWJ4bF9fZ2MgKmdjLCB1aW50MzJfdCBkb21p ZCwKICAgICB4c190cmFuc2FjdGlvbl90IHQgPSBYQlRfTlVMTDsKICAgICBsaWJ4bF9kb21haW5f Y29uZmlnIGRfY29uZmlnOwogICAgIGxpYnhsX2RldmljZV91c2JkZXYgdXNiZGV2X3NhdmVkOwot ICAgIGxpYnhsX19kb21haW5fdXNlcmRhdGFfbG9jayAqbG9jayA9IE5VTEw7CisgICAgbGlieGxf X2Zsb2NrICpsb2NrID0gTlVMTDsKIAogICAgIGxpYnhsX2RvbWFpbl9jb25maWdfaW5pdCgmZF9j b25maWcpOwogICAgIGxpYnhsX2RldmljZV91c2JkZXZfaW5pdCgmdXNiZGV2X3NhdmVkKTsKQEAg LTEzMjMsNyArMTMyMyw3IEBAIHN0YXRpYyBpbnQgbGlieGxfX2RldmljZV91c2JkZXZfYWRkX3hl bnN0b3JlKGxpYnhsX19nYyAqZ2MsIHVpbnQzMl90IGRvbWlkLAogICAgIHJjID0gMDsKIAogb3V0 OgotICAgIGlmIChsb2NrKSBsaWJ4bF9fdW5sb2NrX2RvbWFpbl91c2VyZGF0YShsb2NrKTsKKyAg ICBpZiAobG9jaykgbGlieGxfX3VubG9ja19maWxlKGxvY2spOwogICAgIGxpYnhsX2RldmljZV91 c2JkZXZfZGlzcG9zZSgmdXNiZGV2X3NhdmVkKTsKICAgICBsaWJ4bF9kb21haW5fY29uZmlnX2Rp c3Bvc2UoJmRfY29uZmlnKTsKICAgICByZXR1cm4gcmM7Ci0tIAoyLjIwLjEKCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBs aXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2pl Y3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs