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,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 23234C432C0 for ; Fri, 29 Nov 2019 17:25:17 +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 DA889208E4 for ; Fri, 29 Nov 2019 17:25:16 +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="NEwgfo5b" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org DA889208E4 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 1iak0n-0004nz-PF; Fri, 29 Nov 2019 17:24:57 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1iak0n-0004nu-1e for xen-devel@lists.xenproject.org; Fri, 29 Nov 2019 17:24:57 +0000 X-Inumbo-ID: 29e202d0-12cd-11ea-a55d-bc764e2007e4 Received: from smtp-fw-4101.amazon.com (unknown [72.21.198.25]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id 29e202d0-12cd-11ea-a55d-bc764e2007e4; Fri, 29 Nov 2019 17:24:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amazon.com; i=@amazon.com; q=dns/txt; s=amazon201209; t=1575048297; x=1606584297; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=VJKhSEDRyuOhJlAs76E0j1mSpffsxuuXbJQi6U/Jx4o=; b=NEwgfo5brq3Mj3ipl5mseW4l4LpzDCyPjB3XLgY6FWrNm76K9LI7RUbO CcKdpecF1EP2tIsX0g0oDl2JLh49PMqTqr8S3cXPMFwLdZQXgwUo9WOLt gOn33sBwZCLRjiQ5Eh0ER/QdlKvH4gEuOiDVnfflaJ89MphvwUGiA1bhH s=; IronPort-SDR: RFSsUW7L/+WBUqDOCH/Gt6cyz6FvpL6tbXPKW1rTfoLMZw01nLPAggp05ybHzea29+brXQnwB/ YdUg8IxIAg1w== X-IronPort-AV: E=Sophos;i="5.69,257,1571702400"; d="scan'208";a="6321438" Received: from iad6-co-svc-p1-lb1-vlan3.amazon.com (HELO email-inbound-relay-1d-2c665b5d.us-east-1.amazon.com) ([10.124.125.6]) by smtp-border-fw-out-4101.iad4.amazon.com with ESMTP; 29 Nov 2019 17:24:56 +0000 Received: from EX13MTAUEA001.ant.amazon.com (iad55-ws-svc-p15-lb9-vlan3.iad.amazon.com [10.40.159.166]) by email-inbound-relay-1d-2c665b5d.us-east-1.amazon.com (Postfix) with ESMTPS id 578EFA182F; Fri, 29 Nov 2019 17:24:51 +0000 (UTC) Received: from EX13D32EUC004.ant.amazon.com (10.43.164.121) by EX13MTAUEA001.ant.amazon.com (10.43.61.243) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Fri, 29 Nov 2019 17:24:50 +0000 Received: from EX13MTAUEE001.ant.amazon.com (10.43.62.200) by EX13D32EUC004.ant.amazon.com (10.43.164.121) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Fri, 29 Nov 2019 17:24:49 +0000 Received: from u2f063a87eabd5f.cbg10.amazon.com (10.125.106.135) by mail-relay.amazon.com (10.43.62.226) with Microsoft SMTP Server id 15.0.1367.3 via Frontend Transport; Fri, 29 Nov 2019 17:24:47 +0000 From: Paul Durrant To: Date: Fri, 29 Nov 2019 17:24:45 +0000 Message-ID: <20191129172445.32664-1-pdurrant@amazon.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Precedence: Bulk Subject: [Xen-devel] [PATCH-for-4.13 v7] Rationalize max_grant_frames and max_maptrack_frames handling 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: Juergen Gross , Stefano Stabellini , Julien Grall , Wei Liu , Konrad Rzeszutek Wilk , George Dunlap , Andrew Cooper , Paul Durrant , Ian Jackson , George Dunlap , =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= , Jan Beulich , Anthony PERARD , Volodymyr Babchuk , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" RnJvbTogR2VvcmdlIER1bmxhcCA8Z2VvcmdlLmR1bmxhcEBjaXRyaXguY29tPgoKWGVuIHVzZWQg dG8gaGF2ZSBzaW5nbGUsIHN5c3RlbS13aWRlIGxpbWl0cyBmb3IgdGhlIG51bWJlciBvZiBncmFu dApmcmFtZXMgYW5kIG1hcHRyYWNrIGZyYW1lcyBhIGd1ZXN0IHdhcyBhbGxvd2VkIHRvIGNyZWF0 ZS4gSW5jcmVhc2luZwpvciBkZWNyZWFzaW5nIHRoaXMgc2luZ2xlIGxpbWl0IG9uIHRoZSBYZW4g Y29tbWFuZC1saW5lIHdvdWxkIGNoYW5nZQp0aGUgbGltaXQgZm9yIGFsbCBndWVzdHMgb24gdGhl IHN5c3RlbS4KCkxhdGVyLCBwZXItZG9tYWluIGxpbWl0cyBmb3IgdGhlc2UgdmFsdWVzIHdhcyBj cmVhdGVkLiBUaGUgc3lzdGVtLXdpZGUKbGltaXRzIGJlY2FtZSBzdHJpY3QgbGltaXRzOiBkb21h aW5zIGNvdWxkIG5vdCBiZSBjcmVhdGVkIHdpdGggaGlnaGVyCmxpbWl0cywgYnV0IGNvdWxkIGJl IGNyZWF0ZWQgd2l0aCBsb3dlciBsaW1pdHMuIEhvd2V2ZXIsIHRoYXQgY2hhbmdlCmFsc28gaW50 cm9kdWNlZCBhIHJhbmdlIG9mIGRpZmZlcmVudCAiZGVmYXVsdCIgdmFsdWVzIGludG8gdmFyaW91 cwpwbGFjZXMgaW4gdGhlIHRvb2xzdGFjazoKCi0gVGhlIHB5dGhvbiBsaWJ4YyBiaW5kaW5ncyBo YXJkLWNvZGVkIHRoZXNlIHZhbHVlcyB0byAzMiBhbmQgMTAyNCwKICByZXNwZWN0aXZlbHkKLSBU aGUgbGlieGwgZGVmYXVsdCB2YWx1ZXMgYXJlIDMyIGFuZCAxMDI0IHJlc3BlY3RpdmVseS4KLSB4 bCB3aWxsIHVzZSB0aGUgbGlieGwgZGVmYXVsdCBmb3IgbWFwdHJhY2ssIGJ1dCBkb2VzIGl0cyBv d24gZGVmYXVsdAogIGNhbGN1bGF0aW9uIGZvciBncmFudCBmcmFtZXM6IGVpdGhlciAzMiBvciA2 NCwgYmFzZWQgb24gdGhlIG1heAogIHBvc3NpYmxlIG1mbi4KClRoZXNlIGRlZmF1bHRzIGludGVy YWN0IHBvb3JseSB3aXRoIHRoZSBoeXBlcnZpc29yIGNvbW1hbmQtbGluZSBsaW1pdDoKCi0gVGhl IGh5cGVydmlzb3IgY29tbWFuZC1saW5lIGxpbWl0IGNhbm5vdCBiZSB1c2VkIHRvIHJhaXNlIHRo ZSBsaW1pdAogIGZvciBhbGwgZ3Vlc3RzIGFueW1vcmUsIGFzIHRoZSBkZWZhdWx0IGluIHRoZSB0 b29sc3RhY2sgd2lsbAogIGVmZmVjdGl2ZWx5IG92ZXJyaWRlIHRoaXMuCi0gSWYgeW91IHVzZSB0 aGUgaHlwZXJ2aXNvciBjb21tYW5kLWxpbmUgbGltaXQgdG8gKnJlZHVjZSogdGhlIGxpbWl0LAog IHRoZW4gdGhlICJkZWZhdWx0IiB2YWx1ZXMgZ2VuZXJhdGVkIGJ5IHRoZSB0b29sc3RhY2sgYXJl IHRvbyBoaWdoLAogIGFuZCBhbGwgZ3Vlc3QgY3JlYXRpb25zIHdpbGwgZmFpbC4KCkluIG90aGVy IHdvcmRzLCB0aGUgdG9vbHN0YWNrIGRlZmF1bHRzIHJlcXVpcmUgYW55IGNoYW5nZSB0byBiZQpl ZmZlY3RlZCBieSBoYXZpbmcgdGhlIGFkbWluIGV4cGxpY2l0bHkgc3BlY2lmeSBhIG5ldyB2YWx1 ZSBpbiBldmVyeQpndWVzdC4KCkluIG9yZGVyIHRvIGFkZHJlc3MgdGhpcywgaGF2ZSBncmFudF90 YWJsZV9pbml0IHRyZWF0IG5lZ2F0aXZlIHZhbHVlcwpmb3IgbWF4X2dyYW50X2ZyYW1lcyBhbmQg bWF4X21hcHRyYWNrX2ZyYW1lcyBhcyBpbnN0cnVjdGlvbnMgdG8gdXNlIHRoZQpzeXN0ZW0td2lk ZSBkZWZhdWx0LCBhbmQgaGF2ZSBhbGwgdGhlIGFib3ZlIHRvb2xzdGFja3MgZGVmYXVsdCB0byBw YXNzaW5nCi0xIHVubGVzcyBhIGRpZmZlcmVudCB2YWx1ZSBpcyBleHBsaWNpdGx5IGNvbmZpZ3Vy ZWQuCgpUaGlzIHJlc3RvcmVzIHRoZSBvbGQgYmVoYXZpb3IgaW4gdGhhdCBjaGFuZ2luZyB0aGUg aHlwZXJ2aXNvciBjb21tYW5kLWxpbmUKb3B0aW9uIGNhbiBjaGFuZ2UgdGhlIGJlaGF2aW9yIGZv ciBhbGwgZ3Vlc3RzLCB3aGlsZSByZXRhaW5pbmcgdGhlIGFiaWxpdHkKdG8gc2V0IHBlci1ndWVz dCB2YWx1ZXMuICBJdCBhbHNvIHJlbW92ZXMgdGhlIGJ1ZyB0aGF0IHJlZHVjaW5nIHRoZQpzeXN0 ZW0td2lkZSBtYXggd2lsbCBjYXVzZSBhbGwgZG9tYWlucyB3aXRob3V0IGV4cGxpY2l0IGxpbWl0 cyB0byBmYWlsLgoKTk9URTogLSBUaGUgT2NhbWwgYmluZGluZ3MgcmVxdWlyZSB0aGUgY2FsbGVy IHRvIGFsd2F5cyBzcGVjaWZ5IGEgdmFsdWUsCiAgICAgICAgYW5kIHRoZSBjb2RlIHRvIHN0YXJ0 IGEgeGVuc3RvcmVkIHN0dWJkb21haW4gaGFyZC1jb2RlcyB0aGVzZSB0byA0CglhbmQgMTI4IHJl c3BlY3RpdmVseTsgdGhpcyBiZWhhdm91ciB3aWxsIG5vdCBiZSBtb2RpZmllZC4KClNpZ25lZC1v ZmYtYnk6IEdlb3JnZSBEdW5sYXAgPGdlb3JnZS5kdW5sYXBAY2l0cml4LmNvbT4KU2lnbmVkLW9m Zi1ieTogUGF1bCBEdXJyYW50IDxwZHVycmFudEBhbWF6b24uY29tPgpTaWduZWQtb2ZmLWJ5OiBJ YW4gSmFja3NvbiA8aWFuLmphY2tzb25AZXUuY2l0cml4LmNvbT4KUmV2aWV3ZWQtYnk6IEphbiBC ZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KUmVsZWFzZS1hY2tlZC1ieTogSnVlcmdlbiBHcm9z cyA8amdyb3NzQHN1c2UuY29tPgotLS0KQ2M6IFdlaSBMaXUgPHdsQHhlbi5vcmc+CkNjOiBBbmRy ZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgpDYzogR2VvcmdlIER1bmxhcCA8 R2VvcmdlLkR1bmxhcEBldS5jaXRyaXguY29tPgpDYzogSnVsaWVuIEdyYWxsIDxqdWxpZW5AeGVu Lm9yZz4KQ2M6IEtvbnJhZCBSemVzenV0ZWsgV2lsayA8a29ucmFkLndpbGtAb3JhY2xlLmNvbT4K Q2M6IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz4KQ2M6IEFudGhv bnkgUEVSQVJEIDxhbnRob255LnBlcmFyZEBjaXRyaXguY29tPgpDYzogIk1hcmVrIE1hcmN6eWtv d3NraS1Hw7NyZWNraSIgPG1hcm1hcmVrQGludmlzaWJsZXRoaW5nc2xhYi5jb20+CkNjOiBWb2xv ZHlteXIgQmFiY2h1ayA8Vm9sb2R5bXlyX0JhYmNodWtAZXBhbS5jb20+CkNjOiAiUm9nZXIgUGF1 IE1vbm7DqSIgPHJvZ2VyLnBhdUBjaXRyaXguY29tPgoKdjc6CiAtIERvIG5vdCBjaGFuZ2UgdHlw ZSBvZiBsaWJ4bCBmaWVsZHMKIC0gRG8gbm90IGNoYW5nZSB2YWx1ZXMgb2YgTElCWExfTUFYX0dS QU5UX0ZSQU1FU19ERUZBVUxUIGV0Yy4KICAgaW4gY2FzZSBzb21lb25lIGhhcyBkb25lIExJQlhM X01BWF9HUkFOVF9GUkFNRVNfREVGQVVMVCo0CiAtIERlcHJlY2F0ZSB0aG9zZSBhbmQgcHJvdmlk ZSBMSUJYTF9NQVhfR1JBTlRfREVGQVVMVCBpbnN0ZWFkCgp2NjoKIC0gQWRkIG1pc3NpbmcgYXNz aWdubWVudCBpbiBwYXJzZV9nbnR0YWJfbGltaXQoKQogLSBEZWFsIHdpdGggRUlOVkFMIHJldHVy biBmcm9tIHhsdV9jZmdfZ2V0X2JvdW5kZWRfbG9uZygpCiAtIEFkZCBMSUJYTF9IQVZFX0JVSUxE SU5GT19TSUdORURfR1JBTlRfTElNSVRTCgp2NToKIC0gUmVtb3ZlIGVycm9uZW91cyBfX2luaXQg YW5ub3RhdGlvbnMKIC0gRmFpbCBvdXQgb2YgcmFuZ2UgY29tbWFuZCBsaW5lIHZhbHVlcyB3aXRo IEVSQU5HRQogLSBNYWtlIG9wdF9tYXhfbWFwdHJhY2tfZnJhbWVzIHN0YXRpYwoKdjQ6CiAtIEFk ZCBtaXNzaW5nIGJyYWNlcyBpbiB4bHVfY2ZnX2dldF9ib3VuZGVkX2xvbmcoKQoKdjM6CiAtIE1h a2Ugc3VyZSB0aGF0IHNwZWNpZmllZCB2YWx1ZXMgY2Fubm90IGJlIG5lZ2F0aXZlIG9yIG92ZXJm bG93IGEKICAgc2lnbmVkIGludAoKdjI6CiAtIHJlLXdvcmtlZCBHZW9yZ2UncyBvcmlnaW5hbCBj b21taXQgbWFzc2FnZSBhIGxpdHRsZQogLSBmaXhlZCB0aGUgdGV4dCBpbiB4bC5jb25mLjUucG9k CiAtIHVzZSAtMSBhcyB0aGUgc2VudGluZWwgdmFsdWUgZm9yICdkZWZhdWx0JyBhbmQgPCAwIGZv ciBjaGVja2luZyBpdAotLS0KIGRvY3MvbWFuL3hsLmNvbmYuNS5wb2QgICAgICAgICAgICB8ICA2 ICsrLS0KIHRvb2xzL2xpYnhsL2xpYnhsLmggICAgICAgICAgICAgICB8IDEzICsrKysrKystLQog dG9vbHMvbGlieGwvbGlieGxfdHlwZXMuaWRsICAgICAgIHwgIDQgKy0tCiB0b29scy9saWJ4bC9s aWJ4bHVfY2ZnLmMgICAgICAgICAgfCAyNiArKysrKysrKysrKysrKystLQogdG9vbHMvbGlieGwv bGlieGx1dGlsLmggICAgICAgICAgIHwgIDIgKysKIHRvb2xzL3B5dGhvbi94ZW4vbG93bGV2ZWwv eGMveGMuYyB8ICA0ICstLQogdG9vbHMveGwveGwuYyAgICAgICAgICAgICAgICAgICAgIHwgMjIg KysrKysrKystLS0tLS0tCiB0b29scy94bC94bF9wYXJzZS5jICAgICAgICAgICAgICAgfCAxOSAr KysrKysrKystLS0tCiB4ZW4vYXJjaC9hcm0vc2V0dXAuYyAgICAgICAgICAgICAgfCAgMiArLQog eGVuL2FyY2gveDg2L3NldHVwLmMgICAgICAgICAgICAgIHwgIDQgKy0tCiB4ZW4vY29tbW9uL2dy YW50X3RhYmxlLmMgICAgICAgICAgfCA0NyArKysrKysrKysrKysrKysrKysrKysrKysrKystLS0t CiB4ZW4vaW5jbHVkZS9wdWJsaWMvZG9tY3RsLmggICAgICAgfCAxMCArKysrLS0tCiB4ZW4vaW5j bHVkZS94ZW4vZ3JhbnRfdGFibGUuaCAgICAgfCAxMCArKystLS0tCiAxMyBmaWxlcyBjaGFuZ2Vk LCAxMjYgaW5zZXJ0aW9ucygrKSwgNDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZG9jcy9t YW4veGwuY29uZi41LnBvZCBiL2RvY3MvbWFuL3hsLmNvbmYuNS5wb2QKaW5kZXggOTYyMTQ0ZTM4 ZS4uMjA3YWIzZTc3YSAxMDA2NDQKLS0tIGEvZG9jcy9tYW4veGwuY29uZi41LnBvZAorKysgYi9k b2NzL21hbi94bC5jb25mLjUucG9kCkBAIC04MSwxMyArODEsMTUgQEAgRGVmYXVsdDogQzwvdmFy L2xvY2sveGw+CiAKIFNldHMgdGhlIGRlZmF1bHQgdmFsdWUgZm9yIHRoZSBDPG1heF9ncmFudF9m cmFtZXM+IGRvbWFpbiBjb25maWcgdmFsdWUuCiAKLURlZmF1bHQ6IEM8MzI+IG9uIGhvc3RzIHVw IHRvIDE2VEIgb2YgbWVtb3J5LCBDPDY0PiBvbiBob3N0cyBsYXJnZXIgdGhhbiAxNlRCCitEZWZh dWx0OiB2YWx1ZSBvZiBYZW4gY29tbWFuZCBsaW5lIEI8Z250dGFiX21heF9mcmFtZXM+IHBhcmFt ZXRlciAob3IgaXRzCitkZWZhdWx0IHZhbHVlIGlmIHVuc3BlY2lmaWVkKS4KIAogPWl0ZW0gQjxt YXhfbWFwdHJhY2tfZnJhbWVzPU5VTUJFUj4KIAogU2V0cyB0aGUgZGVmYXVsdCB2YWx1ZSBmb3Ig dGhlIEM8bWF4X21hcHRyYWNrX2ZyYW1lcz4gZG9tYWluIGNvbmZpZyB2YWx1ZS4KIAotRGVmYXVs dDogQzwxMDI0PgorRGVmYXVsdDogdmFsdWUgb2YgWGVuIGNvbW1hbmQgbGluZSBCPGdudHRhYl9t YXhfbWFwdHJhY2tfZnJhbWVzPgorcGFyYW1ldGVyIChvciBpdHMgZGVmYXVsdCB2YWx1ZSBpZiB1 bnNwZWNpZmllZCkuCiAKID1pdGVtIEI8dmlmLmRlZmF1bHQuc2NyaXB0PSJQQVRIIj4KIApkaWZm IC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGwuaCBiL3Rvb2xzL2xpYnhsL2xpYnhsLmgKaW5kZXgg NDliNTZmYTFhMy4uNTRhYmI5ZGIxZiAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGwuaAor KysgYi90b29scy9saWJ4bC9saWJ4bC5oCkBAIC0zNjQsOCArMzY0LDE3IEBACiAgKi8KICNkZWZp bmUgTElCWExfSEFWRV9CVUlMRElORk9fR1JBTlRfTElNSVRTIDEKIAotI2RlZmluZSBMSUJYTF9N QVhfR1JBTlRfRlJBTUVTX0RFRkFVTFQgMzIKLSNkZWZpbmUgTElCWExfTUFYX01BUFRSQUNLX0ZS QU1FU19ERUZBVUxUIDEwMjQKKyNkZWZpbmUgTElCWExfTUFYX0dSQU5UX0RFRkFVTFQgKH4odWlu dDMyX3QpMCkKKyNkZWZpbmUgTElCWExfTUFYX0dSQU5UX0ZSQU1FU19ERUZBVUxUIDMyIC8qIGRl cHJlY2F0ZWQgKi8KKyNkZWZpbmUgTElCWExfTUFYX01BUFRSQUNLX0ZSQU1FU19ERUZBVUxUIDEw MjQgLyogZGVwcmVjYXRlZCAqLworLyoKKyAqIExJQlhMX0hBVkVfQlVJTERJTkZPX0dSQU5UX0RF RkFVTFQgaW5kaWNhdGVzIHRoYXQgdGhlIGRlZmF1bHQKKyAqIHZhbHVlcyBvZiBtYXhfZ3JhbnRf ZnJhbWVzIGFuZCBtYXhfbWFwdHJhY2tfZnJhbWVzIGZpZWxkcyBpbgorICogbGlieGxfZG9tYWlu X2J1aWxkX2luZm8gYXJlIHRoZSBzcGVjaWFsIHNlbnRpbmVsIHZhbHVlCisgKiBMSUJYTF9NQVhf R1JBTlRfREVGQVVMVCByYXRoZXIgdGhhbiB0aGUgZml4ZWQgdmFsdWVzIGFib3ZlLgorICogVGhp cyBtZWFucyB0byB1c2UgdGhlIGh5cGVydmlzb3IncyBkZWZhdWx0LgorICovCisjZGVmaW5lIExJ QlhMX0hBVkVfQlVJTERJTkZPX0dSQU5UX0RFRkFVTFQgMQogCiAvKgogICogTElCWExfSEFWRV9C VUlMRElORk9fKiBpbmRpY2F0ZXMgdGhhdCBsaWJ4bF9kb21haW5fYnVpbGRfaW5mbyBoYXMKZGlm ZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX3R5cGVzLmlkbCBiL3Rvb2xzL2xpYnhsL2xpYnhs X3R5cGVzLmlkbAppbmRleCAwNTQ2ZDc4NjVhLi43OTIxOTUwZjZhIDEwMDY0NAotLS0gYS90b29s cy9saWJ4bC9saWJ4bF90eXBlcy5pZGwKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfdHlwZXMuaWRs CkBAIC01MTEsOCArNTExLDggQEAgbGlieGxfZG9tYWluX2J1aWxkX2luZm8gPSBTdHJ1Y3QoImRv bWFpbl9idWlsZF9pbmZvIixbCiAKICAgICAoInZudW1hX25vZGVzIiwgQXJyYXkobGlieGxfdm5v ZGVfaW5mbywgIm51bV92bnVtYV9ub2RlcyIpKSwKIAotICAgICgibWF4X2dyYW50X2ZyYW1lcyIs ICAgIHVpbnQzMiwgeydpbml0X3ZhbCc6ICdMSUJYTF9NQVhfR1JBTlRfRlJBTUVTX0RFRkFVTFQn fSksCi0gICAgKCJtYXhfbWFwdHJhY2tfZnJhbWVzIiwgdWludDMyLCB7J2luaXRfdmFsJzogJ0xJ QlhMX01BWF9NQVBUUkFDS19GUkFNRVNfREVGQVVMVCd9KSwKKyAgICAoIm1heF9ncmFudF9mcmFt ZXMiLCAgICB1aW50MzIsIHsnaW5pdF92YWwnOiAnTElCWExfTUFYX0dSQU5UX0RFRkFVTFQnfSks CisgICAgKCJtYXhfbWFwdHJhY2tfZnJhbWVzIiwgdWludDMyLCB7J2luaXRfdmFsJzogJ0xJQlhM X01BWF9HUkFOVF9ERUZBVUxUJ30pLAogICAgIAogICAgICgiZGV2aWNlX21vZGVsX3ZlcnNpb24i LCBsaWJ4bF9kZXZpY2VfbW9kZWxfdmVyc2lvbiksCiAgICAgKCJkZXZpY2VfbW9kZWxfc3R1YmRv bWFpbiIsIGxpYnhsX2RlZmJvb2wpLApkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGx1X2Nm Zy5jIGIvdG9vbHMvbGlieGwvbGlieGx1X2NmZy5jCmluZGV4IDcyODE1ZDI1ZGQuLmNhZmM2MzJm YzEgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsdV9jZmcuYworKysgYi90b29scy9saWJ4 bC9saWJ4bHVfY2ZnLmMKQEAgLTI2OCw4ICsyNjgsOSBAQCBpbnQgeGx1X2NmZ19yZXBsYWNlX3N0 cmluZyhjb25zdCBYTFVfQ29uZmlnICpjZmcsIGNvbnN0IGNoYXIgKm4sCiAgICAgcmV0dXJuIDA7 CiB9CiAKLWludCB4bHVfY2ZnX2dldF9sb25nKGNvbnN0IFhMVV9Db25maWcgKmNmZywgY29uc3Qg Y2hhciAqbiwKLSAgICAgICAgICAgICAgICAgICAgIGxvbmcgKnZhbHVlX3IsIGludCBkb250X3dh cm4pIHsKK2ludCB4bHVfY2ZnX2dldF9ib3VuZGVkX2xvbmcoY29uc3QgWExVX0NvbmZpZyAqY2Zn LCBjb25zdCBjaGFyICpuLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb25nIG1pbiwg bG9uZyBtYXgsIGxvbmcgKnZhbHVlX3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu dCBkb250X3dhcm4pIHsKICAgICBsb25nIGw7CiAgICAgWExVX0NvbmZpZ1NldHRpbmcgKnNldDsK ICAgICBpbnQgZTsKQEAgLTMwMywxMCArMzA0LDMxIEBAIGludCB4bHVfY2ZnX2dldF9sb25nKGNv bnN0IFhMVV9Db25maWcgKmNmZywgY29uc3QgY2hhciAqbiwKICAgICAgICAgICAgICAgICAgICAg Y2ZnLT5jb25maWdfc291cmNlLCBzZXQtPmxpbmVubywgbik7CiAgICAgICAgIHJldHVybiBFSU5W QUw7CiAgICAgfQorICAgIGlmIChsIDwgbWluKSB7CisgICAgICAgIGlmICghZG9udF93YXJuKQor ICAgICAgICAgICAgZnByaW50ZihjZmctPnJlcG9ydCwKKyAgICAgICAgICAgICAgICAgICAgIiVz OiVkOiB3YXJuaW5nOiB2YWx1ZSBgJWxkJyBpcyBzbWFsbGVyIHRoYW4gbWluaW11bSBib3VuZCAn JWxkJ1xuIiwKKyAgICAgICAgICAgICAgICAgICAgY2ZnLT5jb25maWdfc291cmNlLCBzZXQtPmxp bmVubywgbCwgbWluKTsKKyAgICAgICAgcmV0dXJuIEVJTlZBTDsKKyAgICB9CisgICAgaWYgKGwg PiBtYXgpIHsKKyAgICAgICAgaWYgKCFkb250X3dhcm4pCisgICAgICAgICAgICBmcHJpbnRmKGNm Zy0+cmVwb3J0LAorICAgICAgICAgICAgICAgICAgICAiJXM6JWQ6IHdhcm5pbmc6IHZhbHVlIGAl bGQnIGlzIGdyZWF0ZXIgdGhhbiBtYXhpbXVtIGJvdW5kICclbGQnXG4iLAorICAgICAgICAgICAg ICAgICAgICBjZmctPmNvbmZpZ19zb3VyY2UsIHNldC0+bGluZW5vLCBsLCBtYXgpOworICAgICAg ICByZXR1cm4gRUlOVkFMOworICAgIH0KKwogICAgICp2YWx1ZV9yPSBsOwogICAgIHJldHVybiAw OwogfQogCitpbnQgeGx1X2NmZ19nZXRfbG9uZyhjb25zdCBYTFVfQ29uZmlnICpjZmcsIGNvbnN0 IGNoYXIgKm4sCisgICAgICAgICAgICAgICAgICAgICBsb25nICp2YWx1ZV9yLCBpbnQgZG9udF93 YXJuKSB7CisgICAgcmV0dXJuIHhsdV9jZmdfZ2V0X2JvdW5kZWRfbG9uZyhjZmcsIG4sIExPTkdf TUlOLCBMT05HX01BWCwgdmFsdWVfciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGRvbnRfd2Fybik7Cit9CisKIGludCB4bHVfY2ZnX2dldF9kZWZib29sKGNvbnN0IFhMVV9D b25maWcgKmNmZywgY29uc3QgY2hhciAqbiwgbGlieGxfZGVmYm9vbCAqYiwKICAgICAgICAgICAg ICAgICAgICAgIGludCBkb250X3dhcm4pCiB7CmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4 bHV0aWwuaCBiL3Rvb2xzL2xpYnhsL2xpYnhsdXRpbC5oCmluZGV4IDA1N2NjMjVjYjIuLjkyZTM1 YzU0NjIgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsdXRpbC5oCisrKyBiL3Rvb2xzL2xp YnhsL2xpYnhsdXRpbC5oCkBAIC02Myw2ICs2Myw4IEBAIGludCB4bHVfY2ZnX3JlcGxhY2Vfc3Ry aW5nKGNvbnN0IFhMVV9Db25maWcgKmNmZywgY29uc3QgY2hhciAqbiwKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGNoYXIgKip2YWx1ZV9yLCBpbnQgZG9udF93YXJuKTsKIGludCB4bHVfY2Zn X2dldF9sb25nKGNvbnN0IFhMVV9Db25maWcqLCBjb25zdCBjaGFyICpuLCBsb25nICp2YWx1ZV9y LAogICAgICAgICAgICAgICAgICAgICAgaW50IGRvbnRfd2Fybik7CitpbnQgeGx1X2NmZ19nZXRf Ym91bmRlZF9sb25nKGNvbnN0IFhMVV9Db25maWcqLCBjb25zdCBjaGFyICpuLCBsb25nIG1pbiwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9uZyBtYXgsIGxvbmcgKnZhbHVlX3IsIGlu dCBkb250X3dhcm4pOwogaW50IHhsdV9jZmdfZ2V0X2RlZmJvb2woY29uc3QgWExVX0NvbmZpZyos IGNvbnN0IGNoYXIgKm4sIGxpYnhsX2RlZmJvb2wgKmIsCiAgICAgICAgICAgICAgICAgICAgICBp bnQgZG9udF93YXJuKTsKIApkaWZmIC0tZ2l0IGEvdG9vbHMvcHl0aG9uL3hlbi9sb3dsZXZlbC94 Yy94Yy5jIGIvdG9vbHMvcHl0aG9uL3hlbi9sb3dsZXZlbC94Yy94Yy5jCmluZGV4IDQ0ZDM2MDYx NDEuLmE3NTFlODU5MTAgMTAwNjQ0Ci0tLSBhL3Rvb2xzL3B5dGhvbi94ZW4vbG93bGV2ZWwveGMv eGMuYworKysgYi90b29scy9weXRob24veGVuL2xvd2xldmVsL3hjL3hjLmMKQEAgLTEyNyw4ICsx MjcsOCBAQCBzdGF0aWMgUHlPYmplY3QgKnB5eGNfZG9tYWluX2NyZWF0ZShYY09iamVjdCAqc2Vs ZiwKICAgICAgICAgfSwKICAgICAgICAgLm1heF92Y3B1cyA9IDEsCiAgICAgICAgIC5tYXhfZXZ0 Y2huX3BvcnQgPSAtMSwgLyogTm8gbGltaXQuICovCi0gICAgICAgIC5tYXhfZ3JhbnRfZnJhbWVz ID0gMzIsCi0gICAgICAgIC5tYXhfbWFwdHJhY2tfZnJhbWVzID0gMTAyNCwKKyAgICAgICAgLm1h eF9ncmFudF9mcmFtZXMgPSAtMSwKKyAgICAgICAgLm1heF9tYXB0cmFja19mcmFtZXMgPSAtMSwK ICAgICB9OwogCiAgICAgc3RhdGljIGNoYXIgKmt3ZF9saXN0W10gPSB7ICJkb21pZCIsICJzc2lk cmVmIiwgImhhbmRsZSIsICJmbGFncyIsCmRpZmYgLS1naXQgYS90b29scy94bC94bC5jIGIvdG9v bHMveGwveGwuYwppbmRleCBkZGQyOWIzZjFiLi4zZDQzOTBhNDZkIDEwMDY0NAotLS0gYS90b29s cy94bC94bC5jCisrKyBiL3Rvb2xzL3hsL3hsLmMKQEAgLTIzLDYgKzIzLDcgQEAKICNpbmNsdWRl IDxjdHlwZS5oPgogI2luY2x1ZGUgPGludHR5cGVzLmg+CiAjaW5jbHVkZSA8cmVnZXguaD4KKyNp bmNsdWRlIDxsaW1pdHMuaD4KIAogI2luY2x1ZGUgPGxpYnhsLmg+CiAjaW5jbHVkZSA8bGlieGxf dXRpbHMuaD4KQEAgLTk2LDcgKzk3LDYgQEAgc3RhdGljIHZvaWQgcGFyc2VfZ2xvYmFsX2NvbmZp Zyhjb25zdCBjaGFyICpjb25maWdmaWxlLAogICAgIFhMVV9Db25maWcgKmNvbmZpZzsKICAgICBp bnQgZTsKICAgICBjb25zdCBjaGFyICpidWY7Ci0gICAgbGlieGxfcGh5c2luZm8gcGh5c2luZm87 CiAKICAgICBjb25maWcgPSB4bHVfY2ZnX2luaXQoc3RkZXJyLCBjb25maWdmaWxlKTsKICAgICBp ZiAoIWNvbmZpZykgewpAQCAtMTk3LDE3ICsxOTcsMTkgQEAgc3RhdGljIHZvaWQgcGFyc2VfZ2xv YmFsX2NvbmZpZyhjb25zdCBjaGFyICpjb25maWdmaWxlLAogICAgIHhsdV9jZmdfcmVwbGFjZV9z dHJpbmcgKGNvbmZpZywgImNvbG8uZGVmYXVsdC5wcm94eXNjcmlwdCIsCiAgICAgICAgICZkZWZh dWx0X2NvbG9fcHJveHlfc2NyaXB0LCAwKTsKIAotICAgIGlmICgheGx1X2NmZ19nZXRfbG9uZyAo Y29uZmlnLCAibWF4X2dyYW50X2ZyYW1lcyIsICZsLCAwKSkKKyAgICBlID0geGx1X2NmZ19nZXRf Ym91bmRlZF9sb25nIChjb25maWcsICJtYXhfZ3JhbnRfZnJhbWVzIiwgMCwgSU5UX01BWCwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbCwgMSk7CisgICAgaWYgKCFlKQogICAg ICAgICBtYXhfZ3JhbnRfZnJhbWVzID0gbDsKLSAgICBlbHNlIHsKLSAgICAgICAgbGlieGxfcGh5 c2luZm9faW5pdCgmcGh5c2luZm8pOwotICAgICAgICBtYXhfZ3JhbnRfZnJhbWVzID0gKGxpYnhs X2dldF9waHlzaW5mbyhjdHgsICZwaHlzaW5mbykgIT0gMCB8fAotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICEocGh5c2luZm8ubWF4X3Bvc3NpYmxlX21mbiA+PiAzMikpCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICA/IDMyIDogNjQ7Ci0gICAgICAgIGxpYnhsX3BoeXNpbmZvX2Rpc3Bv c2UoJnBoeXNpbmZvKTsKLSAgICB9Ci0gICAgaWYgKCF4bHVfY2ZnX2dldF9sb25nIChjb25maWcs ICJtYXhfbWFwdHJhY2tfZnJhbWVzIiwgJmwsIDApKQorICAgIGVsc2UgaWYgKGUgIT0gRVNSQ0gp CisgICAgICAgIGV4aXQoMSk7CisKKyAgICBlID0geGx1X2NmZ19nZXRfYm91bmRlZF9sb25nIChj b25maWcsICJtYXhfbWFwdHJhY2tfZnJhbWVzIiwgMCwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBJTlRfTUFYLCAmbCwgMSk7CisgICAgaWYgKCFlKQogICAgICAgICBtYXhfbWFw dHJhY2tfZnJhbWVzID0gbDsKKyAgICBlbHNlIGlmIChlICE9IEVTUkNIKQorICAgICAgICBleGl0 KDEpOwogCiAgICAgbGlieGxfY3B1X2JpdG1hcF9hbGxvYyhjdHgsICZnbG9iYWxfdm1fYWZmaW5p dHlfbWFzaywgMCk7CiAgICAgbGlieGxfY3B1X2JpdG1hcF9hbGxvYyhjdHgsICZnbG9iYWxfaHZt X2FmZmluaXR5X21hc2ssIDApOwpkaWZmIC0tZ2l0IGEvdG9vbHMveGwveGxfcGFyc2UuYyBiL3Rv b2xzL3hsL3hsX3BhcnNlLmMKaW5kZXggMTEyZjhlZTAyNi4uYjg4MTE4NDgwNCAxMDA2NDQKLS0t IGEvdG9vbHMveGwveGxfcGFyc2UuYworKysgYi90b29scy94bC94bF9wYXJzZS5jCkBAIC0xNDEx LDE0ICsxNDExLDIzIEBAIHZvaWQgcGFyc2VfY29uZmlnX2RhdGEoY29uc3QgY2hhciAqY29uZmln X3NvdXJjZSwKICAgICAgICAgIXhsdV9jZmdfZ2V0X3N0cmluZyAoY29uZmlnLCAiY3B1c19zb2Z0 IiwgJmJ1ZiwgMCkpCiAgICAgICAgIHBhcnNlX3ZjcHVfYWZmaW5pdHkoYl9pbmZvLCBjcHVzLCBi dWYsIG51bV9jcHVzLCBmYWxzZSk7CiAKLSAgICBpZiAoIXhsdV9jZmdfZ2V0X2xvbmcgKGNvbmZp ZywgIm1heF9ncmFudF9mcmFtZXMiLCAmbCwgMCkpCisgICAgZSA9IHhsdV9jZmdfZ2V0X2JvdW5k ZWRfbG9uZyAoY29uZmlnLCAibWF4X2dyYW50X2ZyYW1lcyIsIDAsIElOVF9NQVgsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgJmwsIDEpOworICAgIGlmIChlID09IEVTUkNIKSAv KiBub3Qgc3BlY2lmaWVkICovCisgICAgICAgIGJfaW5mby0+bWF4X2dyYW50X2ZyYW1lcyA9IG1h eF9ncmFudF9mcmFtZXM7CisgICAgZWxzZSBpZiAoIWUpCiAgICAgICAgIGJfaW5mby0+bWF4X2dy YW50X2ZyYW1lcyA9IGw7CiAgICAgZWxzZQotICAgICAgICBiX2luZm8tPm1heF9ncmFudF9mcmFt ZXMgPSBtYXhfZ3JhbnRfZnJhbWVzOwotICAgIGlmICgheGx1X2NmZ19nZXRfbG9uZyAoY29uZmln LCAibWF4X21hcHRyYWNrX2ZyYW1lcyIsICZsLCAwKSkKLSAgICAgICAgYl9pbmZvLT5tYXhfbWFw dHJhY2tfZnJhbWVzID0gbDsKLSAgICBlbHNlIGlmIChtYXhfbWFwdHJhY2tfZnJhbWVzICE9IC0x KQorICAgICAgICBleGl0KDEpOworCisgICAgZSA9IHhsdV9jZmdfZ2V0X2JvdW5kZWRfbG9uZyAo Y29uZmlnLCAibWF4X21hcHRyYWNrX2ZyYW1lcyIsIDAsCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgSU5UX01BWCwgJmwsIDEpOworICAgIGlmIChlID09IEVTUkNIKSAvKiBub3Qg c3BlY2lmaWVkICovCiAgICAgICAgIGJfaW5mby0+bWF4X21hcHRyYWNrX2ZyYW1lcyA9IG1heF9t YXB0cmFja19mcmFtZXM7CisgICAgZWxzZSBpZiAoIWUpCisgICAgICAgIGJfaW5mby0+bWF4X21h cHRyYWNrX2ZyYW1lcyA9IGw7CisgICAgZWxzZQorICAgICAgICBleGl0KDEpOwogCiAgICAgbGli eGxfZGVmYm9vbF9zZXQoJmJfaW5mby0+Y2xhaW1fbW9kZSwgY2xhaW1fbW9kZSk7CiAKZGlmZiAt LWdpdCBhL3hlbi9hcmNoL2FybS9zZXR1cC5jIGIveGVuL2FyY2gvYXJtL3NldHVwLmMKaW5kZXgg NTFkMzIxMDZiNy4uM2M4OTljZDRhMCAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL3NldHVwLmMK KysrIGIveGVuL2FyY2gvYXJtL3NldHVwLmMKQEAgLTc4OSw3ICs3ODksNyBAQCB2b2lkIF9faW5p dCBzdGFydF94ZW4odW5zaWduZWQgbG9uZyBib290X3BoeXNfb2Zmc2V0LAogICAgICAgICAuZmxh Z3MgPSBYRU5fRE9NQ1RMX0NERl9odm0gfCBYRU5fRE9NQ1RMX0NERl9oYXAsCiAgICAgICAgIC5t YXhfZXZ0Y2huX3BvcnQgPSAtMSwKICAgICAgICAgLm1heF9ncmFudF9mcmFtZXMgPSBnbnR0YWJf ZG9tMF9mcmFtZXMoKSwKLSAgICAgICAgLm1heF9tYXB0cmFja19mcmFtZXMgPSBvcHRfbWF4X21h cHRyYWNrX2ZyYW1lcywKKyAgICAgICAgLm1heF9tYXB0cmFja19mcmFtZXMgPSAtMSwKICAgICB9 OwogICAgIGludCByYzsKIApkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3NldHVwLmMgYi94ZW4v YXJjaC94ODYvc2V0dXAuYwppbmRleCAwMGVlODdiZGU1Li43ZDI3ZjM2MDUzIDEwMDY0NAotLS0g YS94ZW4vYXJjaC94ODYvc2V0dXAuYworKysgYi94ZW4vYXJjaC94ODYvc2V0dXAuYwpAQCAtNjk3 LDggKzY5Nyw4IEBAIHZvaWQgX19pbml0IG5vcmV0dXJuIF9fc3RhcnRfeGVuKHVuc2lnbmVkIGxv bmcgbWJpX3ApCiAgICAgc3RydWN0IHhlbl9kb21jdGxfY3JlYXRlZG9tYWluIGRvbTBfY2ZnID0g ewogICAgICAgICAuZmxhZ3MgPSBJU19FTkFCTEVEKENPTkZJR19UQk9PVCkgPyBYRU5fRE9NQ1RM X0NERl9zM19pbnRlZ3JpdHkgOiAwLAogICAgICAgICAubWF4X2V2dGNobl9wb3J0ID0gLTEsCi0g ICAgICAgIC5tYXhfZ3JhbnRfZnJhbWVzID0gb3B0X21heF9ncmFudF9mcmFtZXMsCi0gICAgICAg IC5tYXhfbWFwdHJhY2tfZnJhbWVzID0gb3B0X21heF9tYXB0cmFja19mcmFtZXMsCisgICAgICAg IC5tYXhfZ3JhbnRfZnJhbWVzID0gLTEsCisgICAgICAgIC5tYXhfbWFwdHJhY2tfZnJhbWVzID0g LTEsCiAgICAgfTsKIAogICAgIC8qIENyaXRpY2FsIHJlZ2lvbiB3aXRob3V0IElEVCBvciBUU1Mu ICBBbnkgZmF1bHQgaXMgZGVhZGx5ISAqLwpkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9ncmFudF90 YWJsZS5jIGIveGVuL2NvbW1vbi9ncmFudF90YWJsZS5jCmluZGV4IGIzNGQ1MjBmNmQuLjcyOWYz NjJlYTggMTAwNjQ0Ci0tLSBhL3hlbi9jb21tb24vZ3JhbnRfdGFibGUuYworKysgYi94ZW4vY29t bW9uL2dyYW50X3RhYmxlLmMKQEAgLTg0LDExICs4NCw0MiBAQCBzdHJ1Y3QgZ3JhbnRfdGFibGUg ewogICAgIHN0cnVjdCBncmFudF90YWJsZV9hcmNoIGFyY2g7CiB9OwogCitzdGF0aWMgaW50IHBh cnNlX2dudHRhYl9saW1pdChjb25zdCBjaGFyICpwYXJhbSwgY29uc3QgY2hhciAqYXJnLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50ICp2YWxwKQoreworICAgIGNv bnN0IGNoYXIgKmU7CisgICAgdW5zaWduZWQgbG9uZyB2YWw7CisKKyAgICB2YWwgPSBzaW1wbGVf c3RydG91bChhcmcsICZlLCAwKTsKKyAgICBpZiAoICplICkKKyAgICAgICAgcmV0dXJuIC1FSU5W QUw7CisKKyAgICBpZiAoIHZhbCA+IElOVF9NQVggKQorICAgICAgICByZXR1cm4gLUVSQU5HRTsK KworICAgICp2YWxwID0gdmFsOworCisgICAgcmV0dXJuIDA7Cit9CisKIHVuc2lnbmVkIGludCBf X3JlYWRfbW9zdGx5IG9wdF9tYXhfZ3JhbnRfZnJhbWVzID0gNjQ7Ci1pbnRlZ2VyX3J1bnRpbWVf cGFyYW0oImdudHRhYl9tYXhfZnJhbWVzIiwgb3B0X21heF9ncmFudF9mcmFtZXMpOwogCi11bnNp Z25lZCBpbnQgX19yZWFkX21vc3RseSBvcHRfbWF4X21hcHRyYWNrX2ZyYW1lcyA9IDEwMjQ7Ci1p bnRlZ2VyX3J1bnRpbWVfcGFyYW0oImdudHRhYl9tYXhfbWFwdHJhY2tfZnJhbWVzIiwgb3B0X21h eF9tYXB0cmFja19mcmFtZXMpOworc3RhdGljIGludCBwYXJzZV9nbnR0YWJfbWF4X2ZyYW1lcyhj b25zdCBjaGFyICphcmcpCit7CisgICAgcmV0dXJuIHBhcnNlX2dudHRhYl9saW1pdCgiZ250dGFi X21heF9mcmFtZXMiLCBhcmcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmb3B0X21h eF9ncmFudF9mcmFtZXMpOworfQorY3VzdG9tX3J1bnRpbWVfcGFyYW0oImdudHRhYl9tYXhfZnJh bWVzIiwgcGFyc2VfZ250dGFiX21heF9mcmFtZXMpOworCitzdGF0aWMgdW5zaWduZWQgaW50IF9f cmVhZF9tb3N0bHkgb3B0X21heF9tYXB0cmFja19mcmFtZXMgPSAxMDI0OworCitzdGF0aWMgaW50 IHBhcnNlX2dudHRhYl9tYXhfbWFwdHJhY2tfZnJhbWVzKGNvbnN0IGNoYXIgKmFyZykKK3sKKyAg ICByZXR1cm4gcGFyc2VfZ250dGFiX2xpbWl0KCJnbnR0YWJfbWF4X21hcHRyYWNrX2ZyYW1lcyIs IGFyZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZvcHRfbWF4X21hcHRyYWNrX2Zy YW1lcyk7Cit9CitjdXN0b21fcnVudGltZV9wYXJhbSgiZ250dGFiX21heF9tYXB0cmFja19mcmFt ZXMiLAorICAgICAgICAgICAgICAgICAgICAgcGFyc2VfZ250dGFiX21heF9tYXB0cmFja19mcmFt ZXMpOwogCiAjaWZuZGVmIEdOVFRBQl9NQVhfVkVSU0lPTgogI2RlZmluZSBHTlRUQUJfTUFYX1ZF UlNJT04gMgpAQCAtMTgzNywxMiArMTg2OCwxOCBAQCBhY3RpdmVfYWxsb2NfZmFpbGVkOgogICAg IHJldHVybiAtRU5PTUVNOwogfQogCi1pbnQgZ3JhbnRfdGFibGVfaW5pdChzdHJ1Y3QgZG9tYWlu ICpkLCB1bnNpZ25lZCBpbnQgbWF4X2dyYW50X2ZyYW1lcywKLSAgICAgICAgICAgICAgICAgICAg IHVuc2lnbmVkIGludCBtYXhfbWFwdHJhY2tfZnJhbWVzKQoraW50IGdyYW50X3RhYmxlX2luaXQo c3RydWN0IGRvbWFpbiAqZCwgaW50IG1heF9ncmFudF9mcmFtZXMsCisgICAgICAgICAgICAgICAg ICAgICBpbnQgbWF4X21hcHRyYWNrX2ZyYW1lcykKIHsKICAgICBzdHJ1Y3QgZ3JhbnRfdGFibGUg Kmd0OwogICAgIGludCByZXQgPSAtRU5PTUVNOwogCisgICAgLyogRGVmYXVsdCB0byBtYXhpbXVt IHZhbHVlIGlmIG5vIHZhbHVlIHdhcyBzcGVjaWZpZWQgKi8KKyAgICBpZiAoIG1heF9ncmFudF9m cmFtZXMgPCAwICkKKyAgICAgICAgbWF4X2dyYW50X2ZyYW1lcyA9IG9wdF9tYXhfZ3JhbnRfZnJh bWVzOworICAgIGlmICggbWF4X21hcHRyYWNrX2ZyYW1lcyA8IDAgKQorICAgICAgICBtYXhfbWFw dHJhY2tfZnJhbWVzID0gb3B0X21heF9tYXB0cmFja19mcmFtZXM7CisKICAgICBpZiAoIG1heF9n cmFudF9mcmFtZXMgPCBJTklUSUFMX05SX0dSQU5UX0ZSQU1FUyB8fAogICAgICAgICAgbWF4X2dy YW50X2ZyYW1lcyA+IG9wdF9tYXhfZ3JhbnRfZnJhbWVzIHx8CiAgICAgICAgICBtYXhfbWFwdHJh Y2tfZnJhbWVzID4gb3B0X21heF9tYXB0cmFja19mcmFtZXMgKQpkaWZmIC0tZ2l0IGEveGVuL2lu Y2x1ZGUvcHVibGljL2RvbWN0bC5oIGIveGVuL2luY2x1ZGUvcHVibGljL2RvbWN0bC5oCmluZGV4 IDlmMmNmZDYwMmMuLmUzMTNkYTQ5OWYgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL3B1YmxpYy9k b21jdGwuaAorKysgYi94ZW4vaW5jbHVkZS9wdWJsaWMvZG9tY3RsLmgKQEAgLTgyLDEzICs4Miwx NSBAQCBzdHJ1Y3QgeGVuX2RvbWN0bF9jcmVhdGVkb21haW4gewogICAgIHVpbnQzMl90IGlvbW11 X29wdHM7CiAKICAgICAvKgotICAgICAqIFZhcmlvdXMgZG9tYWluIGxpbWl0cywgd2hpY2ggaW1w YWN0IHRoZSBxdWFudGl0eSBvZiByZXNvdXJjZXMgKGdsb2JhbAotICAgICAqIG1hcHBpbmcgc3Bh Y2UsIHhlbmhlYXAsIGV0YykgYSBndWVzdCBtYXkgY29uc3VtZS4KKyAgICAgKiBWYXJpb3VzIGRv bWFpbiBsaW1pdHMsIHdoaWNoIGltcGFjdCB0aGUgcXVhbnRpdHkgb2YgcmVzb3VyY2VzCisgICAg ICogKGdsb2JhbCBtYXBwaW5nIHNwYWNlLCB4ZW5oZWFwLCBldGMpIGEgZ3Vlc3QgbWF5IGNvbnN1 bWUuICBGb3IKKyAgICAgKiBtYXhfZ3JhbnRfZnJhbWVzIGFuZCBtYXhfbWFwdHJhY2tfZnJhbWVz LCA8IDAgbWVhbnMgInVzZSB0aGUKKyAgICAgKiBkZWZhdWx0IG1heGltdW0gdmFsdWUgaW4gdGhl IGh5cGVydmlzb3IiLgogICAgICAqLwogICAgIHVpbnQzMl90IG1heF92Y3B1czsKICAgICB1aW50 MzJfdCBtYXhfZXZ0Y2huX3BvcnQ7Ci0gICAgdWludDMyX3QgbWF4X2dyYW50X2ZyYW1lczsKLSAg ICB1aW50MzJfdCBtYXhfbWFwdHJhY2tfZnJhbWVzOworICAgIGludDMyX3QgbWF4X2dyYW50X2Zy YW1lczsKKyAgICBpbnQzMl90IG1heF9tYXB0cmFja19mcmFtZXM7CiAKICAgICBzdHJ1Y3QgeGVu X2FyY2hfZG9tYWluY29uZmlnIGFyY2g7CiB9OwpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUveGVu L2dyYW50X3RhYmxlLmggYi94ZW4vaW5jbHVkZS94ZW4vZ3JhbnRfdGFibGUuaAppbmRleCA2Zjkz NDVkOWVmLi45ODYwMzYwNGI4IDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS94ZW4vZ3JhbnRfdGFi bGUuaAorKysgYi94ZW4vaW5jbHVkZS94ZW4vZ3JhbnRfdGFibGUuaApAQCAtMzMsMTEgKzMzLDEw IEBACiBzdHJ1Y3QgZ3JhbnRfdGFibGU7CiAKIGV4dGVybiB1bnNpZ25lZCBpbnQgb3B0X21heF9n cmFudF9mcmFtZXM7Ci1leHRlcm4gdW5zaWduZWQgaW50IG9wdF9tYXhfbWFwdHJhY2tfZnJhbWVz OwogCiAvKiBDcmVhdGUvZGVzdHJveSBwZXItZG9tYWluIGdyYW50IHRhYmxlIGNvbnRleHQuICov Ci1pbnQgZ3JhbnRfdGFibGVfaW5pdChzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgbWF4 X2dyYW50X2ZyYW1lcywKLSAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBtYXhfbWFw dHJhY2tfZnJhbWVzKTsKK2ludCBncmFudF90YWJsZV9pbml0KHN0cnVjdCBkb21haW4gKmQsIGlu dCBtYXhfZ3JhbnRfZnJhbWVzLAorICAgICAgICAgICAgICAgICAgICAgaW50IG1heF9tYXB0cmFj a19mcmFtZXMpOwogdm9pZCBncmFudF90YWJsZV9kZXN0cm95KAogICAgIHN0cnVjdCBkb21haW4g KmQpOwogdm9pZCBncmFudF90YWJsZV9pbml0X3ZjcHUoc3RydWN0IHZjcHUgKnYpOwpAQCAtNjUs MTEgKzY0LDEwIEBAIGludCBnbnR0YWJfZ2V0X3N0YXR1c19mcmFtZShzdHJ1Y3QgZG9tYWluICpk LCB1bnNpZ25lZCBsb25nIGlkeCwKICNlbHNlCiAKICNkZWZpbmUgb3B0X21heF9ncmFudF9mcmFt ZXMgMAotI2RlZmluZSBvcHRfbWF4X21hcHRyYWNrX2ZyYW1lcyAwCiAKIHN0YXRpYyBpbmxpbmUg aW50IGdyYW50X3RhYmxlX2luaXQoc3RydWN0IGRvbWFpbiAqZCwKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IG1heF9ncmFudF9mcmFtZXMsCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBtYXhfbWFwdHJhY2tfZnJh bWVzKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbWF4X2dyYW50X2Zy YW1lcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IG1heF9tYXB0cmFj a19mcmFtZXMpCiB7CiAgICAgcmV0dXJuIDA7CiB9Ci0tIAoyLjIwLjEKCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0 Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qu b3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs