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=-15.0 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,MSGID_FROM_MTA_HEADER,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_SANE_1 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 84A5EC4361B for ; Tue, 15 Dec 2020 04:10:47 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (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 352952246B for ; Tue, 15 Dec 2020 04:10:46 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 352952246B Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=amd.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 433076E054; Tue, 15 Dec 2020 04:10:46 +0000 (UTC) Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2087.outbound.protection.outlook.com [40.107.93.87]) by gabe.freedesktop.org (Postfix) with ESMTPS id A93FF6E054 for ; Tue, 15 Dec 2020 04:10:44 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=B/K94+VORFEOZkmwXzkwt6r8qQ5m3AqYdWMrtA+gWUfVUxWCN7y6uzW+M+LvnGC5uCwhLQybz6qiwYcYwTWY0XovFh1ykWiQoJ7y0nvQQB6PQXMDf27P1EBlHOguC2dVdSyHOnWBZwXH2Ome7hiB4DkyO3dKZj34rp1L2v6zTQogCy627Q0xQCFBUyceVGQuBMSp+MnDZyBX9Gk/qzVY3jGHm8O2058J3/Xg9A8Kp1Dw5p2a2VP8WRaIVxjhhu1G0lSqqwOV+qrzYI6scDcuU5tpfmWtVnM/SFsmzLIMtLXrLNa7k4AUjG3JhmxQu2KgFK+ALbRSnL2mY2KjNFuQiA== 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=BuZn6LfCftn5G4t1qxX4zUkcnkJnnM7sonPkAKWk288=; b=EKKaCHPQkyHvmRftHOqTijuOljxZvyc7OelXQ5XaNR25N57PzCA5BB4p+YFM9VHEBHa8mP0GLTOBdtw1vByhOEAggVmJf6UKXw8JR1tmu5EwVIY4MTzSZiGAyKHkLBOFYsWwiWi98eYhNWa8Gy7ynd8kE2NfbneH3+z79UN0WsWOY8YskJb29W5VqHSf6m8b1FBmfNXnT1VV912wKLIhzB8EbYNBlEPnrybWbyTmVlne+D0BqEGoQpFVygvljyKxWbWY3pTsbLTZgDPtzNYF9OU4b17oKMqFfqAfzotHSH6ifuRMscrnYkxT2Q2bd3bQGZ7bMyuNeO74WtjHVodknw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector2-amdcloud-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=BuZn6LfCftn5G4t1qxX4zUkcnkJnnM7sonPkAKWk288=; b=JgELZi8GGUP15AkLGmAfcmSrMkcybD1FFnGKrLQLgYsIocfbBKNUSdFhEkuvy4JQfQygAkwbiPWU/dFX8QRRnWMZJdjN9A7zMmwgCxmKCwnshaFUD0Mvjz9jxj+n9rqMDysbJQRRLLt6qNlSQqqA1SDI3ZTrlQxpWkxa77pNQG0= Authentication-Results: lists.freedesktop.org; dkim=none (message not signed) header.d=none; lists.freedesktop.org; dmarc=none action=none header.from=amd.com; Received: from BYAPR12MB3126.namprd12.prod.outlook.com (2603:10b6:a03:df::28) by BYAPR12MB2725.namprd12.prod.outlook.com (2603:10b6:a03:6b::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3654.12; Tue, 15 Dec 2020 04:10:39 +0000 Received: from BYAPR12MB3126.namprd12.prod.outlook.com ([fe80::45a1:6d50:60d6:9d68]) by BYAPR12MB3126.namprd12.prod.outlook.com ([fe80::45a1:6d50:60d6:9d68%7]) with mapi id 15.20.3654.025; Tue, 15 Dec 2020 04:10:39 +0000 Subject: Re: [PATCH v3 3/3] drm/amd/display: Skip modeset for front porch change To: dri-devel@lists.freedesktop.org References: <20201214222036.561352-1-aurabindo.pillai@amd.com> <20201214222036.561352-4-aurabindo.pillai@amd.com> From: Shashank Sharma Message-ID: Date: Tue, 15 Dec 2020 09:40:29 +0530 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.5.1 In-Reply-To: <20201214222036.561352-4-aurabindo.pillai@amd.com> Content-Language: en-US X-Originating-IP: [106.51.105.40] X-ClientProxiedBy: MA1PR0101CA0066.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a00:20::28) To BYAPR12MB3126.namprd12.prod.outlook.com (2603:10b6:a03:df::28) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from [192.168.0.113] (106.51.105.40) by MA1PR0101CA0066.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a00:20::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3654.12 via Frontend Transport; Tue, 15 Dec 2020 04:10:38 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 65ab1ac7-e3c1-41ef-6e9c-08d8a0af61c6 X-MS-TrafficTypeDiagnostic: BYAPR12MB2725: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:792; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 4TMIbPWxVTlQxcKQ+IR/Jko+SXUa8Jjcl77bsdsPqXu356U6eWGls9bKrGiBnyHqCBGJCEOfcsgsb8HMIJjIGe2gn8aMekbV9PtbZvRf6kdwAtb5hlFnbP3VVx+0jaNDxWaapZ9Eh/QhhvOTd0lfACFiMUkay99985u+uiAw7wEnXQwDLkxPMcRP+7tFvPFJ4r3KBlL+unEz9uQe/9XTkK1JERXyG37znmgqRVz5qeutHirrLTJv3mlBp/++lXNUOueRtdqIl6jKBraDhLku0atTqU6V0nw7h6nB/iuQUEnRoCohI7BJ6nqQbhOOS3+uL1pdl7GzfwbIhihkgyZiqkvdw6bTyRpFi7PMFQ0irGWZe2AczJW2/dUnOAZz0p+1TrOCkHMTOLqw4/p3erX5UX9cJZjkxY4yC0mvt8lA95qLzSXZw2eSMttBBaR7qe1w X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BYAPR12MB3126.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(346002)(366004)(376002)(136003)(52116002)(6916009)(83380400001)(34490700003)(31686004)(44832011)(508600001)(2616005)(26005)(8936002)(66556008)(66476007)(6486002)(66946007)(16526019)(2906002)(36756003)(956004)(16576012)(66574015)(6666004)(5660300002)(53546011)(30864003)(1006002)(55236004)(31696002)(86362001)(8676002)(186003)(43740500002)(45980500001); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: =?utf-8?B?ODBvSEJhaWcwbTZKeFJ2ekhWbVZoRGVBa214WW5GY09GWmxibjRpbDBHTVBD?= =?utf-8?B?WHZTM0lPb2ZNajljSTdFWnJ5ZnFhU1VHRXIzNFBSc3RyaFpuWDE0ZDBST1Nq?= =?utf-8?B?M0IreWEvZXRhZm03RjlQM3JKL1NUa0dRMFk4Mjc4TW9MZW1aZzRxNG1FdUVW?= =?utf-8?B?TjVnVm0vZDBRK0FqV1Q2dkZGUnZRSTRjdHRHamlMYnI2dkF5Y2Q3NzlCMTdu?= =?utf-8?B?YlRJVHhTZ09nbHkvZ1VQTnpFdlluMkRhVVV6ODVhZlZxYjk4WG5UcnkramFv?= =?utf-8?B?NlcxRHE4R1VLT1lXYU1OZ28zYnMxM0pNcWhBc2s1dllFSXphZ0xMQ0tUMFBq?= =?utf-8?B?N0pzbWtmSEY1Wktlek1qNGdkUXlEL09ISUJ6MjFDUUIvODJRWHNyZHpXd2tB?= =?utf-8?B?QjNoOHl0RGJ5aE5iN0dvV2hPTE9QbzErUmdIVHpKUjJBL1JDbGc5SEx1SHNp?= =?utf-8?B?UGJZbGRCd29jclFtbmxhYm1ZL3E0cUNDQStMdG1tMy9RM3hJRnNJd3o5Y1ZP?= =?utf-8?B?SVJwdkJ1Y1VOSWlqcHE0cVVoSUhxRGQ0T0pCa2hwaEZjckpaUUFOdENRaEFr?= =?utf-8?B?YWdVU2ljbCttV2lSTVVHQi9qY2MwZk9UMUc1RE9qMzk4UEFrdWUxcEdkWGdK?= =?utf-8?B?SldzYmZySWYvQkZIUWhaTEFqQUg1dVF1YkhMT242WWduaXY3U3A3aUFHSnZD?= =?utf-8?B?NzdjSmpaOENtdjRWK3dTNjQ0enRBTVhxZ3g2dFM0bmRXeDJDZGFpamZnbmZY?= =?utf-8?B?L0xScFFuTng0Z3l4Wkl6ZW5vUVJsL1pvaFR3ZkhPMUF1RytQVG5mTlpicnI0?= =?utf-8?B?UmxkYWpzSDJmWVYrc3ZFYTRuL3pUS2tuRzBtbnc3alU1MlN1MlNEYlFFdnNm?= =?utf-8?B?dUhLQ1VJMUQ2VHJ2V3d4dHFSWDVaUkpHTWFNaHVvLytvVndqRTA5VnBZdzJp?= =?utf-8?B?b2NOaDJya2tsQ2hwYUxVQUhRUnQwenBZRmZnL3pGQnZwcmJLNTl6cVJpMnY3?= =?utf-8?B?alZIRVlQZGgxWXBKTGlXb3lwRWFLVkpzOHZ1U2pUQyswU253QTNPNzF4a0o5?= =?utf-8?B?U2ZmSWpqYlRHOWt3V3VrMmpDZm56d2srVTByVVdqUHJQaFJ6Y2pJTVJPZ2hr?= =?utf-8?B?Ni92djIySThjQTVNK1ZsRXNIT0tYb0tFTW1adEFQZGFWOThrdXk0Y0paeU91?= =?utf-8?B?OWc0QWRFU2VROHgzNE9UN1c4NE02RUNqc0EyaENkYkxHSmJySG9vSXlBd2pI?= =?utf-8?B?WGwvKy9OOURQQzN5V01hT3E3L3B6T0tRMXJjbVVNL1FDTmJweFp5VUZ5dGdo?= =?utf-8?Q?Yts8uRE84ohWnCaHTDWw8wLXWojiJNHyRF?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-AuthSource: BYAPR12MB3126.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Dec 2020 04:10:39.2151 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-Network-Message-Id: 65ab1ac7-e3c1-41ef-6e9c-08d8a0af61c6 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: jGqT+d14As0Kdm/kgwCkzBH6NgWEcF4ahu81jcv9whfB3zub3VxYSvSGNRRDtjoTr4rKj1MlGGcqTjoGk08k2A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR12MB2725 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Ck9uIDE1LzEyLzIwIDM6NTAgYW0sIEF1cmFiaW5kbyBQaWxsYWkgd3JvdGU6Cj4gW1doeSZIb3dd Cj4gSW5vcmRlciB0byBlbmFibGUgZnJlZXN5bmMgdmlkZW8gbW9kZSwgZHJpdmVyIGFkZHMgZXh0 cmEKPiBtb2RlcyBiYXNlZCBvbiBwcmVmZXJyZWQgbW9kZXMgZm9yIGNvbW1vbiBmcmVlc3luYyBm cmFtZSByYXRlcy4KPiBXaGVuIGNvbW1pdGluZyB0aGVzZSBtb2RlIGNoYW5nZXMsIGEgZnVsbCBt b2Rlc2V0IGlzIG5vdCBuZWVkZWQuCj4gSWYgdGhlIGNoYW5nZSBpbiBvbmx5IGluIHRoZSBmcm9u dCBwb3JjaCB0aW1pbmcgdmFsdWUsIHNraXAgZnVsbAo+IG1vZGVzZXQgYW5kIGNvbnRpbnVlIHVz aW5nIHRoZSBzYW1lIHN0cmVhbS4KPgo+IFNpZ25lZC1vZmYtYnk6IEF1cmFiaW5kbyBQaWxsYWkg PGF1cmFiaW5kby5waWxsYWlAYW1kLmNvbT4KPiBBY2tlZC1ieTogQ2hyaXN0aWFuIEvDtm5pZyA8 Y2hyaXN0aWFuLmtvZW5pZyBhdCBhbWQuY29tPgo+IC0tLQo+ICAuLi4vZ3B1L2RybS9hbWQvZGlz cGxheS9hbWRncHVfZG0vYW1kZ3B1X2RtLmMgfCAyMTAgKysrKysrKysrKysrKysrLS0tCj4gIC4u Li9ncHUvZHJtL2FtZC9kaXNwbGF5L2FtZGdwdV9kbS9hbWRncHVfZG0uaCB8ICAgMSArCj4gIDIg ZmlsZXMgY2hhbmdlZCwgMTc5IGluc2VydGlvbnMoKyksIDMyIGRlbGV0aW9ucygtKQo+Cj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2Rt LmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvYW1kZ3B1X2RtL2FtZGdwdV9kbS5jCj4g aW5kZXggYzFmZmQzM2U5ZDgzLi40YmE2YmU1OWRjZDUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2FtZC9kaXNwbGF5L2FtZGdwdV9kbS9hbWRncHVfZG0uYwo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9hbWQvZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2RtLmMKPiBAQCAtMjEzLDYgKzIx Myw5IEBAIHN0YXRpYyBib29sIGFtZGdwdV9kbV9wc3JfZGlzYWJsZV9hbGwoc3RydWN0IGFtZGdw dV9kaXNwbGF5X21hbmFnZXIgKmRtKTsKPiAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fZm9ybWF0 X2luZm8gKgo+ICBhbWRfZ2V0X2Zvcm1hdF9pbmZvKGNvbnN0IHN0cnVjdCBkcm1fbW9kZV9mYl9j bWQyICpjbWQpOwo+ICAKPiArc3RhdGljIGJvb2wKPiAraXNfdGltaW5nX3VuY2hhbmdlZF9mb3Jf ZnJlZXN5bmMoc3RydWN0IGRybV9jcnRjX3N0YXRlICpvbGRfY3J0Y19zdGF0ZSwKPiArCQkJCSBz dHJ1Y3QgZHJtX2NydGNfc3RhdGUgKm5ld19jcnRjX3N0YXRlKTsKRG8gd2UgbmVlZCB0aGlzIGZv cndhcmQgZGVjbGFyYXRpb24gZm9yIGEgc3RhdGljIGZ1bmN0aW9uID8KPiAgLyoKPiAgICogZG1f dmJsYW5rX2dldF9jb3VudGVyCj4gICAqCj4gQEAgLTQ5NDAsNyArNDk0Myw4IEBAIHN0YXRpYyB2 b2lkIGZpbGxfc3RyZWFtX3Byb3BlcnRpZXNfZnJvbV9kcm1fZGlzcGxheV9tb2RlKAo+ICAJY29u c3Qgc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiAgCWNvbnN0IHN0cnVjdCBkcm1f Y29ubmVjdG9yX3N0YXRlICpjb25uZWN0b3Jfc3RhdGUsCj4gIAljb25zdCBzdHJ1Y3QgZGNfc3Ry ZWFtX3N0YXRlICpvbGRfc3RyZWFtLAo+IC0JaW50IHJlcXVlc3RlZF9icGMpCj4gKwlpbnQgcmVx dWVzdGVkX2JwYywKPiArCWJvb2wgaXNfaW5fbW9kZXNldCkKPiAgewo+ICAJc3RydWN0IGRjX2Ny dGNfdGltaW5nICp0aW1pbmdfb3V0ID0gJnN0cmVhbS0+dGltaW5nOwo+ICAJY29uc3Qgc3RydWN0 IGRybV9kaXNwbGF5X2luZm8gKmluZm8gPSAmY29ubmVjdG9yLT5kaXNwbGF5X2luZm87Cj4gQEAg LTQ5OTUsMTkgKzQ5OTksMjggQEAgc3RhdGljIHZvaWQgZmlsbF9zdHJlYW1fcHJvcGVydGllc19m cm9tX2RybV9kaXNwbGF5X21vZGUoCj4gIAkJdGltaW5nX291dC0+aGRtaV92aWMgPSBodl9mcmFt ZS52aWM7Cj4gIAl9Cj4gIAo+IC0JdGltaW5nX291dC0+aF9hZGRyZXNzYWJsZSA9IG1vZGVfaW4t PmNydGNfaGRpc3BsYXk7Cj4gLQl0aW1pbmdfb3V0LT5oX3RvdGFsID0gbW9kZV9pbi0+Y3J0Y19o dG90YWw7Cj4gLQl0aW1pbmdfb3V0LT5oX3N5bmNfd2lkdGggPQo+IC0JCW1vZGVfaW4tPmNydGNf aHN5bmNfZW5kIC0gbW9kZV9pbi0+Y3J0Y19oc3luY19zdGFydDsKPiAtCXRpbWluZ19vdXQtPmhf ZnJvbnRfcG9yY2ggPQo+IC0JCW1vZGVfaW4tPmNydGNfaHN5bmNfc3RhcnQgLSBtb2RlX2luLT5j cnRjX2hkaXNwbGF5Owo+IC0JdGltaW5nX291dC0+dl90b3RhbCA9IG1vZGVfaW4tPmNydGNfdnRv dGFsOwo+IC0JdGltaW5nX291dC0+dl9hZGRyZXNzYWJsZSA9IG1vZGVfaW4tPmNydGNfdmRpc3Bs YXk7Cj4gLQl0aW1pbmdfb3V0LT52X2Zyb250X3BvcmNoID0KPiAtCQltb2RlX2luLT5jcnRjX3Zz eW5jX3N0YXJ0IC0gbW9kZV9pbi0+Y3J0Y192ZGlzcGxheTsKPiAtCXRpbWluZ19vdXQtPnZfc3lu Y193aWR0aCA9Cj4gLQkJbW9kZV9pbi0+Y3J0Y192c3luY19lbmQgLSBtb2RlX2luLT5jcnRjX3Zz eW5jX3N0YXJ0Owo+IC0JdGltaW5nX291dC0+cGl4X2Nsa18xMDBoeiA9IG1vZGVfaW4tPmNydGNf Y2xvY2sgKiAxMDsKPiArCWlmIChpc19pbl9tb2Rlc2V0KSB7Cj4gKwkJdGltaW5nX291dC0+aF9h ZGRyZXNzYWJsZSA9IG1vZGVfaW4tPmhkaXNwbGF5Owo+ICsJCXRpbWluZ19vdXQtPmhfdG90YWwg PSBtb2RlX2luLT5odG90YWw7Cj4gKwkJdGltaW5nX291dC0+aF9zeW5jX3dpZHRoID0gbW9kZV9p bi0+aHN5bmNfZW5kIC0gbW9kZV9pbi0+aHN5bmNfc3RhcnQ7Cj4gKwkJdGltaW5nX291dC0+aF9m cm9udF9wb3JjaCA9IG1vZGVfaW4tPmhzeW5jX3N0YXJ0IC0gbW9kZV9pbi0+aGRpc3BsYXk7Cj4g KwkJdGltaW5nX291dC0+dl90b3RhbCA9IG1vZGVfaW4tPnZ0b3RhbDsKPiArCQl0aW1pbmdfb3V0 LT52X2FkZHJlc3NhYmxlID0gbW9kZV9pbi0+dmRpc3BsYXk7Cj4gKwkJdGltaW5nX291dC0+dl9m cm9udF9wb3JjaCA9IG1vZGVfaW4tPnZzeW5jX3N0YXJ0IC0gbW9kZV9pbi0+dmRpc3BsYXk7Cj4g KwkJdGltaW5nX291dC0+dl9zeW5jX3dpZHRoID0gbW9kZV9pbi0+dnN5bmNfZW5kIC0gbW9kZV9p bi0+dnN5bmNfc3RhcnQ7Cj4gKwkJdGltaW5nX291dC0+cGl4X2Nsa18xMDBoeiA9IG1vZGVfaW4t PmNsb2NrICogMTA7Cj4gKwl9IGVsc2Ugewo+ICsJCXRpbWluZ19vdXQtPmhfYWRkcmVzc2FibGUg PSBtb2RlX2luLT5jcnRjX2hkaXNwbGF5Owo+ICsJCXRpbWluZ19vdXQtPmhfdG90YWwgPSBtb2Rl X2luLT5jcnRjX2h0b3RhbDsKPiArCQl0aW1pbmdfb3V0LT5oX3N5bmNfd2lkdGggPSBtb2RlX2lu LT5jcnRjX2hzeW5jX2VuZCAtIG1vZGVfaW4tPmNydGNfaHN5bmNfc3RhcnQ7Cj4gKwkJdGltaW5n X291dC0+aF9mcm9udF9wb3JjaCA9IG1vZGVfaW4tPmNydGNfaHN5bmNfc3RhcnQgLSBtb2RlX2lu LT5jcnRjX2hkaXNwbGF5Owo+ICsJCXRpbWluZ19vdXQtPnZfdG90YWwgPSBtb2RlX2luLT5jcnRj X3Z0b3RhbDsKPiArCQl0aW1pbmdfb3V0LT52X2FkZHJlc3NhYmxlID0gbW9kZV9pbi0+Y3J0Y192 ZGlzcGxheTsKPiArCQl0aW1pbmdfb3V0LT52X2Zyb250X3BvcmNoID0gbW9kZV9pbi0+Y3J0Y192 c3luY19zdGFydCAtIG1vZGVfaW4tPmNydGNfdmRpc3BsYXk7Cj4gKwkJdGltaW5nX291dC0+dl9z eW5jX3dpZHRoID0gbW9kZV9pbi0+Y3J0Y192c3luY19lbmQgLSBtb2RlX2luLT5jcnRjX3ZzeW5j X3N0YXJ0Owo+ICsJCXRpbWluZ19vdXQtPnBpeF9jbGtfMTAwaHogPSBtb2RlX2luLT5jcnRjX2Ns b2NrICogMTA7Cj4gKwl9Cj4gKwo+ICAJdGltaW5nX291dC0+YXNwZWN0X3JhdGlvID0gZ2V0X2Fz cGVjdF9yYXRpbyhtb2RlX2luKTsKPiAgCj4gIAlzdHJlYW0tPm91dHB1dF9jb2xvcl9zcGFjZSA9 IGdldF9vdXRwdXRfY29sb3Jfc3BhY2UodGltaW5nX291dCk7Cj4gQEAgLTUyMjcsNiArNTI0MCwy NCBAQCBnZXRfaGlnaGVzdF9yZWZyZXNoX3JhdGVfbW9kZShzdHJ1Y3QgYW1kZ3B1X2RtX2Nvbm5l Y3RvciAqYWNvbm5lY3RvciwKPiAgCXJldHVybiBtX3ByZWY7Cj4gIH0KPiAgCj4gK3N0YXRpYyBi b29sIGlzX2ZyZWVzeW5jX3ZpZGVvX21vZGUoc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUs Cj4gKwkJCQkgICBzdHJ1Y3QgYW1kZ3B1X2RtX2Nvbm5lY3RvciAqYWNvbm5lY3RvcikKPiArewo+ ICsJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmhpZ2hfbW9kZTsKPiArCj4gKwloaWdoX21vZGUg PSBnZXRfaGlnaGVzdF9yZWZyZXNoX3JhdGVfbW9kZShhY29ubmVjdG9yLCBmYWxzZSk7Cj4gKwlp ZiAoIWhpZ2hfbW9kZSB8fCAhbW9kZSkKPiArCQlyZXR1cm4gZmFsc2U7Cj4gKwo+ICsJaWYgKGhp Z2hfbW9kZS0+Y2xvY2sgPT0gMCB8fAo+ICsJICAgIGhpZ2hfbW9kZS0+aGRpc3BsYXkgIT0gbW9k ZS0+aGRpc3BsYXkgfHwKPiArCSAgICBoaWdoX21vZGUtPnZkaXNwbGF5ICE9IG1vZGUtPnZkaXNw bGF5IHx8Cj4gKwkgICAgaGlnaF9tb2RlLT5jbG9jayAhPSBtb2RlLT5jbG9jaykKPiArCQlyZXR1 cm4gZmFsc2U7Cj4gKwllbHNlCj4gKwkJcmV0dXJuIHRydWU7Cj4gK30KPiArCj4gIHN0YXRpYyBz dHJ1Y3QgZGNfc3RyZWFtX3N0YXRlICoKPiAgY3JlYXRlX3N0cmVhbV9mb3Jfc2luayhzdHJ1Y3Qg YW1kZ3B1X2RtX2Nvbm5lY3RvciAqYWNvbm5lY3RvciwKPiAgCQkgICAgICAgY29uc3Qgc3RydWN0 IGRybV9kaXNwbGF5X21vZGUgKmRybV9tb2RlLAo+IEBAIC01MjQwLDE1ICs1MjcxLDIxIEBAIGNy ZWF0ZV9zdHJlYW1fZm9yX3Npbmsoc3RydWN0IGFtZGdwdV9kbV9jb25uZWN0b3IgKmFjb25uZWN0 b3IsCj4gIAkJZG1fc3RhdGUgPyAmZG1fc3RhdGUtPmJhc2UgOiBOVUxMOwo+ICAJc3RydWN0IGRj X3N0cmVhbV9zdGF0ZSAqc3RyZWFtID0gTlVMTDsKPiAgCXN0cnVjdCBkcm1fZGlzcGxheV9tb2Rl IG1vZGUgPSAqZHJtX21vZGU7Cj4gKwlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSBzYXZlZF9tb2Rl Owo+ICsJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmZyZWVzeW5jX21vZGUgPSBOVUxMOwo+ICAJ Ym9vbCBuYXRpdmVfbW9kZV9mb3VuZCA9IGZhbHNlOwo+ICAJYm9vbCBzY2FsZSA9IGRtX3N0YXRl ID8gKGRtX3N0YXRlLT5zY2FsaW5nICE9IFJNWF9PRkYpIDogZmFsc2U7Cj4gIAlpbnQgbW9kZV9y ZWZyZXNoOwo+ICAJaW50IHByZWZlcnJlZF9yZWZyZXNoID0gMDsKPiArCWJvb2wgaXNfZnNfdmlk X21vZGUgPSAwOwo+ICAjaWYgZGVmaW5lZChDT05GSUdfRFJNX0FNRF9EQ19EQ04pCj4gIAlzdHJ1 Y3QgZHNjX2RlY19kcGNkX2NhcHMgZHNjX2NhcHM7Cj4gIAl1aW50MzJfdCBsaW5rX2JhbmR3aWR0 aF9rYnBzOwo+ICAjZW5kaWYKPiAgCXN0cnVjdCBkY19zaW5rICpzaW5rID0gTlVMTDsKPiArCj4g KwltZW1zZXQoJnNhdmVkX21vZGUsIDAsIHNpemVvZihzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSkp Owo+ICsKPiAgCWlmIChhY29ubmVjdG9yID09IE5VTEwpIHsKPiAgCQlEUk1fRVJST1IoImFjb25u ZWN0b3IgaXMgTlVMTCFcbiIpOwo+ICAJCXJldHVybiBzdHJlYW07Cj4gQEAgLTUzMDEsMjUgKzUz MzgsMzkgQEAgY3JlYXRlX3N0cmVhbV9mb3Jfc2luayhzdHJ1Y3QgYW1kZ3B1X2RtX2Nvbm5lY3Rv ciAqYWNvbm5lY3RvciwKPiAgCQkgKi8KPiAgCQlEUk1fREVCVUdfRFJJVkVSKCJObyBwcmVmZXJy ZWQgbW9kZSBmb3VuZFxuIik7Cj4gIAl9IGVsc2Ugewo+IC0JCWRlY2lkZV9jcnRjX3RpbWluZ19m b3JfZHJtX2Rpc3BsYXlfbW9kZSgKPiArCQlpc19mc192aWRfbW9kZSA9IGlzX2ZyZWVzeW5jX3Zp ZGVvX21vZGUoJm1vZGUsIGFjb25uZWN0b3IpOwo+ICsJCWlmIChpc19mc192aWRfbW9kZSkgewo+ ICsJCQlmcmVlc3luY19tb2RlID0gZ2V0X2hpZ2hlc3RfcmVmcmVzaF9yYXRlX21vZGUoYWNvbm5l Y3RvciwgZmFsc2UpOwo+ICsJCQlzYXZlZF9tb2RlID0gbW9kZTsKPiArCQkJbW9kZSA9ICpmcmVl c3luY19tb2RlOwo+ICsJCX0KPiArCj4gKwkJaWYgKCFpc19mc192aWRfbW9kZSkKVGhpcyBzaG91 bGQgZ28gYXMgZWxzZSB7fSBjYXNlIGZvciBhYm92ZSBpZigpIGluc3RlYWQgb2YgYSBuZXcgY2hl Y2sKPiArCQkJZGVjaWRlX2NydGNfdGltaW5nX2Zvcl9kcm1fZGlzcGxheV9tb2RlKAo+ICAJCQkJ Jm1vZGUsIHByZWZlcnJlZF9tb2RlLAo+ICAJCQkJZG1fc3RhdGUgPyAoZG1fc3RhdGUtPnNjYWxp bmcgIT0gUk1YX09GRikgOiBmYWxzZSk7Cj4gKwo+ICAJCXByZWZlcnJlZF9yZWZyZXNoID0gZHJt X21vZGVfdnJlZnJlc2gocHJlZmVycmVkX21vZGUpOwo+ICAJfQo+ICAKPiAgCWlmICghZG1fc3Rh dGUpCj4gIAkJZHJtX21vZGVfc2V0X2NydGNpbmZvKCZtb2RlLCAwKTsKPiAgCj4gLQkvKgo+ICsJ aWYgKGRtX3N0YXRlICYmIGlzX2ZzX3ZpZF9tb2RlKQo+ICsJCWRybV9tb2RlX3NldF9jcnRjaW5m bygmc2F2ZWRfbW9kZSwgMCk7CldoeSBpcyB0aGlzIHN0ZXAgcmVxdWlyZWQgPwo+ICsKPiArICAg ICAgIC8qCj4gIAkqIElmIHNjYWxpbmcgaXMgZW5hYmxlZCBhbmQgcmVmcmVzaCByYXRlIGRpZG4n dCBjaGFuZ2UKPiAgCSogd2UgY29weSB0aGUgdmljIGFuZCBwb2xhcml0aWVzIG9mIHRoZSBvbGQg dGltaW5ncwo+ICAJKi8KPiAtCWlmICghc2NhbGUgfHwgbW9kZV9yZWZyZXNoICE9IHByZWZlcnJl ZF9yZWZyZXNoKQo+IC0JCWZpbGxfc3RyZWFtX3Byb3BlcnRpZXNfZnJvbV9kcm1fZGlzcGxheV9t b2RlKHN0cmVhbSwKPiAtCQkJJm1vZGUsICZhY29ubmVjdG9yLT5iYXNlLCBjb25fc3RhdGUsIE5V TEwsIHJlcXVlc3RlZF9icGMpOwo+ICsJaWYgKCEoc2NhbGUgJiYgaXNfZnNfdmlkX21vZGUpIHx8 IG1vZGVfcmVmcmVzaCAhPSBwcmVmZXJyZWRfcmVmcmVzaCkKPiArCQlmaWxsX3N0cmVhbV9wcm9w ZXJ0aWVzX2Zyb21fZHJtX2Rpc3BsYXlfbW9kZSgKPiArCQkJc3RyZWFtLCAmbW9kZSwgJmFjb25u ZWN0b3ItPmJhc2UsIGNvbl9zdGF0ZSwgTlVMTCwKPiArCQkJcmVxdWVzdGVkX2JwYywgZG1fc3Rh dGUgPyAxIDogMCk7Cj4gIAllbHNlCj4gLQkJZmlsbF9zdHJlYW1fcHJvcGVydGllc19mcm9tX2Ry bV9kaXNwbGF5X21vZGUoc3RyZWFtLAo+IC0JCQkmbW9kZSwgJmFjb25uZWN0b3ItPmJhc2UsIGNv bl9zdGF0ZSwgb2xkX3N0cmVhbSwgcmVxdWVzdGVkX2JwYyk7Cj4gKwkJZmlsbF9zdHJlYW1fcHJv cGVydGllc19mcm9tX2RybV9kaXNwbGF5X21vZGUoCj4gKwkJCXN0cmVhbSwgJm1vZGUsICZhY29u bmVjdG9yLT5iYXNlLCBjb25fc3RhdGUsIG9sZF9zdHJlYW0sCj4gKwkJCXJlcXVlc3RlZF9icGMs IGRtX3N0YXRlID8gMSA6IDApOwo+ICAKPiAgCXN0cmVhbS0+dGltaW5nLmZsYWdzLkRTQyA9IDA7 Cj4gIAo+IEBAIC03ODQ0LDEzICs3ODk1LDI5IEBAIHN0YXRpYyB2b2lkIHVwZGF0ZV9zdHJlYW1f aXJxX3BhcmFtZXRlcnMoCj4gIAlpZiAobmV3X2NydGNfc3RhdGUtPnZycl9zdXBwb3J0ZWQgJiYK PiAgCSAgICBjb25maWcubWluX3JlZnJlc2hfaW5fdWh6ICYmCj4gIAkgICAgY29uZmlnLm1heF9y ZWZyZXNoX2luX3Voeikgewo+ICsJCS8qCj4gKwkJICogaWYgZnJlZXN5bmMgY29tcGF0aWJsZSBt b2RlIHdhcyBzZXQsIGNvbmZpZy5zdGF0ZSB3aWxsIGJlIHNldAo+ICsJCSAqIGluIGF0b21pYyBj aGVjawo+ICsJCSAqLwo+ICsJCWlmIChjb25maWcuc3RhdGUgPT0gVlJSX1NUQVRFX0FDVElWRV9G SVhFRCAmJgo+ICsJCSAgICBjb25maWcuZml4ZWRfcmVmcmVzaF9pbl91aHogJiYgY29uZmlnLm1h eF9yZWZyZXNoX2luX3VoeiAmJgo+ICsJCSAgICBjb25maWcubWluX3JlZnJlc2hfaW5fdWh6ICYm Cj4gKwkJICAgICghZHJtX2F0b21pY19jcnRjX25lZWRzX21vZGVzZXQoJm5ld19jcnRjX3N0YXRl LT5iYXNlKSB8fAo+ICsJCSAgICAgbmV3X2NydGNfc3RhdGUtPmZyZWVzeW5jX3ZpZGVvX21vZGUp KSB7Cj4gKwkJCXZycl9wYXJhbXMubWF4X3JlZnJlc2hfaW5fdWh6ID0gY29uZmlnLm1heF9yZWZy ZXNoX2luX3VoejsKPiArCQkJdnJyX3BhcmFtcy5taW5fcmVmcmVzaF9pbl91aHogPSBjb25maWcu bWluX3JlZnJlc2hfaW5fdWh6Owo+ICsJCQl2cnJfcGFyYW1zLmZpeGVkX3JlZnJlc2hfaW5fdWh6 ID0gY29uZmlnLmZpeGVkX3JlZnJlc2hfaW5fdWh6Owo+ICsJCQl2cnJfcGFyYW1zLnN0YXRlID0g VlJSX1NUQVRFX0FDVElWRV9GSVhFRDsKPiArCQkJZ290byBvdXQ7Cj4gKwkJfQo+ICsKPiAgCQlj b25maWcuc3RhdGUgPSBuZXdfY3J0Y19zdGF0ZS0+YmFzZS52cnJfZW5hYmxlZCA/Cj4gIAkJCVZS Ul9TVEFURV9BQ1RJVkVfVkFSSUFCTEUgOgo+ICAJCQlWUlJfU1RBVEVfSU5BQ1RJVkU7Cj4gLQl9 IGVsc2Ugewo+ICsJfSBlbHNlCmNvbnZlbnRpb25hbGx5LCBpZiBhIGlmKCkgY29uZGl0aW9uIGhh cyB7fSwgaXRzIGVsc2UgY29uZGl0aW9uIHNob3VsZCBhbHNvIGhhdmUge30sIGV2ZW4gaWYgaXQn cyBhIHNpbmdsZSBzdGF0ZW1lbnQuIFNvIHlvdSBjYW4gc2tpcCB0aGlzIGNoYW5nZS4KPiAgCQlj b25maWcuc3RhdGUgPSBWUlJfU1RBVEVfVU5TVVBQT1JURUQ7Cj4gLQl9Cj4gIAo+ICtvdXQ6Cj4g IAltb2RfZnJlZXN5bmNfYnVpbGRfdnJyX3BhcmFtcyhkbS0+ZnJlZXN5bmNfbW9kdWxlLAo+ICAJ CQkJICAgICAgbmV3X3N0cmVhbSwKPiAgCQkJCSAgICAgICZjb25maWcsICZ2cnJfcGFyYW1zKTsK PiBAQCAtODE2OCw3ICs4MjM1LDkgQEAgc3RhdGljIHZvaWQgYW1kZ3B1X2RtX2NvbW1pdF9wbGFu ZXMoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlLAo+ICAJCSAqIGFzIHBhcnQgb2YgY29t bWl0Lgo+ICAJCSAqLwo+ICAJCWlmIChhbWRncHVfZG1fdnJyX2FjdGl2ZShkbV9vbGRfY3J0Y19z dGF0ZSkgIT0KPiAtCQkgICAgYW1kZ3B1X2RtX3Zycl9hY3RpdmUoYWNydGNfc3RhdGUpKSB7Cj4g KwkJICAgIGFtZGdwdV9kbV92cnJfYWN0aXZlKGFjcnRjX3N0YXRlKSB8fAo+ICsJCSAgICBhY3J0 Y19zdGF0ZS0+ZnJlZXN5bmNfY29uZmlnLnN0YXRlID09IFZSUl9TVEFURV9BQ1RJVkVfRklYRUQg fHwKPiArCQkgICAgYWNydGNfc3RhdGUtPmZyZWVzeW5jX3ZpZGVvX21vZGUpIHsKPiAgCQkJc3Bp bl9sb2NrX2lycXNhdmUoJnBjcnRjLT5kZXYtPmV2ZW50X2xvY2ssIGZsYWdzKTsKPiAgCQkJZGNf c3RyZWFtX2FkanVzdF92bWluX3ZtYXgoCj4gIAkJCQlkbS0+ZGMsIGFjcnRjX3N0YXRlLT5zdHJl YW0sCj4gQEAgLTg4NjQsNiArODkzMyw3IEBAIHN0YXRpYyB2b2lkIGdldF9mcmVlc3luY19jb25m aWdfZm9yX2NydGMoCj4gIAkJCXRvX2FtZGdwdV9kbV9jb25uZWN0b3IobmV3X2Nvbl9zdGF0ZS0+ YmFzZS5jb25uZWN0b3IpOwo+ICAJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUgPSAmbmV3 X2NydGNfc3RhdGUtPmJhc2UubW9kZTsKPiAgCWludCB2cmVmcmVzaCA9IGRybV9tb2RlX3ZyZWZy ZXNoKG1vZGUpOwo+ICsJYm9vbCBmc192aWRfbW9kZSA9IGZhbHNlOwo+ICAKPiAgCW5ld19jcnRj X3N0YXRlLT52cnJfc3VwcG9ydGVkID0gbmV3X2Nvbl9zdGF0ZS0+ZnJlZXN5bmNfY2FwYWJsZSAm Jgo+ICAJCQkJCXZyZWZyZXNoID49IGFjb25uZWN0b3ItPm1pbl92ZnJlcSAmJgo+IEBAIC04ODcx LDE3ICs4OTQxLDI2IEBAIHN0YXRpYyB2b2lkIGdldF9mcmVlc3luY19jb25maWdfZm9yX2NydGMo Cj4gIAo+ICAJaWYgKG5ld19jcnRjX3N0YXRlLT52cnJfc3VwcG9ydGVkKSB7Cj4gIAkJbmV3X2Ny dGNfc3RhdGUtPnN0cmVhbS0+aWdub3JlX21zYV90aW1pbmdfcGFyYW0gPSB0cnVlOwo+IC0JCWNv bmZpZy5zdGF0ZSA9IG5ld19jcnRjX3N0YXRlLT5iYXNlLnZycl9lbmFibGVkID8KPiAtCQkJCVZS Ul9TVEFURV9BQ1RJVkVfVkFSSUFCTEUgOgo+IC0JCQkJVlJSX1NUQVRFX0lOQUNUSVZFOwo+IC0J CWNvbmZpZy5taW5fcmVmcmVzaF9pbl91aHogPQo+IC0JCQkJYWNvbm5lY3Rvci0+bWluX3ZmcmVx ICogMTAwMDAwMDsKPiAtCQljb25maWcubWF4X3JlZnJlc2hfaW5fdWh6ID0KPiAtCQkJCWFjb25u ZWN0b3ItPm1heF92ZnJlcSAqIDEwMDAwMDA7Cj4gKwkJZnNfdmlkX21vZGUgPSBuZXdfY3J0Y19z dGF0ZS0+ZnJlZXN5bmNfY29uZmlnLnN0YXRlID09IFZSUl9TVEFURV9BQ1RJVkVfRklYRUQgfHwK PiArCQkJbmV3X2NydGNfc3RhdGUtPmZyZWVzeW5jX3ZpZGVvX21vZGU7Cj4gKwo+ICsJCWNvbmZp Zy5taW5fcmVmcmVzaF9pbl91aHogPSBhY29ubmVjdG9yLT5taW5fdmZyZXEgKiAxMDAwMDAwOwo+ ICsJCWNvbmZpZy5tYXhfcmVmcmVzaF9pbl91aHogPSBhY29ubmVjdG9yLT5tYXhfdmZyZXEgKiAx MDAwMDAwOwo+ICAJCWNvbmZpZy52c2lmX3N1cHBvcnRlZCA9IHRydWU7Cj4gIAkJY29uZmlnLmJ0 ciA9IHRydWU7Cj4gLQl9Cj4gIAo+ICsJCWlmIChmc192aWRfbW9kZSkgewo+ICsJCQljb25maWcu c3RhdGUgPSBWUlJfU1RBVEVfQUNUSVZFX0ZJWEVEOwo+ICsJCQljb25maWcuZml4ZWRfcmVmcmVz aF9pbl91aHogPSBuZXdfY3J0Y19zdGF0ZS0+ZnJlZXN5bmNfY29uZmlnLmZpeGVkX3JlZnJlc2hf aW5fdWh6Owo+ICsJCQlnb3RvIG91dDsKPiArCQl9Cj4gKwkJZWxzZSBpZiAobmV3X2NydGNfc3Rh dGUtPmJhc2UudnJyX2VuYWJsZWQgJiYgIWZzX3ZpZF9tb2RlKQo+ICsJCQljb25maWcuc3RhdGUg PSBWUlJfU1RBVEVfQUNUSVZFX1ZBUklBQkxFOwo+ICsJCWVsc2UKPiArCQkJY29uZmlnLnN0YXRl ID0gVlJSX1NUQVRFX0lOQUNUSVZFOwo+ICsKPiArCX0KPiArb3V0Ogo+ICAJbmV3X2NydGNfc3Rh dGUtPmZyZWVzeW5jX2NvbmZpZyA9IGNvbmZpZzsKPiAgfQo+ICAKPiBAQCAtODg5NCw2ICs4OTcz LDUxIEBAIHN0YXRpYyB2b2lkIHJlc2V0X2ZyZWVzeW5jX2NvbmZpZ19mb3JfY3J0YygKPiAgCSAg ICAgICBzaXplb2YobmV3X2NydGNfc3RhdGUtPnZycl9pbmZvcGFja2V0KSk7Cj4gIH0KPiAgCj4g K3N0YXRpYyBib29sCj4gK2lzX3RpbWluZ191bmNoYW5nZWRfZm9yX2ZyZWVzeW5jKHN0cnVjdCBk cm1fY3J0Y19zdGF0ZSAqb2xkX2NydGNfc3RhdGUsCj4gKwkJCQkgc3RydWN0IGRybV9jcnRjX3N0 YXRlICpuZXdfY3J0Y19zdGF0ZSkKPiArewo+ICsJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgb2xk X21vZGUsIG5ld19tb2RlOwo+ICsKPiArCWlmICghb2xkX2NydGNfc3RhdGUgfHwgIW5ld19jcnRj X3N0YXRlKQo+ICsJCXJldHVybiBmYWxzZTsKPiArCj4gKwlvbGRfbW9kZSA9IG9sZF9jcnRjX3N0 YXRlLT5tb2RlOwo+ICsJbmV3X21vZGUgPSBuZXdfY3J0Y19zdGF0ZS0+bW9kZTsKPiArCj4gKwlp ZiAob2xkX21vZGUuY2xvY2sgICAgICAgPT0gbmV3X21vZGUuY2xvY2sgJiYKPiArCSAgICBvbGRf bW9kZS5oZGlzcGxheSAgICA9PSBuZXdfbW9kZS5oZGlzcGxheSAmJgo+ICsJICAgIG9sZF9tb2Rl LnZkaXNwbGF5ICAgID09IG5ld19tb2RlLnZkaXNwbGF5ICYmCj4gKwkgICAgb2xkX21vZGUuaHRv dGFsICAgICAgPT0gbmV3X21vZGUuaHRvdGFsICYmCj4gKwkgICAgb2xkX21vZGUudnRvdGFsICAg ICAgIT0gbmV3X21vZGUudnRvdGFsICYmCj4gKwkgICAgb2xkX21vZGUuaHN5bmNfc3RhcnQgPT0g bmV3X21vZGUuaHN5bmNfc3RhcnQgJiYKPiArCSAgICBvbGRfbW9kZS52c3luY19zdGFydCAhPSBu ZXdfbW9kZS52c3luY19zdGFydCAmJgo+ICsJICAgIG9sZF9tb2RlLmhzeW5jX2VuZCAgID09IG5l d19tb2RlLmhzeW5jX2VuZCAmJgo+ICsJICAgIG9sZF9tb2RlLnZzeW5jX2VuZCAgICE9IG5ld19t b2RlLnZzeW5jX2VuZCAmJgo+ICsJICAgIG9sZF9tb2RlLmhza2V3ICAgICAgID09IG5ld19tb2Rl Lmhza2V3ICYmCj4gKwkgICAgb2xkX21vZGUudnNjYW4gICAgICAgPT0gbmV3X21vZGUudnNjYW4g JiYKPiArCSAgICAob2xkX21vZGUudnN5bmNfZW5kIC0gb2xkX21vZGUudnN5bmNfc3RhcnQpID09 Cj4gKwkgICAgKG5ld19tb2RlLnZzeW5jX2VuZCAtIG5ld19tb2RlLnZzeW5jX3N0YXJ0KSkKPiAr CQlyZXR1cm4gdHJ1ZTsKPiArCj4gKwlyZXR1cm4gZmFsc2U7Cj4gK30KPiArCj4gK3N0YXRpYyB2 b2lkIHNldF9mcmVlc3luY19maXhlZF9jb25maWcoc3RydWN0IGRtX2NydGNfc3RhdGUgKmRtX25l d19jcnRjX3N0YXRlKSB7Cj4gKwl1aW50NjRfdCBudW0sIGRlbiwgcmVzOwo+ICsJc3RydWN0IGRy bV9jcnRjX3N0YXRlICpuZXdfY3J0Y19zdGF0ZSA9ICZkbV9uZXdfY3J0Y19zdGF0ZS0+YmFzZTsK PiArCj4gKwlkbV9uZXdfY3J0Y19zdGF0ZS0+ZnJlZXN5bmNfY29uZmlnLnN0YXRlID0gVlJSX1NU QVRFX0FDVElWRV9GSVhFRDsKPiArCj4gKwludW0gPSAodW5zaWduZWQgbG9uZyBsb25nKW5ld19j cnRjX3N0YXRlLT5tb2RlLmNsb2NrICogMTAwMCAqIDEwMDAwMDA7Cj4gKwlkZW4gPSAodW5zaWdu ZWQgbG9uZyBsb25nKW5ld19jcnRjX3N0YXRlLT5tb2RlLmh0b3RhbCAqCj4gKwkgICAgICAodW5z aWduZWQgbG9uZyBsb25nKW5ld19jcnRjX3N0YXRlLT5tb2RlLnZ0b3RhbDsKPiArCj4gKwlyZXMg PSBkaXZfdTY0KG51bSwgZGVuKTsKPiArCWRtX25ld19jcnRjX3N0YXRlLT5mcmVlc3luY19jb25m aWcuZml4ZWRfcmVmcmVzaF9pbl91aHogPSByZXM7Cj4gKwlkbV9uZXdfY3J0Y19zdGF0ZS0+ZnJl ZXN5bmNfdmlkZW9fbW9kZSA9IHRydWU7Cj4gK30KPiArCj4gIHN0YXRpYyBpbnQgZG1fdXBkYXRl X2NydGNfc3RhdGUoc3RydWN0IGFtZGdwdV9kaXNwbGF5X21hbmFnZXIgKmRtLAo+ICAJCQkJc3Ry dWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlLAo+ICAJCQkJc3RydWN0IGRybV9jcnRjICpjcnRj LAo+IEBAIC04OTg0LDYgKzkxMDgsMTEgQEAgc3RhdGljIGludCBkbV91cGRhdGVfY3J0Y19zdGF0 ZShzdHJ1Y3QgYW1kZ3B1X2Rpc3BsYXlfbWFuYWdlciAqZG0sCj4gIAkJICogVE9ETzogUmVmYWN0 b3IgdGhpcyBmdW5jdGlvbiB0byBhbGxvdyB0aGlzIGNoZWNrIHRvIHdvcmsKPiAgCQkgKiBpbiBh bGwgY29uZGl0aW9ucy4KPiAgCQkgKi8KPiArCQlpZiAoZG1fbmV3X2NydGNfc3RhdGUtPnN0cmVh bSAmJgo+ICsJCSAgICBpc190aW1pbmdfdW5jaGFuZ2VkX2Zvcl9mcmVlc3luYyhuZXdfY3J0Y19z dGF0ZSwgb2xkX2NydGNfc3RhdGUpICYmCj4gKwkJICAgIGFtZGdwdV9leHBfZnJlZXN5bmNfdmlk X21vZGUpCmtlZXBpbmcgdGhpcyBmbGFnIGNoZWNrIGJlZm9yZSB0aGUgZnVuY3Rpb24gY2FsbCBt aWdodCBhbGxvdyB0aGUgY29tcGlsZXIgdG8gc2F2ZSB0aGUgZnVuY3Rpb24gY2FsbCwgd2hlbiB0 aGlzIGZsYWcgaXMgZGlzYWJsZWQuwqAKPiArCQkJZ290byBza2lwX21vZGVzZXQ7Cj4gKwo+ICAJ CWlmIChkbV9uZXdfY3J0Y19zdGF0ZS0+c3RyZWFtICYmCj4gIAkJICAgIGRjX2lzX3N0cmVhbV91 bmNoYW5nZWQobmV3X3N0cmVhbSwgZG1fb2xkX2NydGNfc3RhdGUtPnN0cmVhbSkgJiYKPiAgCQkg ICAgZGNfaXNfc3RyZWFtX3NjYWxpbmdfdW5jaGFuZ2VkKG5ld19zdHJlYW0sIGRtX29sZF9jcnRj X3N0YXRlLT5zdHJlYW0pKSB7Cj4gQEAgLTkwMTUsNiArOTE0NCwyMyBAQCBzdGF0aWMgaW50IGRt X3VwZGF0ZV9jcnRjX3N0YXRlKHN0cnVjdCBhbWRncHVfZGlzcGxheV9tYW5hZ2VyICpkbSwKPiAg CQlpZiAoIWRtX29sZF9jcnRjX3N0YXRlLT5zdHJlYW0pCj4gIAkJCWdvdG8gc2tpcF9tb2Rlc2V0 Owo+ICAKPiArCQlpZiAoZG1fbmV3X2NydGNfc3RhdGUtPnN0cmVhbSAmJgo+ICsJCSAgICBpc190 aW1pbmdfdW5jaGFuZ2VkX2Zvcl9mcmVlc3luYyhuZXdfY3J0Y19zdGF0ZSwgb2xkX2NydGNfc3Rh dGUpICYmCj4gKwkJICAgIGFtZGdwdV9leHBfZnJlZXN5bmNfdmlkX21vZGUpIHsKc2FtZSBoZXJl Cj4gKwkJCW5ld19jcnRjX3N0YXRlLT5tb2RlX2NoYW5nZWQgPSBmYWxzZTsKPiArCQkJRFJNX0RF QlVHX0RSSVZFUigKPiArCQkJCSJNb2RlIGNoYW5nZSBub3QgcmVxdWlyZWQgZm9yIGZyb250IHBv cmNoIGNoYW5nZSwgIgo+ICsJCQkJInNldHRpbmcgbW9kZV9jaGFuZ2VkIHRvICVkIiwKPiArCQkJ CW5ld19jcnRjX3N0YXRlLT5tb2RlX2NoYW5nZWQpOwo+ICsKPiArCQkJc2V0X2ZyZWVzeW5jX2Zp eGVkX2NvbmZpZyhkbV9uZXdfY3J0Y19zdGF0ZSk7Cj4gKwo+ICsJCQlnb3RvIHNraXBfbW9kZXNl dDsKPiArCQl9IGVsc2UgaWYgKGFjb25uZWN0b3IgJiYKPiArCQkJICAgaXNfZnJlZXN5bmNfdmlk ZW9fbW9kZSgmbmV3X2NydGNfc3RhdGUtPm1vZGUsIGFjb25uZWN0b3IpICYmCj4gKwkJCSAgIGFt ZGdwdV9leHBfZnJlZXN5bmNfdmlkX21vZGUpCj4gKwkJCXNldF9mcmVlc3luY19maXhlZF9jb25m aWcoZG1fbmV3X2NydGNfc3RhdGUpOwo+ICsKPiAgCQlyZXQgPSBkbV9hdG9taWNfZ2V0X3N0YXRl KHN0YXRlLCAmZG1fc3RhdGUpOwo+ICAJCWlmIChyZXQpCj4gIAkJCWdvdG8gZmFpbDsKPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2FtZGdwdV9kbS9hbWRncHVfZG0u aCBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2RtLmgKPiBp bmRleCBmNWE1ZjFhZDdkYmEuLmZkNWZiOWRhZmRlZCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vYW1kL2Rpc3BsYXkvYW1kZ3B1X2RtL2FtZGdwdV9kbS5oCj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2FtZC9kaXNwbGF5L2FtZGdwdV9kbS9hbWRncHVfZG0uaAo+IEBAIC00NTUsNiArNDU1 LDcgQEAgc3RydWN0IGRtX2NydGNfc3RhdGUgewo+ICAKPiAgCWJvb2wgZnJlZXN5bmNfdGltaW5n X2NoYW5nZWQ7Cj4gIAlib29sIGZyZWVzeW5jX3Zycl9pbmZvX2NoYW5nZWQ7Cj4gKwlib29sIGZy ZWVzeW5jX3ZpZGVvX21vZGU7Cj4gIAo+ICAJYm9vbCBkc2NfZm9yY2VfY2hhbmdlZDsKPiAgCWJv b2wgdnJyX3N1cHBvcnRlZDsKCldpdGggdGhlIG1pbm9yIGNvbW1lbnRzIGZpeGVkL2V4cGxhaW5l ZCBhYm92ZSwKCnRoaXMgcGF0Y2ggaXMgUmV2aWV3ZWQtYnk6IFNoYXNoYW5rIFNoYXJtYSA8c2hh c2hhbmsuc2hhcm1hQGFtZC5jb20+CgotIFNoYXNoYW5rCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZl bEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9kcmktZGV2ZWwK