From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS31976 209.132.180.0/23 X-Spam-Status: No, score=-3.9 required=3.0 tests=AWL,BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_EF,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL,SPF_HELO_PASS,SPF_PASS shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dcvr.yhbt.net (Postfix) with ESMTPS id 5DD8E1F463 for ; Tue, 7 Jan 2020 11:54:29 +0000 (UTC) DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:cc:subject:date:message-id :content-type:mime-version; q=dns; s=default; b=qX/uep41f65ffu+E dRCL6XPb2zyrJ20RQiRjowcJvUGki+c13KCcWZMzE6EHBD0o9dd3BTeaV8HyRZeE ZaWLBzQ/mh0z/Cb0PPSQ/Jo+0osmguBIfx7weA5fKsJF5Ugo7Vpg5nSFh6HaxrvZ NAtN50fIAVXwy34f3c+26tG9vKY= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:cc:subject:date:message-id :content-type:mime-version; s=default; bh=PcLz0t5U5NBSo41H3hrEgx 38+jA=; b=JAflzs4Yo2e9PqczbxIMjAIU3bwt+cRm0n7qqjs9eo0qEo+8dhsWsC VKaUa/eA9Hd+8uEIyCZhzGN7+ERn4jAOYCx8WzPvoBQoO0R7q7Z89UEDliIzE57L YVPIcVdC42vFGXGmhQZ9rdyA7pev1gtQqeBVLVLvnQWx0yNv/COmw= Received: (qmail 69094 invoked by alias); 7 Jan 2020 11:54:26 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Received: (qmail 69085 invoked by uid 89); 7 Jan 2020 11:54:26 -0000 Authentication-Results: sourceware.org; auth=none X-HELO: EUR02-VE1-obe.outbound.protection.outlook.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=+G+5UyjUdDKWkjkz2nf+4782PO7rQEfXjGMBImYjGNY=; b=SrVpc1EgRPTjiqb0VA9MGpygU3El/92U80BKjsCF4a0fq7aIdVcVaS7ZgANOMQ/Y9u0sJI7Wynvzfc9kZGs7ddhLQSmccCKVeVXQurx3BYYDtsjybHwr8Dp9qBpHdrtCtLpXKk70YOH+X8wBIwbYiY1sQI225P2QfpTVklG14cE= Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; sourceware.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;sourceware.org; dmarc=bestguesspass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; X-CheckRecipientChecked: true X-CR-MTA-CID: 82310a43f2fab2b2 X-CR-MTA-TID: 64aa7808 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MukTpYMoug29yWXktjiywkCaUv55fNv9slgd/FzVvY7wR5lXykbPwOm+tp2ugdofUJ+yxRbJgI71wkEU5PQRRh8QxPjP4nfB8duq4EkRrxINEl1/B+IBnCryBWYXsfXoGGaqgY2Thnl41iD2hOGzVSYLjgeXey3PIe1XlqMa/1Fl3nrtQnPm4u/tnhL9/0VzMteraJ00OEUuHu5a2nZ58/uq8mGn6UYwIoMkPbrOm2Cvk+5t6CTAiHY7yCDmAxbKbEABbzOY60oK7R6P8BMwHdckS61ESpr+/cY1onIFG5CiuzkxoAWYqE+GhgHhBLrhvfkjgTTJl1IA9Ux+tnaB5g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=+G+5UyjUdDKWkjkz2nf+4782PO7rQEfXjGMBImYjGNY=; b=BkhkQ3WKurrjbQFRzhhyj5fA9/A5kf6M/dQ1SYOfRJOxB39uFxOzUQjiaVlElfvdKnpEKk+4B6G2UQTNv0kXdVpS4tEKk0RdBsWEti0cHfgzqLnTzM3YgurVSJuzrsypB2j9tlII6Czs1NVT36DXIUsE69Qeq5ifJv1rrtrPt6Oa1J4lJuDWfw5SISl3Xrz8n1AcQmrKccuyPr5/kd5km0o1rDuKuc3kyzWrnGTx1SNl20osEggbCCHKQTQt9xk1E85HxZ5gGoS4C0r3yXFhMFmjlt13gssS+yKWfyePkNFTG5NtLVDXdG29UhYwdUuOtkQAJlHYK/B7pLNCbaHR0A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=+G+5UyjUdDKWkjkz2nf+4782PO7rQEfXjGMBImYjGNY=; b=SrVpc1EgRPTjiqb0VA9MGpygU3El/92U80BKjsCF4a0fq7aIdVcVaS7ZgANOMQ/Y9u0sJI7Wynvzfc9kZGs7ddhLQSmccCKVeVXQurx3BYYDtsjybHwr8Dp9qBpHdrtCtLpXKk70YOH+X8wBIwbYiY1sQI225P2QfpTVklG14cE= From: Szabolcs Nagy To: GNU C Library CC: nd Subject: [PATCH] Reserve static TLS for dynamically loaded initial-exec TLS only [BZ #25051] Date: Tue, 7 Jan 2020 11:54:12 +0000 Message-ID: <44eaccc2-f760-88c0-989a-e413e328b051@arm.com> user-agent: Mozilla/5.0 (X11; Linux aarch64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 Authentication-Results-Original: spf=none (sender IP is ) smtp.mailfrom=Szabolcs.Nagy@arm.com; x-checkrecipientrouted: true x-ms-oob-tlc-oobclassifiers: OLM:8882;OLM:8882; X-Forefront-Antispam-Report-Untrusted: SFV:NSPM;SFS:(10009020)(4636009)(39860400002)(396003)(346002)(376002)(136003)(366004)(189003)(199004)(5660300002)(8676002)(81156014)(8936002)(31686004)(52116002)(81166006)(26005)(4326008)(478600001)(64756008)(66556008)(66446008)(66476007)(316002)(2616005)(66946007)(66616009)(956004)(2906002)(16576012)(71200400001)(36756003)(558084003)(86362001)(31696002)(186003)(16526019)(44832011)(6916009)(6486002);DIR:OUT;SFP:1101;SCL:1;SRVR:AM0PR08MB4164;H:AM0PR08MB3281.eurprd08.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;MX:1;A:1; received-spf: None (protection.outlook.com: arm.com does not designate permitted sender hosts) X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: mr8+ZHtmrisG30FENe9JUj0gFhu1LBpaTBMtvjKSm7nKvLeeQruHbN5F/L8pVLIoeYzMk1HsazilcTUJY6e5yxdKwAlcE/caTax0Zfug6ujgOL7Gc4fX4kLwTr+3CXeJH1rm/UG/QO1G7/nHsOuGNnZYPPB05GAyFndtX33d+nSfhYiIqETzXlTuixAYP2sTxrqFs04NLCk+9CaeplbDKJwq9VE6mdqwXnma/pOUvfVggAii3nV80gXKWhdqc/41vFKE+LMHGwWgGd4YkC+vmHXHLFk8g4NqMA5fPLWMSHc+jPR5+5MkcUYj5gQZQpTexiyo109ydP7VioJGQLpTBPakhCtG1IzZA+ZGpNdcD8PPTCvXJ7ZatrWtUrpeP8w5ogfSakKL8BdXQUnB8K3hH0ubWjluCvkHbrOiqcUx8WHgKcwCOE0iOORu2Ik9rxuU x-ms-exchange-transport-forked: True Content-Type: multipart/mixed; boundary="_002_44eaccc2f76088c0989ae413e328b051armcom_" MIME-Version: 1.0 Original-Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Szabolcs.Nagy@arm.com; X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5EUR03FT060.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 8b64285b-2793-4cb4-f01d-08d793685003 --_002_44eaccc2f76088c0989ae413e328b051armcom_ Content-Type: text/plain; charset="utf-8" Content-ID: <101BF115E6FC674FAB82D813327151C9@eurprd08.prod.outlook.com> Content-Transfer-Encoding: base64 aSBmb3Jnb3QgYWJvdXQgdGhpcywgaSBndWVzcyBpdCdzIHRvbyBsYXRlIGZvciAyLjMxLg0KcGxl YXNlIGNvbW1lbnQgaWYgeW91IGRpc2FncmVlIHdpdGggdGhlIGFwcHJvYWNoLg0K --_002_44eaccc2f76088c0989ae413e328b051armcom_ Content-Type: text/x-patch; name="0001-Reserve-static-TLS-for-dynamically-loaded-initial-ex.patch" Content-Description: 0001-Reserve-static-TLS-for-dynamically-loaded-initial-ex.patch Content-Disposition: attachment; filename="0001-Reserve-static-TLS-for-dynamically-loaded-initial-ex.patch"; size=16297; creation-date="Tue, 07 Jan 2020 11:54:12 GMT"; modification-date="Tue, 07 Jan 2020 11:54:12 GMT" Content-ID: <67B8B6E0BE55294F8780C4EE50017CC9@eurprd08.prod.outlook.com> Content-Transfer-Encoding: base64 RnJvbSBjMGFiNDY0OTAyNmQxOWJkYTc3ODE4OTQ2ZTM0OTM2OWIxMjM4NGVlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQ0KRnJvbTogU3phYm9sY3MgTmFneSA8c3phYm9sY3MubmFneUBhcm0uY29t Pg0KRGF0ZTogVHVlLCAzMSBEZWMgMjAxOSAxNjowMTo0MSArMDAwMA0KU3ViamVjdDogW1BBVENI XSBSZXNlcnZlIHN0YXRpYyBUTFMgZm9yIGR5bmFtaWNhbGx5IGxvYWRlZCBpbml0aWFsLWV4ZWMg VExTDQogb25seSBbQlogIzI1MDUxXQ0KDQpPbiBzb21lIHRhcmdldHMgc3RhdGljIFRMUyBzdXJw bHVzIGFyZWEgY2FuIGJlIHVzZWQgb3Bwb3J0dW5pc3RpY2FsbHkNCmZvciBkeW5hbWljYWxseSBs b2FkZWQgbW9kdWxlcyBzdWNoIHRoYXQgdGhlIFRMUyBhY2Nlc3MgdGhlbiBiZWNvbWVzDQpmYXN0 ZXIgKFRMU0RFU0MgYW5kIHBvd2VycGMgVExTIG9wdGltaXphdGlvbikuIEhvd2V2ZXIgd2UgZG9u J3Qgd2FudA0KYWxsIHN1cnBsdXMgVExTIHRvIGJlIHVzZWQgZm9yIHRoaXMgb3B0aW1pemF0aW9u IGJlY2F1c2UgZHluYW1pY2FsbHkNCmxvYWRlZCBtb2R1bGVzIHdpdGggaW5pdGlhbC1leGVjIFRM UyBjYW4gb25seSB1c2Ugc3VycGx1cyBUTFMuDQoNClRoaXMgcGF0Y2ggcmVzZXJ2ZXMgMTI4IGJ5 dGVzIG9mIHRoZSBzdXJwbHVzIFRMUyB0aGF0IGlzIG5vdCB1c2VkDQpvcHBvcnR1bmlzdGljYWxs eS4gVExTX1NUQVRJQ19TVVJQTFVTIGlzIGN1cnJlbnRseSAxNjY0LCBzbyB0aGlzIHN0aWxsDQph bGxvd3MgMTUzNiBieXRlcyBmb3Igb3Bwb3J0dW5pc3RpYyB1c2UuIEEgbmV3IHRlc3QgaXMgYWRk ZWQgdG8gdmVyaWZ5DQp0aGlzIEFCSSBjb250cmFjdDogZHluYW1pYyBsb2FkaW5nIG9mIGxpYnJh cmllcyB3aXRoIGluaXRpYWwtZXhlYyBUTFMNCmlzIHN1cHBvcnRlZCB1cCB0byAxMjggYnl0ZXMg aW4gdG90YWwgb24gYWxsIHRhcmdldHMuIFRoaXMgc2hvdWxkIGJlDQplbm91Z2ggZm9yIHN5c3Rl bSBsaWJyYXJpZXMgc3VjaCBhcyBsaWJnb21wLg0KDQpEaXNjdXNzZWQgYXQgaHR0cHM6Ly9zb3Vy Y2V3YXJlLm9yZy9tbC9saWJjLWFscGhhLzIwMTktMDkvbXNnMDA1MzMuaHRtbA0KDQpUZXN0ZWQg b24gYWFyY2g2NC1saW51eC1nbnUgYW5kIHg4Nl82NC1saW51eC1nbnUuDQotLS0NCiBlbGYvTWFr ZWZpbGUgICAgICAgICAgfCAxNyArKysrKysrLQ0KIGVsZi9kbC1yZWxvYy5jICAgICAgICB8IDE3 ICsrKystLS0tDQogZWxmL2R5bmFtaWMtbGluay5oICAgIHwgMTAgKysrKy0NCiBlbGYvdHN0LXRs cy1pZS1tb2QuaCAgfCA0MCArKysrKysrKysrKysrKysrKysNCiBlbGYvdHN0LXRscy1pZS1tb2Qw LmMgfCAgNCArKw0KIGVsZi90c3QtdGxzLWllLW1vZDEuYyB8ICA0ICsrDQogZWxmL3RzdC10bHMt aWUtbW9kMi5jIHwgIDQgKysNCiBlbGYvdHN0LXRscy1pZS1tb2QzLmMgfCAgNCArKw0KIGVsZi90 c3QtdGxzLWllLW1vZDQuYyB8ICA0ICsrDQogZWxmL3RzdC10bHMtaWUtbW9kNS5jIHwgIDQgKysN CiBlbGYvdHN0LXRscy1pZS5jICAgICAgfCA5OCArKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrDQogMTEgZmlsZXMgY2hhbmdlZCwgMTk0IGluc2VydGlvbnMoKyksIDEy IGRlbGV0aW9ucygtKQ0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBlbGYvdHN0LXRscy1pZS1tb2QuaA0K IGNyZWF0ZSBtb2RlIDEwMDY0NCBlbGYvdHN0LXRscy1pZS1tb2QwLmMNCiBjcmVhdGUgbW9kZSAx MDA2NDQgZWxmL3RzdC10bHMtaWUtbW9kMS5jDQogY3JlYXRlIG1vZGUgMTAwNjQ0IGVsZi90c3Qt dGxzLWllLW1vZDIuYw0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBlbGYvdHN0LXRscy1pZS1tb2QzLmMN CiBjcmVhdGUgbW9kZSAxMDA2NDQgZWxmL3RzdC10bHMtaWUtbW9kNC5jDQogY3JlYXRlIG1vZGUg MTAwNjQ0IGVsZi90c3QtdGxzLWllLW1vZDUuYw0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBlbGYvdHN0 LXRscy1pZS5jDQoNCmRpZmYgLS1naXQgYS9lbGYvTWFrZWZpbGUgYi9lbGYvTWFrZWZpbGUNCmlu ZGV4IGY4NjExMjZiMmYuLjZlYzIzYWM4NzQgMTAwNjQ0DQotLS0gYS9lbGYvTWFrZWZpbGUNCisr KyBiL2VsZi9NYWtlZmlsZQ0KQEAgLTE5NCwxNyArMTk0LDE4IEBAIHRlc3RzICs9IHJlc3Rlc3Qx IHByZWxvYWR0ZXN0IGxvYWRmYWlsIG11bHRpbG9hZCBvcmlndGVzdCByZXNvbHZmYWlsIFwNCiAJ IHRzdC1ub2RlbGV0ZSB0c3QtZGxvcGVuLW5vZGVsZXRlLXJlbG9jKSBcDQogCSB0c3QtaW5pdG9y ZGVyIHRzdC1pbml0b3JkZXIyIHRzdC1yZWxzb3J0MSB0c3QtbnVsbC1hcmd2IFwNCiAJIHRzdC10 bHNhbGlnbiB0c3QtdGxzYWxpZ24tZXh0ZXJuIHRzdC1ub2RlbGV0ZS1vcGVuZWQgXA0KIAkgdHN0 LW5vZGVsZXRlMiB0c3QtYXVkaXQxMSB0c3QtYXVkaXQxMiB0c3QtZGxzeW0tZXJyb3IgdHN0LW5v bG9hZCBcDQogCSB0c3QtbGF0ZXB0aHJlYWQgdHN0LXRscy1tYW55ZHluYW1pYyB0c3Qtbm9kZWxl dGUtZGxjbG9zZSBcDQogCSB0c3QtZGVidWcxIHRzdC1tYWluMSB0c3QtYWJzb2x1dGUtc3ltIHRz dC1hYnNvbHV0ZS16ZXJvIHRzdC1iaWctbm90ZSBcDQogCSB0c3QtdW53aW5kLWN0b3IgdHN0LXVu d2luZC1tYWluIHRzdC1hdWRpdDEzIFwNCiAJIHRzdC1zb25hbWVtb3ZlLWxpbmsgdHN0LXNvbmFt ZW1vdmUtZGxvcGVuIHRzdC1kbG9wZW4tdGxzbW9kaWQgXA0KLQkgdHN0LWRsb3Blbi1zZWxmIHRz dC1hdWRpdG1hbnkgdHN0LWluaXRmaW5pbGF6eWZhaWwgdHN0LWRsb3BlbmZhaWwNCisJIHRzdC1k bG9wZW4tc2VsZiB0c3QtYXVkaXRtYW55IHRzdC1pbml0ZmluaWxhenlmYWlsIHRzdC1kbG9wZW5m YWlsIFwNCisJIHRzdC10bHMtaWUNCiAjCSByZWxkZXA5DQogdGVzdHMtaW50ZXJuYWwgKz0gbG9h ZHRlc3QgdW5sb2FkIHVubG9hZDIgY2lyY2xlbG9hZDEgXA0KIAkgbmVlZGVkdGVzdCBuZWVkZWR0 ZXN0MiBuZWVkZWR0ZXN0MyBuZWVkZWR0ZXN0NCBcDQogCSB0c3QtdGxzMyB0c3QtdGxzNiB0c3Qt dGxzNyB0c3QtdGxzOCB0c3QtZGxtb3BlbjIgXA0KIAkgdHN0LXB0cmd1YXJkMSB0c3Qtc3RhY2tn dWFyZDEgdHN0LWxpYmNfZGx2c3ltIFwNCiAJIHRzdC1jcmVhdGVfZm9ybWF0MQ0KIHRlc3RzLWNv bnRhaW5lciArPSB0c3QtcGxkZCB0c3QtZGxvcGVuLXRsc21vZGlkLWNvbnRhaW5lciBcDQogICB0 c3QtZGxvcGVuLXNlbGYtY29udGFpbmVyDQpAQCAtMzA0LDE3ICszMDUsMjAgQEAgbW9kdWxlcy1u YW1lcyA9IHRlc3RvYmoxIHRlc3RvYmoyIHRlc3RvYmozIHRlc3RvYmo0IHRlc3RvYmo1IHRlc3Rv Ymo2IFwNCiAJCXRzdC1tYWluMW1vZCB0c3QtbGliY19kbHZzeW0tZHNvIHRzdC1hYnNvbHV0ZS1z eW0tbGliIFwNCiAJCXRzdC1hYnNvbHV0ZS16ZXJvLWxpYiB0c3QtYmlnLW5vdGUtbGliIHRzdC11 bndpbmQtY3Rvci1saWIgXA0KIAkJdHN0LWF1ZGl0MTNtb2QxIHRzdC1zb25hbWVtb3ZlLWxpbmtt b2QxIFwNCiAJCXRzdC1zb25hbWVtb3ZlLXJ1bm1vZDEgdHN0LXNvbmFtZW1vdmUtcnVubW9kMiBc DQogCQl0c3QtYXVkaXRtYW55bW9kMSB0c3QtYXVkaXRtYW55bW9kMiB0c3QtYXVkaXRtYW55bW9k MyBcDQogCQl0c3QtYXVkaXRtYW55bW9kNCB0c3QtYXVkaXRtYW55bW9kNSB0c3QtYXVkaXRtYW55 bW9kNiBcDQogCQl0c3QtYXVkaXRtYW55bW9kNyB0c3QtYXVkaXRtYW55bW9kOCB0c3QtYXVkaXRt YW55bW9kOSBcDQogCQl0c3QtaW5pdGxhenlmYWlsbW9kIHRzdC1maW5pbGF6eWZhaWxtb2QgXA0K LQkJdHN0LWRsb3BlbmZhaWxtb2QxIHRzdC1kbG9wZW5mYWlsbGlua21vZCB0c3QtZGxvcGVuZmFp bG1vZDINCisJCXRzdC1kbG9wZW5mYWlsbW9kMSB0c3QtZGxvcGVuZmFpbGxpbmttb2QgdHN0LWRs b3BlbmZhaWxtb2QyIFwNCisJCXRzdC10bHMtaWUtbW9kMCB0c3QtdGxzLWllLW1vZDEgdHN0LXRs cy1pZS1tb2QyIFwNCisJCXRzdC10bHMtaWUtbW9kMyB0c3QtdGxzLWllLW1vZDQgdHN0LXRscy1p ZS1tb2Q1DQorDQogIyBNb3N0IG1vZHVsZXMgYnVpbGQgd2l0aCBfSVNPTUFDIGRlZmluZWQsIGJ1 dCB0aG9zZSBmaWx0ZXJlZCBvdXQNCiAjIGRlcGVuZCBvbiBpbnRlcm5hbCBoZWFkZXJzLg0KIG1v ZHVsZXMtbmFtZXMtdGVzdHMgPSAkKGZpbHRlci1vdXQgaWZ1bmNtb2QlIHRzdC1saWJjX2RsdnN5 bS1kc28gdHN0LXRsc21vZCUsXA0KIAkJCQkgICAkKG1vZHVsZXMtbmFtZXMpKQ0KIA0KIGlmZXEg KHllcywkKGhhdmUtbXRscy1kaWFsZWN0LWdudTIpKQ0KIHRlc3RzICs9IHRzdC1nbnUyLXRsczEN CiBtb2R1bGVzLW5hbWVzICs9IHRzdC1nbnUyLXRsczFtb2QNCkBAIC0xNjgzLDggKzE2ODcsMTcg QEAgJChvYmpwZngpdHN0LWRsb3Blbi1ub2RlbGV0ZS1yZWxvYy1tb2QxNS5zbzogXA0KIHRzdC1k bG9wZW4tbm9kZWxldGUtcmVsb2MtbW9kMTYuc28tbm8tei1kZWZzID0geWVzDQogJChvYmpwZngp dHN0LWRsb3Blbi1ub2RlbGV0ZS1yZWxvYy1tb2QxNi5zbzogXA0KICAgJChvYmpwZngpdHN0LWRs b3Blbi1ub2RlbGV0ZS1yZWxvYy1tb2QxNS5zbw0KIExERkxBR1MtdHN0LWRsb3Blbi1ub2RlbGV0 ZS1yZWxvYy1tb2QxNi5zbyA9IC1XbCwtLW5vLWFzLW5lZWRlZA0KICQob2JqcGZ4KXRzdC1kbG9w ZW4tbm9kZWxldGUtcmVsb2MtbW9kMTcuc286IFwNCiAgICQob2JqcGZ4KXRzdC1kbG9wZW4tbm9k ZWxldGUtcmVsb2MtbW9kMTUuc28gXA0KICAgJChvYmpwZngpdHN0LWRsb3Blbi1ub2RlbGV0ZS1y ZWxvYy1tb2QxNi5zbw0KIExERkxBR1MtdHN0LWRsb3Blbi1ub2RlbGV0ZS1yZWxvYy1tb2QxNy5z byA9IC1XbCwtLW5vLWFzLW5lZWRlZA0KKw0KKyQob2JqcGZ4KXRzdC10bHMtaWU6ICQobGliZGwp ICQoc2hhcmVkLXRocmVhZC1saWJyYXJ5KQ0KKyQob2JqcGZ4KXRzdC10bHMtaWUub3V0OiBcDQor ICAkKG9ianBmeCl0c3QtdGxzLWllLW1vZDAuc28gXA0KKyAgJChvYmpwZngpdHN0LXRscy1pZS1t b2QxLnNvIFwNCisgICQob2JqcGZ4KXRzdC10bHMtaWUtbW9kMi5zbyBcDQorICAkKG9ianBmeCl0 c3QtdGxzLWllLW1vZDMuc28gXA0KKyAgJChvYmpwZngpdHN0LXRscy1pZS1tb2Q0LnNvIFwNCisg ICQob2JqcGZ4KXRzdC10bHMtaWUtbW9kNS5zbw0KZGlmZiAtLWdpdCBhL2VsZi9kbC1yZWxvYy5j IGIvZWxmL2RsLXJlbG9jLmMNCmluZGV4IDdmMjAxZmUxODQuLmZiMjg0Y2M0NTUgMTAwNjQ0DQot LS0gYS9lbGYvZGwtcmVsb2MuYw0KKysrIGIvZWxmL2RsLXJlbG9jLmMNCkBAIC0zMywzOSArMzMs MzkgQEANCiAjIGRlZmluZSBidW1wX251bV9jYWNoZV9yZWxvY2F0aW9ucygpICsrR0woZGxfbnVt X2NhY2hlX3JlbG9jYXRpb25zKQ0KICNlbHNlDQogIyBkZWZpbmUgYnVtcF9udW1fY2FjaGVfcmVs b2NhdGlvbnMoKSAoKHZvaWQpIDApDQogI2VuZGlmDQogDQogDQogLyogV2UgYXJlIHRyeWluZyB0 byBwZXJmb3JtIGEgc3RhdGljIFRMUyByZWxvY2F0aW9uIGluIE1BUCwgYnV0IGl0IHdhcw0KICAg IGR5bmFtaWNhbGx5IGxvYWRlZC4gIFRoaXMgY2FuIG9ubHkgd29yayBpZiB0aGVyZSBpcyBlbm91 Z2ggc3VycGx1cyBpbg0KLSAgIHRoZSBzdGF0aWMgVExTIGFyZWEgYWxyZWFkeSBhbGxvY2F0ZWQg Zm9yIGVhY2ggcnVubmluZyB0aHJlYWQuICBJZiB0aGlzDQotICAgb2JqZWN0J3MgVExTIHNlZ21l bnQgaXMgdG9vIGJpZyB0byBmaXQsIHdlIGZhaWwuICBJZiBpdCBmaXRzLA0KLSAgIHdlIHNldCBN QVAtPmxfdGxzX29mZnNldCBhbmQgcmV0dXJuLg0KKyAgIHRoZSBzdGF0aWMgVExTIGFyZWEgYWxy ZWFkeSBhbGxvY2F0ZWQgZm9yIGVhY2ggcnVubmluZyB0aHJlYWQuIElmIHRoaXMNCisgICBvYmpl Y3QncyBUTFMgc2VnbWVudCBpcyB0b28gYmlnIHRvIGZpdCBvciBsZXNzIHRoYW4gUkVTRVJWRUQg Ynl0ZXMNCisgICByZW1haW4gZnJlZSwgd2UgZmFpbC4gIElmIGl0IGZpdHMsIHdlIHNldCBNQVAt PmxfdGxzX29mZnNldCBhbmQgcmV0dXJuLg0KICAgIFRoaXMgZnVuY3Rpb24gaW50ZW50aW9uYWxs eSBkb2VzIG5vdCByZXR1cm4gYW55IHZhbHVlIGJ1dCBzaWduYWxzIGVycm9yDQogICAgZGlyZWN0 bHksIGFzIHN0YXRpYyBUTFMgc2hvdWxkIGJlIHJhcmUgYW5kIGNvZGUgaGFuZGxpbmcgaXQgc2hv dWxkDQogICAgbm90IGJlIGlubGluZWQgYXMgbXVjaCBhcyBwb3NzaWJsZS4gICovDQogaW50DQot X2RsX3RyeV9hbGxvY2F0ZV9zdGF0aWNfdGxzIChzdHJ1Y3QgbGlua19tYXAgKm1hcCkNCitfZGxf dHJ5X2FsbG9jYXRlX3N0YXRpY190bHMgKHN0cnVjdCBsaW5rX21hcCAqbWFwLCBzaXplX3QgcmVz ZXJ2ZWQpDQogew0KICAgLyogSWYgd2UndmUgYWxyZWFkeSB1c2VkIHRoZSB2YXJpYWJsZSB3aXRo IGR5bmFtaWMgYWNjZXNzLCBvciBpZiB0aGUNCiAgICAgIGFsaWdubWVudCByZXF1aXJlbWVudHMg YXJlIHRvbyBoaWdoLCBmYWlsLiAgKi8NCiAgIGlmIChtYXAtPmxfdGxzX29mZnNldCA9PSBGT1JD RURfRFlOQU1JQ19UTFNfT0ZGU0VUDQogICAgICAgfHwgbWFwLT5sX3Rsc19hbGlnbiA+IEdMKGRs X3Rsc19zdGF0aWNfYWxpZ24pKQ0KICAgICB7DQogICAgIGZhaWw6DQogICAgICAgcmV0dXJuIC0x Ow0KICAgICB9DQogDQogI2lmIFRMU19UQ0JfQVRfVFANCiAgIHNpemVfdCBmcmVlYnl0ZXMgPSBH TChkbF90bHNfc3RhdGljX3NpemUpIC0gR0woZGxfdGxzX3N0YXRpY191c2VkKTsNCi0gIGlmIChm cmVlYnl0ZXMgPCBUTFNfVENCX1NJWkUpDQorICBpZiAoZnJlZWJ5dGVzIDwgVExTX1RDQl9TSVpF ICsgcmVzZXJ2ZWQpDQogICAgIGdvdG8gZmFpbDsNCi0gIGZyZWVieXRlcyAtPSBUTFNfVENCX1NJ WkU7DQorICBmcmVlYnl0ZXMgLT0gVExTX1RDQl9TSVpFICsgcmVzZXJ2ZWQ7DQogDQogICBzaXpl X3QgYmxzaXplID0gbWFwLT5sX3Rsc19ibG9ja3NpemUgKyBtYXAtPmxfdGxzX2ZpcnN0Ynl0ZV9v ZmZzZXQ7DQogICBpZiAoZnJlZWJ5dGVzIDwgYmxzaXplKQ0KICAgICBnb3RvIGZhaWw7DQogDQog ICBzaXplX3QgbiA9IChmcmVlYnl0ZXMgLSBibHNpemUpIC8gbWFwLT5sX3Rsc19hbGlnbjsNCiAN CiAgIHNpemVfdCBvZmZzZXQgPSBHTChkbF90bHNfc3RhdGljX3VzZWQpICsgKGZyZWVieXRlcyAt IG4gKiBtYXAtPmxfdGxzX2FsaWduDQpAQCAtNzUsMTcgKzc1LDE4IEBAIF9kbF90cnlfYWxsb2Nh dGVfc3RhdGljX3RscyAoc3RydWN0IGxpbmtfbWFwICptYXApDQogI2VsaWYgVExTX0RUVl9BVF9U UA0KICAgLyogZGxfdGxzX3N0YXRpY191c2VkIGluY2x1ZGVzIHRoZSBUQ0IgYXQgdGhlIGJlZ2lu bmluZy4gICovDQogICBzaXplX3Qgb2Zmc2V0ID0gKEFMSUdOX1VQKEdMKGRsX3Rsc19zdGF0aWNf dXNlZCkNCiAJCQkgICAgLSBtYXAtPmxfdGxzX2ZpcnN0Ynl0ZV9vZmZzZXQsDQogCQkJICAgIG1h cC0+bF90bHNfYWxpZ24pDQogCQkgICArIG1hcC0+bF90bHNfZmlyc3RieXRlX29mZnNldCk7DQog ICBzaXplX3QgdXNlZCA9IG9mZnNldCArIG1hcC0+bF90bHNfYmxvY2tzaXplOw0KIA0KLSAgaWYg KHVzZWQgPiBHTChkbF90bHNfc3RhdGljX3NpemUpKQ0KKyAgaWYgKEdMKGRsX3Rsc19zdGF0aWNf c2l6ZSkgPCByZXNlcnZlZA0KKyAgICAgIHx8IHVzZWQgPiBHTChkbF90bHNfc3RhdGljX3NpemUp IC0gcmVzZXJ2ZWQpDQogICAgIGdvdG8gZmFpbDsNCiANCiAgIG1hcC0+bF90bHNfb2Zmc2V0ID0g b2Zmc2V0Ow0KICAgbWFwLT5sX3Rsc19maXJzdGJ5dGVfb2Zmc2V0ID0gR0woZGxfdGxzX3N0YXRp Y191c2VkKTsNCiAgIEdMKGRsX3Rsc19zdGF0aWNfdXNlZCkgPSB1c2VkOw0KICNlbHNlDQogIyBl cnJvciAiRWl0aGVyIFRMU19UQ0JfQVRfVFAgb3IgVExTX0RUVl9BVF9UUCBtdXN0IGJlIGRlZmlu ZWQiDQogI2VuZGlmDQpAQCAtMTEwLDE3ICsxMTEsMTcgQEAgX2RsX3RyeV9hbGxvY2F0ZV9zdGF0 aWNfdGxzIChzdHJ1Y3QgbGlua19tYXAgKm1hcCkNCiAgIHJldHVybiAwOw0KIH0NCiANCiB2b2lk DQogX19hdHRyaWJ1dGVfbm9pbmxpbmVfXw0KIF9kbF9hbGxvY2F0ZV9zdGF0aWNfdGxzIChzdHJ1 Y3QgbGlua19tYXAgKm1hcCkNCiB7DQogICBpZiAobWFwLT5sX3Rsc19vZmZzZXQgPT0gRk9SQ0VE X0RZTkFNSUNfVExTX09GRlNFVA0KLSAgICAgIHx8IF9kbF90cnlfYWxsb2NhdGVfc3RhdGljX3Rs cyAobWFwKSkNCisgICAgICB8fCBfZGxfdHJ5X2FsbG9jYXRlX3N0YXRpY190bHMgKG1hcCwgMCkp DQogICAgIHsNCiAgICAgICBfZGxfc2lnbmFsX2Vycm9yICgwLCBtYXAtPmxfbmFtZSwgTlVMTCwg Tl8oIlwNCiBjYW5ub3QgYWxsb2NhdGUgbWVtb3J5IGluIHN0YXRpYyBUTFMgYmxvY2siKSk7DQog ICAgIH0NCiB9DQogDQogLyogSW5pdGlhbGl6ZSBzdGF0aWMgVExTIGFyZWEgYW5kIERUViBmb3Ig Y3VycmVudCAob25seSkgdGhyZWFkLg0KICAgIGxpYnB0aHJlYWQgaW1wbGVtZW50YXRpb25zIHNo b3VsZCBwcm92aWRlIHRoZWlyIG93biBob29rDQpkaWZmIC0tZ2l0IGEvZWxmL2R5bmFtaWMtbGlu ay5oIGIvZWxmL2R5bmFtaWMtbGluay5oDQppbmRleCA1ZDllZjQ5MmFjLi4wMTNhODU5Y2EzIDEw MDY0NA0KLS0tIGEvZWxmL2R5bmFtaWMtbGluay5oDQorKysgYi9lbGYvZHluYW1pYy1saW5rLmgN CkBAIC0zNSwxOSArMzUsMjUgQEANCiAgICAgICBpZiAoIUhBVkVfU1RBVElDX1RMUyAobWFwLCBz eW1fbWFwKSkJCQkJXA0KIAlfZGxfYWxsb2NhdGVfc3RhdGljX3RscyAoc3ltX21hcCk7CQkJCVwN CiAgICAgfSB3aGlsZSAoMCkNCiANCiAjZGVmaW5lIFRSWV9TVEFUSUNfVExTKG1hcCwgc3ltX21h cCkJCQkJCVwNCiAgICAgKF9fYnVpbHRpbl9leHBlY3QgKChzeW1fbWFwKS0+bF90bHNfb2Zmc2V0 CQkJCVwNCiAJCSAgICAgICAhPSBGT1JDRURfRFlOQU1JQ19UTFNfT0ZGU0VULCAxKQkJCVwNCiAg ICAgICYmIChfX2J1aWx0aW5fZXhwZWN0ICgoc3ltX21hcCktPmxfdGxzX29mZnNldCAhPSBOT19U TFNfT0ZGU0VULCAxKQlcDQotCSB8fCBfZGxfdHJ5X2FsbG9jYXRlX3N0YXRpY190bHMgKHN5bV9t YXApID09IDApKQ0KKwkgfHwgX2RsX3RyeV9hbGxvY2F0ZV9zdGF0aWNfdGxzIChzeW1fbWFwLCBU TFNfUkVTRVJWRURfRk9SX0lFKSA9PSAwKSkNCiANCi1pbnQgX2RsX3RyeV9hbGxvY2F0ZV9zdGF0 aWNfdGxzIChzdHJ1Y3QgbGlua19tYXAgKm1hcCkgYXR0cmlidXRlX2hpZGRlbjsNCisvKiBXaGVu IHRoZSBzdGF0aWMgVExTIHN1cnBsdXMgYXJlYSBpcyBvcHBvcnR1bmlzdGljYWxseSB1c2VkLCBl LmcuIGJ5DQorICAgVFJZX1NUQVRJQ19UTFMsIHJlc2VydmUgYXQgbGVhc3QgdGhpcyBtdWNoIGZv ciBkeW5hbWljYWxseSBsb2FkZWQNCisgICBtb2R1bGVzIHdpdGggaW5pdGlhbC1leGVjIFRMUyB3 aGljaCBjYW4gb25seSB1c2UgdGhlIHN1cnBsdXMgVExTLiAgKi8NCisjZGVmaW5lIFRMU19SRVNF UlZFRF9GT1JfSUUgMTI4DQorDQoraW50IF9kbF90cnlfYWxsb2NhdGVfc3RhdGljX3RscyAoc3Ry dWN0IGxpbmtfbWFwICptYXAsIHNpemVfdCByZXNlcnZlZCkNCisgIGF0dHJpYnV0ZV9oaWRkZW47 DQogDQogI2luY2x1ZGUgPGVsZi5oPg0KIA0KICNpZmRlZiBSRVNPTFZFX01BUA0KIC8qIFdlIHBh c3MgcmVsb2NfYWRkciBhcyBhIHBvaW50ZXIgdG8gdm9pZCwgYXMgb3Bwb3NlZCB0byBhIHBvaW50 ZXIgdG8NCiAgICBFbGZXKEFkZHIpLCBiZWNhdXNlIG5vdCBhbGwgYXJjaGl0ZWN0dXJlcyBjYW4g YXNzdW1lIHRoYXQgdGhlDQogICAgcmVsb2NhdGVkIGFkZHJlc3MgaXMgcHJvcGVybHkgYWxpZ25l ZCwgd2hlcmVhcyB0aGUgY29tcGlsZXIgaXMNCiAgICBlbnRpdGxlZCB0byBhc3N1bWUgdGhhdCBh IHBvaW50ZXIgdG8gYSB0eXBlIGlzIHByb3Blcmx5IGFsaWduZWQgZm9yDQpkaWZmIC0tZ2l0IGEv ZWxmL3RzdC10bHMtaWUtbW9kLmggYi9lbGYvdHN0LXRscy1pZS1tb2QuaA0KbmV3IGZpbGUgbW9k ZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMDAuLjQ2YjM2MmE5YjcNCi0tLSAvZGV2L251bGwNCisr KyBiL2VsZi90c3QtdGxzLWllLW1vZC5oDQpAQCAtMCwwICsxLDQwIEBADQorLyogTW9kdWxlIHdp dGggc3BlY2lmaWVkIFRMUyBzaXplIGFuZCBtb2RlbC4NCisgICBDb3B5cmlnaHQgKEMpIDIwMjAg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuDQorICAgVGhpcyBmaWxlIGlzIHBhcnQgb2Yg dGhlIEdOVSBDIExpYnJhcnkuDQorDQorICAgVGhlIEdOVSBDIExpYnJhcnkgaXMgZnJlZSBzb2Z0 d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yDQorICAgbW9kaWZ5IGl0IHVuZGVy IHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYw0KKyAgIExpY2Vuc2Ug YXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcg0KKyAg IHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRl ciB2ZXJzaW9uLg0KKw0KKyAgIFRoZSBHTlUgQyBMaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRo ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsDQorICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJB TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCisgICBNRVJDSEFOVEFC SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQ0K KyAgIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQorDQor ICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5l cmFsIFB1YmxpYw0KKyAgIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGUgR05VIEMgTGlicmFyeTsgaWYg bm90LCBzZWUNCisgICA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAgKi8NCisNCisv KiBUaGlzIGZpbGUgaXMgcGFyYW1ldGVyaXplZCBieSBtYWNyb3MgTiwgU0laRSBhbmQgTU9ERUwu ICAqLw0KKw0KKyNpbmNsdWRlIDxzdGRpby5oPg0KKyNpbmNsdWRlIDxzdHJpbmcuaD4NCisNCisj ZGVmaW5lIENPTkNBVFgoeCwgeSkgeCAjIyB5DQorI2RlZmluZSBDT05DQVQoeCwgeSkgQ09OQ0FU WCAoeCwgeSkNCisjZGVmaW5lIFNUUlgoeCkgI3gNCisjZGVmaW5lIFNUUih4KSBTVFJYICh4KQ0K Kw0KKyNkZWZpbmUgVkFSIENPTkNBVCAodmFyLCBOKQ0KKw0KK19fYXR0cmlidXRlX18gKChhbGln bmVkICg4KSwgdGxzX21vZGVsIChNT0RFTCkpKQ0KK19fdGhyZWFkIGNoYXIgVkFSW1NJWkVdOw0K Kw0KK3ZvaWQNCitDT05DQVQgKGFjY2VzcywgTikgKHZvaWQpDQorew0KKyAgcHJpbnRmIChTVFIg KFZBUikgIlslZF06XHQgJXAgLi4gJXAgIiBNT0RFTCAiXG4iLCBTSVpFLCBWQVIsIFZBUiArIFNJ WkUpOw0KKyAgZmZsdXNoIChzdGRvdXQpOw0KKyAgbWVtc2V0IChWQVIsIDEsIFNJWkUpOw0KK30N CmRpZmYgLS1naXQgYS9lbGYvdHN0LXRscy1pZS1tb2QwLmMgYi9lbGYvdHN0LXRscy1pZS1tb2Qw LmMNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMDAwLi5hODIyYWYxYjNjDQot LS0gL2Rldi9udWxsDQorKysgYi9lbGYvdHN0LXRscy1pZS1tb2QwLmMNCkBAIC0wLDAgKzEsNCBA QA0KKyNkZWZpbmUgTiAwDQorI2RlZmluZSBTSVpFIDE1MjANCisjZGVmaW5lIE1PREVMICJnbG9i YWwtZHluYW1pYyINCisjaW5jbHVkZSAidHN0LXRscy1pZS1tb2QuaCINCmRpZmYgLS1naXQgYS9l bGYvdHN0LXRscy1pZS1tb2QxLmMgYi9lbGYvdHN0LXRscy1pZS1tb2QxLmMNCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMDAwLi44NDlmZjkxZTUzDQotLS0gL2Rldi9udWxsDQor KysgYi9lbGYvdHN0LXRscy1pZS1tb2QxLmMNCkBAIC0wLDAgKzEsNCBAQA0KKyNkZWZpbmUgTiAx DQorI2RlZmluZSBTSVpFIDEyMA0KKyNkZWZpbmUgTU9ERUwgImdsb2JhbC1keW5hbWljIg0KKyNp bmNsdWRlICJ0c3QtdGxzLWllLW1vZC5oIg0KZGlmZiAtLWdpdCBhL2VsZi90c3QtdGxzLWllLW1v ZDIuYyBiL2VsZi90c3QtdGxzLWllLW1vZDIuYw0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4 IDAwMDAwMDAwMDAuLjcwZjhlODFlMDUNCi0tLSAvZGV2L251bGwNCisrKyBiL2VsZi90c3QtdGxz LWllLW1vZDIuYw0KQEAgLTAsMCArMSw0IEBADQorI2RlZmluZSBOIDINCisjZGVmaW5lIFNJWkUg NDgNCisjZGVmaW5lIE1PREVMICJnbG9iYWwtZHluYW1pYyINCisjaW5jbHVkZSAidHN0LXRscy1p ZS1tb2QuaCINCmRpZmYgLS1naXQgYS9lbGYvdHN0LXRscy1pZS1tb2QzLmMgYi9lbGYvdHN0LXRs cy1pZS1tb2QzLmMNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMDAwLi41Mzk1 Zjg0NGE1DQotLS0gL2Rldi9udWxsDQorKysgYi9lbGYvdHN0LXRscy1pZS1tb2QzLmMNCkBAIC0w LDAgKzEsNCBAQA0KKyNkZWZpbmUgTiAzDQorI2RlZmluZSBTSVpFIDE2DQorI2RlZmluZSBNT0RF TCAiZ2xvYmFsLWR5bmFtaWMiDQorI2luY2x1ZGUgInRzdC10bHMtaWUtbW9kLmgiDQpkaWZmIC0t Z2l0IGEvZWxmL3RzdC10bHMtaWUtbW9kNC5jIGIvZWxmL3RzdC10bHMtaWUtbW9kNC5jDQpuZXcg ZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwMC4uZDZhMTk5OGQ2ZA0KLS0tIC9kZXYv bnVsbA0KKysrIGIvZWxmL3RzdC10bHMtaWUtbW9kNC5jDQpAQCAtMCwwICsxLDQgQEANCisjZGVm aW5lIE4gNA0KKyNkZWZpbmUgU0laRSAxMjANCisjZGVmaW5lIE1PREVMICJpbml0aWFsLWV4ZWMi DQorI2luY2x1ZGUgInRzdC10bHMtaWUtbW9kLmgiDQpkaWZmIC0tZ2l0IGEvZWxmL3RzdC10bHMt aWUtbW9kNS5jIGIvZWxmL3RzdC10bHMtaWUtbW9kNS5jDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0K aW5kZXggMDAwMDAwMDAwMC4uM2JiNGRiY2JmYg0KLS0tIC9kZXYvbnVsbA0KKysrIGIvZWxmL3Rz dC10bHMtaWUtbW9kNS5jDQpAQCAtMCwwICsxLDQgQEANCisjZGVmaW5lIE4gNQ0KKyNkZWZpbmUg U0laRSA4DQorI2RlZmluZSBNT0RFTCAiaW5pdGlhbC1leGVjIg0KKyNpbmNsdWRlICJ0c3QtdGxz LWllLW1vZC5oIg0KZGlmZiAtLWdpdCBhL2VsZi90c3QtdGxzLWllLmMgYi9lbGYvdHN0LXRscy1p ZS5jDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwMC4uZDE3ZjFmYzU5ZQ0K LS0tIC9kZXYvbnVsbA0KKysrIGIvZWxmL3RzdC10bHMtaWUuYw0KQEAgLTAsMCArMSw5OCBAQA0K Ky8qIFRlc3QgZGxvcGVuIG9mIG1vZHVsZXMgd2l0aCBpbml0aWFsLWV4ZWMgVExTLg0KKyAgIENv cHlyaWdodCAoQykgMjAxNi0yMDIwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLg0KKyAg IFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBHTlUgQyBMaWJyYXJ5Lg0KKw0KKyAgIFRoZSBHTlUg QyBMaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v cg0KKyAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJh bCBQdWJsaWMNCisgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBG b3VuZGF0aW9uOyBlaXRoZXINCisgICB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0 IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4NCisNCisgICBUaGUgR05VIEMgTGlicmFy eSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KKyAg IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh bnR5IG9mDQorICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ VVJQT1NFLiAgU2VlIHRoZSBHTlUNCisgICBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBm b3IgbW9yZSBkZXRhaWxzLg0KKw0KKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkg b2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMNCisgICBMaWNlbnNlIGFsb25nIHdpdGgg dGhlIEdOVSBDIExpYnJhcnk7IGlmIG5vdCwgc2VlDQorICAgPGh0dHBzOi8vd3d3LmdudS5vcmcv bGljZW5zZXMvPi4gICovDQorDQorLyogVGhpcyB0ZXN0IHRyaWVzIHRvIGVuc3VyZSB0aGF0IGF0 IGxlYXN0IDEyOCBieXRlIHN1cnBsdXMgVExTIGlzDQorICAgYXZhaWxhYmxlIGZvciBkbG9wZW5p bmcgbW9kdWxlcyB3aXRoIGluaXRpYWwtZXhlYyBUTFMuICAqLw0KKw0KKyNpbmNsdWRlIDxlcnJu by5oPg0KKyNpbmNsdWRlIDxwdGhyZWFkLmg+DQorI2luY2x1ZGUgPHN0ZGlvLmg+DQorI2luY2x1 ZGUgPHN0ZGxpYi5oPg0KKyNpbmNsdWRlIDxzdHJpbmcuaD4NCisNCitzdGF0aWMgaW50IGRvX3Rl c3QgKHZvaWQpOw0KKyNpbmNsdWRlIDxzdXBwb3J0L3h0aHJlYWQuaD4NCisjaW5jbHVkZSA8c3Vw cG9ydC94ZGxmY24uaD4NCisjaW5jbHVkZSA8c3VwcG9ydC90ZXN0LWRyaXZlci5jPg0KKw0KKy8q IEhhdmUgc29tZSBiaWcgVExTIGluIHRoZSBtYWluIGV4ZTogc2hvdWxkIG5vdCB1c2Ugc3VycGx1 cyBUTFMuICAqLw0KK19fdGhyZWFkIGNoYXIgbWFpbnRsc1sxMDAwXTsNCisNCitzdGF0aWMgcHRo cmVhZF9iYXJyaWVyX3QgYmFycmllcjsNCisNCisvKiBGb3JjZXMgbXVsdGktdGhyZWFkZWQgYmVo YXZpb3VyLiAgKi8NCitzdGF0aWMgdm9pZCAqDQorYmxvY2tlZF90aHJlYWRfZnVuYyAodm9pZCAq Y2xvc3VyZSkNCit7DQorICB4cHRocmVhZF9iYXJyaWVyX3dhaXQgKCZiYXJyaWVyKTsNCisgIC8q IFRMUyBsb2FkIGFuZCBhY2Nlc3MgdGVzdHMgcnVuIGhlcmUgaW4gdGhlIG1haW4gdGhyZWFkLiAg Ki8NCisgIHhwdGhyZWFkX2JhcnJpZXJfd2FpdCAoJmJhcnJpZXIpOw0KKyAgcmV0dXJuIE5VTEw7 DQorfQ0KKw0KK3N0YXRpYyB2b2lkICoNCitsb2FkX2FuZF9hY2Nlc3MgKGNvbnN0IGNoYXIgKm1v ZCwgY29uc3QgY2hhciAqZnVuYykNCit7DQorICAvKiBMb2FkIG1vZHVsZSB3aXRoIFRMUy4gICov DQorICB2b2lkICpwID0geGRsb3BlbiAobW9kLCBSVExEX05PVyk7DQorICAvKiBBY2Nlc3MgdGhl IFRMUyB2YXJpYWJsZSB0byBlbnN1cmUgaXQgaXMgYWxsb2NhdGVkLiAgKi8NCisgIHZvaWQgKCpm KSAodm9pZCkgPSAodm9pZCAoKikgKHZvaWQpKXhkbHN5bSAocCwgZnVuYyk7DQorICBmICgpOw0K KyAgcmV0dXJuIHA7DQorfQ0KKw0KK3N0YXRpYyBpbnQNCitkb190ZXN0ICh2b2lkKQ0KK3sNCisg IHZvaWQgKm1vZHNbNl07DQorDQorICB7DQorICAgIGludCByZXQgPSBwdGhyZWFkX2JhcnJpZXJf aW5pdCAoJmJhcnJpZXIsIE5VTEwsIDIpOw0KKyAgICBpZiAocmV0ICE9IDApDQorICAgICAgew0K KyAgICAgICAgZXJybm8gPSByZXQ7DQorICAgICAgICBwcmludGYgKCJlcnJvcjogcHRocmVhZF9i YXJyaWVyX2luaXQ6ICVtXG4iKTsNCisgICAgICAgIGV4aXQgKDEpOw0KKyAgICAgIH0NCisgIH0N CisNCisgIHB0aHJlYWRfdCBibG9ja2VkX3RocmVhZCA9IHhwdGhyZWFkX2NyZWF0ZSAoTlVMTCwg YmxvY2tlZF90aHJlYWRfZnVuYywgTlVMTCk7DQorICB4cHRocmVhZF9iYXJyaWVyX3dhaXQgKCZi YXJyaWVyKTsNCisNCisgIHByaW50ZiAoIm1haW50bHNbJXp1XTpcdCAlcCAuLiAlcFxuIiwNCisJ ICAgc2l6ZW9mIG1haW50bHMsIG1haW50bHMsIG1haW50bHMgKyBzaXplb2YgbWFpbnRscyk7DQor ICBtZW1zZXQgKG1haW50bHMsIDEsIHNpemVvZiBtYWludGxzKTsNCisNCisgIC8qIExvYWQgbW9k dWxlcyB3aXRoIGR5bmFtaWMgVExTIChtYXkgdXNlIHN1cnBsdXMgVExTIG9wcG9ydHVuaXN0aWNh bGx5KS4gICovDQorICBtb2RzWzBdID0gbG9hZF9hbmRfYWNjZXNzICgidHN0LXRscy1pZS1tb2Qw LnNvIiwgImFjY2VzczAiKTsNCisgIG1vZHNbMV0gPSBsb2FkX2FuZF9hY2Nlc3MgKCJ0c3QtdGxz LWllLW1vZDEuc28iLCAiYWNjZXNzMSIpOw0KKyAgbW9kc1syXSA9IGxvYWRfYW5kX2FjY2VzcyAo InRzdC10bHMtaWUtbW9kMi5zbyIsICJhY2Nlc3MyIik7DQorICBtb2RzWzNdID0gbG9hZF9hbmRf YWNjZXNzICgidHN0LXRscy1pZS1tb2QzLnNvIiwgImFjY2VzczMiKTsNCisgIC8qIExvYWQgbW9k dWxlcyB3aXRoIGluaXRpYWwtZXhlYyBUTFMgKGNhbiBvbmx5IHVzZSBzdXJwbHVzIFRMUykuICAq Lw0KKyAgbW9kc1s0XSA9IGxvYWRfYW5kX2FjY2VzcyAoInRzdC10bHMtaWUtbW9kNC5zbyIsICJh Y2Nlc3M0Iik7DQorICBtb2RzWzVdID0gbG9hZF9hbmRfYWNjZXNzICgidHN0LXRscy1pZS1tb2Q1 LnNvIiwgImFjY2VzczUiKTsNCisNCisgIHhwdGhyZWFkX2JhcnJpZXJfd2FpdCAoJmJhcnJpZXIp Ow0KKyAgeHB0aHJlYWRfam9pbiAoYmxvY2tlZF90aHJlYWQpOw0KKw0KKyAgLyogQ2xvc2UgdGhl IG1vZHVsZXMuICAqLw0KKyAgZm9yIChpbnQgaSA9IDA7IGkgPCA2OyArK2kpDQorICAgIHhkbGNs b3NlIChtb2RzW2ldKTsNCisNCisgIHJldHVybiAwOw0KK30NCi0tIA0KMi4xNy4xDQoNCg== --_002_44eaccc2f76088c0989ae413e328b051armcom_--