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 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 smtp.lore.kernel.org (Postfix) with ESMTPS id 8A12DEA3C55 for ; Thu, 9 Apr 2026 12:17:25 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id B4AF010E197; Thu, 9 Apr 2026 12:17:24 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (1024-bit key; unprotected) header.d=amd.com header.i=@amd.com header.b="vuYHwHir"; dkim-atps=neutral Received: from BYAPR05CU005.outbound.protection.outlook.com (mail-westusazon11010055.outbound.protection.outlook.com [52.101.85.55]) by gabe.freedesktop.org (Postfix) with ESMTPS id 27C7110E197; Thu, 9 Apr 2026 12:17:23 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=wJqrDdfnhM8dXWAPLmF5CLooRsoTJ06RwD3zcgS1boZjHZr0wsTeuS83P1wy0m+oNJtvK7IUg3k0dARgcc4dnoqrfjOb3muCDtXd8ZwFK3jX0cN9XznnH3sBjRc9TuPOb7x5RPeakzCcUhkdGsJIUlXkZopQ/M7batNP0NrxE7/xZ1hsZyvVTNT89N0BrzF/QQnEDZFq7Pkq6/HxvlpSM7RGOFw7Y3f9CDdC6zLeMu+huuMlWzH2LA+lB0JTj6RFfkY2QJJajQ/s+o/srI+Ge/CspaAp3BrYNeUr1L6A3/9HQiTdNQvpxV2fqzYISUr039iDIligFqiGUmZg7d38Yg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=bTlOK1ICBEHcX6Aye6xvm2VhEDYPcBgjhnCqXMIhZK4=; b=HqHdROqW7JCROyewjIq3uGNV2vLTvXeIKHuEWS/zu2AaDJ+0qN09H4AU6rQpPp/oPmIL/6bd39xsieuKJ0DHjxQL0RjMaYNgB91HLP2HvxctLoXYn7fQSMjrEoHilGO2ZzRelgfnqiq1MAvzVfidcOxBc55SgFsD49VHGWDfwGDb0t2nsvA62qv5AIG0TFoMuJsdch56NOzJc1Ayntr9ODEKNuXQOutFSC625FckyKiFcLuzjNEyg69oWzft8qYcb7xjnaWck0tgtmdvE6DXc7TCywlDn+rOrGO+E9M3xF6HGQYycsMo+9zoWtDnZM0uytQFELDt9J3Ek/wXdZgFLw== 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=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=bTlOK1ICBEHcX6Aye6xvm2VhEDYPcBgjhnCqXMIhZK4=; b=vuYHwHirFP+b9Yin/E3ANdjSqjAk71nXsHQ6Jpc+BRJ0A7N5xVenbm9CceKqNZS9WLnv4k3CCSKTEEvVJIW5aV19EveVkAje24dUEPJWxIOAoNdUZ3niDMxa3UH0NfCNZxjws468aUL6cWtJCbTxC4mTKLsYZ2VbKhXCPDx3laM= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com; Received: from PH7PR12MB5685.namprd12.prod.outlook.com (2603:10b6:510:13c::22) by PH0PR12MB5645.namprd12.prod.outlook.com (2603:10b6:510:140::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9769.18; Thu, 9 Apr 2026 12:17:20 +0000 Received: from PH7PR12MB5685.namprd12.prod.outlook.com ([fe80::ce69:cfae:774d:a65c]) by PH7PR12MB5685.namprd12.prod.outlook.com ([fe80::ce69:cfae:774d:a65c%5]) with mapi id 15.20.9769.016; Thu, 9 Apr 2026 12:17:19 +0000 Message-ID: Date: Thu, 9 Apr 2026 14:17:07 +0200 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 5/6] drm/i915/reset: Handle the display vs. GPU reset deadlock using a custom dma-fence To: =?UTF-8?B?VmlsbGUgU3lyasOkbMOk?= Cc: intel-gfx@lists.freedesktop.org, intel-xe@lists.freedesktop.org, dri-devel@lists.freedesktop.org, Simona Vetter , Jani Nikula , =?UTF-8?Q?Jouni_H=C3=B6gander?= , Maarten Lankhorst , =?UTF-8?Q?Michel_D=C3=A4nzer?= References: <20260408233458.22666-1-ville.syrjala@linux.intel.com> <20260408233458.22666-6-ville.syrjala@linux.intel.com> <44fa373c-6216-4cc4-a605-94776b3873ad@amd.com> Content-Language: en-US From: =?UTF-8?Q?Christian_K=C3=B6nig?= In-Reply-To: Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-ClientProxiedBy: FR2P281CA0145.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:98::17) To PH7PR12MB5685.namprd12.prod.outlook.com (2603:10b6:510:13c::22) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PH7PR12MB5685:EE_|PH0PR12MB5645:EE_ X-MS-Office365-Filtering-Correlation-Id: 5fb9c02f-c3da-42b6-dad1-08de9631f231 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|366016|1800799024|376014|22082099003|18002099003|56012099003; X-Microsoft-Antispam-Message-Info: rQOW16HhSAXf+YvmDuxepGbw74rs3gc99QbcDnOVyvkA7XO9mqAdSU7MXoasjU3sobU8fmXF5o8TmhCibsIaqpoJGP5tRMoANvpa/N8YjVGh7fR2URIOM7qAzmBGmM1KESKG8hYgT0EcKasm7DMqXV8EqRz06y7ieZeOQre93Xk0UpaZGnu3TC3/38PmQeBXOUftSZu9TOgb5Ci8O9G9ZuDGj1MLFED4XSiYJ2JRiKaTdSqSAGkLhZVsh1CCErpjUsMfd6brOO0Lmy9MPG/sxooCFLQnDZedUaj8n92JYewocdrdTS/svlHYASZUpEsrhheIncuxYbAf4qQ3L80A1vzjcFkynBrev5RYHmHHquha4T63Z46tBkHjyk2MxOHC/R/yuG8sHJqHfvPAjcJkT7EWJcM81t1fAneMQGo/DjeW2wEUmCH45uRtaQZJRwEN+CLPWQDa5M77R+Ij2RU7mMtagY6hFsioEX1/PtKv7NbQ6M9G3/k1FiA05gLg8OvzLRMPeg0BOpe4nG6upbD/lCm/4p6+mj6AJTBuctwE6BgsWyvr2vV7b0bERsmJg9BI1c2uoXlodUWTre8r9XkRMxBpIFS+7eHh2EJug+hpZfsc39ACy3r1ghIbARgdAFEuLAe6eFl0oC/X3S8D107Hl+0Tibt22OzoU5Sq+IRvSjAh//DnHc6W0SnhQPEcxRYWvabluRWFSJRgMwqwtSy7u1VLfsRHqH0c8Oj3ZfkrNj8= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH7PR12MB5685.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(366016)(1800799024)(376014)(22082099003)(18002099003)(56012099003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?eTlKRXBKY0s3MW40TXpWY0hFL2xoRy9hYW5ibXZzTkFjYWtkK21wT0VjWFBC?= =?utf-8?B?TVJOL2poclVYU3FJWVFNb2U3MUg2ZWxYaUw5RFVqSVBrMHkzcU1KcUMrZFVp?= =?utf-8?B?VlJXVWZCL3drWXVsdlNPa0Zad28weVVLQ1ZkWkFlSnQxYS9OZFB0WHFNNTZK?= =?utf-8?B?emswR0JLejZ4Z2MwMG9WNUd3a253TFhsK2RrcW04WjNodmNqQld2MWJVcEdZ?= =?utf-8?B?UHA3QXJzNmdGdm9lci80ak5HeFRFNTZ6cnBFRFllaHR4cXV0azdMRVJmRDdN?= =?utf-8?B?STlCbnhWSE1FQklHRkRmMW55Qml3R244YnRTWGxKVFFCMk1JODNZNE1kaEpU?= =?utf-8?B?SWU0UVZZWjg0bnU1U1VRbHM5R2VtVU1RcUwxWXVVK1hGQzR1TzJpU1p6cWpr?= =?utf-8?B?RkJDMjFnd2VYRlo0VEJXWHVtZnRBQ3RYK28yMGhwTGF0N0NUaUEvVUJXcUow?= =?utf-8?B?S0krUldNS2h6Z1NwdWxBOGNnR0tUSHd3RUlXZUJkdDJ1dnc5enF5Qkx1VEVL?= =?utf-8?B?SlFxYmttTFlmNGh6SzJmQ2dMaXZFY0xnYTdoNStQSWpTYWxaR1BTWEt3YkpI?= =?utf-8?B?cS9jRUxJSzJhS1Rpa3VrWDBKTFFIZ1E4Y3U5YzZnREpCMDEvbEpKM0h1N0I3?= =?utf-8?B?WnVDU0dLZEI0VDR0a3JRanFaZGpDYzhLRTRMTzBENVdVSnY4Q2Z2alJwOGlZ?= =?utf-8?B?QS90ZkxDZmNKMHNCQlVxVkxGTGd5bVNqYjczWUxaRE8ybjVQM04ydFd4L3Y5?= =?utf-8?B?dVFxWVU2OUFyZ2QxUE1GYUF6MmNvZHZkcVlEbU55L2hKakdaWVVZT0pHMm9Y?= =?utf-8?B?VzdaQjFlOWZKeGNSckpSVWZJSzlZbVo0UjVvRitPSXhWdUxtN1FYNEpodEhY?= =?utf-8?B?Ri9SME00cEdxbThqcXVmZWs0RlFNU2hvclJ4dDFTbkx2MTdScmc3RHFRWlFT?= =?utf-8?B?dUQ5N0lja2xtb1BPN1FmblRWVXVHclpvenZEb3luV2ZRTWlrbWIzdGFZMGo2?= =?utf-8?B?T3hpTjdUeWV0MWhjaFZ6M1FLVmg0Z3NLdDhDWFNRZjlncHcvSVFUQUFxeGlw?= =?utf-8?B?bGU0UEdPVUxhaUd4RHlRQjh1eHFqeXZGd2VLbGY4ZGFNTXc2VUsxYnMrS1Js?= =?utf-8?B?M2h0MmJPVHNtQU9tS1k5WUZUL2d5M2Eyc2M4TmR0U0p1RXFIdjdxWmgzb090?= =?utf-8?B?Q0hHb1JWY2tOcVdDZnBGbXM0cTY2VW5xSkFodHQ5M1ZURmRFT05uTXl6Ukth?= =?utf-8?B?MC9nU29TNERpeGZ6QnpsRlhUT2ZxZWUzaG9relZpSmV4UmdSSkdueEpTaXor?= =?utf-8?B?Z3hqL2prTnFLM1Rydmc2M2F4YldJQy9lbDNlZjFuQXc3Y3V2UUtlSS9BdTNz?= =?utf-8?B?aktRNDZJUnhvcDhmd2xIKzNWTmEzMWhXRzJVbGV1MlhHK0N1RXVzNWRoMVBX?= =?utf-8?B?dlhYR2FpMGFHUVVYMU1mcFhBK1RoWlZPc3N2V09WaEVDY0lsVjRIcThSSThU?= =?utf-8?B?bUZjYjAwUm04ZkZpcTFKZlVwdjYxaElNOXc1SVQ0d3BCUDgzSFFzQnpjNERp?= =?utf-8?B?dmtQRW5PcjVRMlZ4dXphUGZ6Sk9rVFRxRTJod05RODl6Zndvc3YwU2dnSnlo?= =?utf-8?B?bjlVTEYrR2dibEpXbjROZnJiZldOVW9uR0N5eGNPa3ZrcjY2VWh0VCtVMVRo?= =?utf-8?B?SGE3MmZzaWdyZ3FxU2I1bzBnZGZMZGRSSE9nemZ5TUlEMjJwZ0R5WGpUL1RF?= =?utf-8?B?UlZtbHBJb0x3RnJyNElGOXA3NGFmYmh2dWkvMldnZmgyOTlRd3R6QkU3YjNn?= =?utf-8?B?a1lnRUVERWdlblF0OG1TN1F5cnFuWnMzWWh4NWFXNVhDOFE1QUkxNW5wcWdZ?= =?utf-8?B?YjkvNmMvdmI1bGVDc242Z2dRdndHMDMrS3hQVUFpU1hmTXZVWU1NdGY4Mk02?= =?utf-8?B?YXNTREtLWEpiczVyaVBXTjRmVzNrOTMzNC9Gc0dPWHlGbnlmeUxvT0ZrTTZQ?= =?utf-8?B?bTVjZk16T1NMczJ1aGdpTTFMZTFUc0U2eDJUdFQwVjhOc3JFUG9veHVDMHF3?= =?utf-8?B?Yk1FYlc2TnAwRlpkZGN1RUFuK3VvbFl0dDRqNFdHRGU4TER5ci9QeXFDWjlr?= =?utf-8?B?N1lGMmJMOW1LbXFXOVhqa1ZGM2t5bThFNHBpY0VZb0xaeDA2Z0g4MUF3S2F0?= =?utf-8?B?Y1RaWFVBckJEU1dYMUg1WHF2eDhjNEozWS9kbUF5RG5McTlpNTI1RHc2VllN?= =?utf-8?B?dVN3Snd3ZG9YWTFKc3o3cTJGdE5mVm5uZXRneDlLbU0zZUpIelBKVDg0b3Ur?= =?utf-8?Q?lVrkESvmD1dtjaE3en?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5fb9c02f-c3da-42b6-dad1-08de9631f231 X-MS-Exchange-CrossTenant-AuthSource: PH7PR12MB5685.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Apr 2026 12:17:19.7075 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: t1Jx2Q1fXOsKLWvjFrXDuhLGrqgBpXiR27ndXldJmwK53NpX7LljhY2kZ1iUy9+c X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR12MB5645 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: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" T24gNC85LzI2IDEzOjE5LCBWaWxsZSBTeXJqw6Rsw6Qgd3JvdGU6Cj4gT24gVGh1LCBBcHIgMDks IDIwMjYgYXQgMTI6NDY6MTFQTSArMDIwMCwgQ2hyaXN0aWFuIEvDtm5pZyB3cm90ZToKPj4gT24g NC85LzI2IDAxOjM0LCBWaWxsZSBTeXJqYWxhIHdyb3RlOgo+Pj4gRnJvbTogVmlsbGUgU3lyasOk bMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPj4+Cj4+PiBUaGUgb2xkIGRpc3Bs YXkgdnMuIEdQVSByZXNldCBkZWFkbG9jayBpcyBiYWNrIG1vcmUgb3IgbGVzcy4KPj4+IFRoZSBv bGQgKHdvcmtpbmcpIHNvbHV0aW9uIHRvIHRoZSBwcm9ibGVtIHdhcyBvcmlnaW5hbGx5Cj4+PiBp bnRyb2R1Y2VkIGluIGNvbW1pdCA5ZGI1MjlhYWM5MzggKCJkcm0vaTkxNTogTW9yZSBzdXJnaWNh bGx5Cj4+PiB1bmJyZWFrIHRoZSBtb2Rlc2V0IHZzIHJlc2V0IGRlYWRsb2NrIiksIGJ1dCBpdCBn b3QgbnVrZWQgd2l0aAo+Pj4gY29tbWl0IGQ1OWNmN2JiNzNmMyAoImRybS9pOTE1L2Rpc3BsYXk6 IFVzZSBkbWFfZmVuY2UgaW50ZXJmYWNlcwo+Pj4gaW5zdGVhZCBvZiBpOTE1X3N3X2ZlbmNlIiku Cj4+Pgo+Pj4gQXBwYXJlbnRseSBubyBvbmUgbG9va2VkIGhhcmQgZW5vdWdoIHRvIHNlZSB0aGF0 IHRoaW5ncyBkaWRuJ3QKPj4+IHdvcmsgcXVpdGUgcHJvcGVybHkgYW55bW9yZS4gV2hhdCBpcyBz dGlsbCBzYXZpbmcgdXMgZm9yIHRoZSBtb3N0Cj4+PiBwYXJ0IGlzIHRoYXQgd2UgaGF2ZSBhIHRp bWVvdXQgb24gdGhlIGZlbmNlIHdhaXQKPj4+IChDT05GSUdfRFJNX0k5MTVfRkVOQ0VfVElNRU9V VCwgMTAgc2Vjb25kcyBieSBkZWZhdWx0KS4gQnV0Cj4+PiBwZW9wbGUgYXJlIHBlcmhhcHMgdHJ5 aW5nIHRvIGdldCByaWQgb2YgdGhhdCBzbyB3ZSBtYXkgbmVlZAo+Pj4gYW5vdGhlciBzb2x1dGlv biwgYW5kIDEwIHNlY29uZHMgaXMgYSBiaXQgc2xvdy4KPj4KPj4gWWVhaCBhZ3JlZSB0aGF0IGFw cHJvYWNoIHdpdGggdGhlIHRpbWVvdXQgaXMgdXN1YWxseSBhIGJpZyBubyBuby4KPj4KPj4+IFJl LXNvbHZlIHRoZSBwcm9ibGVtIHlldCBhZ2FpbiB3aXRoIGEgY3VzdG9tIGRtYS1mZW5jZSB0aGF0 IGdldHMKPj4+IHNpZ25hbGVkIGp1c3QgcHJpb3IgdG8gYSBHUFUgcmVzZXQsIGFuZCBoYXZlIHRo ZSBhdG9taWMgY29tbWl0IHdhaXQKPj4+IGZvciBlaXRoZXIgdGhhdCBvciB0aGUgcmVhbCBmZW5j ZSB1c2luZyBkbWFfZmVuY2Vfd2FpdF9hbnlfdGltZW91dCgpLgo+Pgo+PiBIdWk/IEkgZG9uJ3Qg ZnVsbHkgdW5kZXJzdGFuZCB3aGF0IHRoZSBzb3VyY2Ugb2YgdGhlIHByb2JsZW0gaXMsIGJ1dCBv ZiBoYW5kIHRoYXQgYXBwcm9hY2ggb2Ygc29sdmluZyBpdCBkb2Vzbid0IHNvdW5kIGxpa2UgYSBn b29kIGlkZWEgZWl0aGVyLgo+Pgo+Pj4gV2hpY2hldmVyIHNpZ25hbHMgZmlyc3Qgd2lsbCBsZXQg dGhlIGNvbW1pdCBwcm9jZWVkLiBXZSBjcmVhdGUgYSBuZXcKPj4+ICJyZXNldCBmZW5jZSIgd2hl bmV2ZXIgc29tZW9uZSBuZWVkcyBvbmUsIGFuZCBrZWVwIGl0IHVudGlsIHRoZSBuZXh0Cj4+PiBH UFUgcmVzZXQgaGFzIGNvbXBsZXRlZC4gQWZ0ZXIgdGhhdCB0aGUgbmV4dCBndXkgd2lsbCBhZ2Fp biBnZXQgYQo+Pj4gZnJlc2ggdW5zaWduYWxlZCAicmVzZXQgZmVuY2UiLgo+Pgo+PiBBbmQgdGhh dCBzb3VuZHMgZXZlbiB3b3JzZS4gQSBkbWFfZmVuY2Ugd2hpY2ggd2FpdHMgZm9yIHRoZSBuZXh0 IEdQVSByZXNldCB3aXRob3V0IHRyaWdnZXJpbmcgaXQgaXRzZWxmIHdvdWxkIGJlIGFuIGluZGVm aW5pdGUgZG1hX2ZlbmNlIHdoaWNoIGlzIG5vdCBhbGxvd2VkLgo+IAo+IFRoaXMgaXMgYSBwdXJl bHkgaW50ZXJuYWwgdGhpbmcgdG8gdGhlIGk5MTUgZGlzcGxheSBjb2RlLiBUaGlzIGZlbmNlCj4g aXMgbmV2ZXIgc2hhcmVkIHdpdGggYW55b25lLiBBbmQgd2UgbmV2ZXIgd2FpdCBmb3IganVzdCB0 aGlzIGZlbmNlLAo+IHRoZSB3YWl0IGFsd2F5cyBoYXBwZW5zIGFsb25nc2lkZSBhIHJlYWwgZmVu Y2UgdXNpbmcKPiBkbWFfZmVuY2Vfd2FpdF9hbnlfdGltZW91dCgpLgo+IAo+Pgo+PiBJIHRoaW5r IHNvbWV0aGluZyBpcyBtaXNzaW5nIGluIG15IHBpY3R1cmUgaG93IHRoYXQgaXMgc3VwcG9zZWQg dG8gd29yay4KPiAKPiBUaGUgcHJvYmxlbSBzdGVtcyBmcm9tIHRoZSBmYWN0IHRoYXQgb24gb2xk IHBsYXRmb3JtcyBhIEdQVSByZXNldAo+IGFsc28gcmVzZXRzIHRoZSBkaXNwbGF5IGhhcmR3YXJl LAoKV2hpY2ggaXMgdHJ1ZSBmb3IgYXQgbGVhc3QgQU1EIEdQVXMgYW5kIEkgdGhpbmsgcHJldHR5 IG11Y2ggZXZlcnlib2R5IGVsc2UgYXMgd2VsbCwgYnV0IHRoYXQgd2Fzbid0IHNvIG11Y2ggb2Yg YSBwcm9ibGVtIHNvIGZhci4KCj4gYW5kIHRvIGRvIHRoYXQgc2FmZWx5IHdlIG5lZWQ6Cj4gMS4g c2h1dCBkb3duIGRpc3BsYXkKPiAyLiBwZXJmb3JtIHRoZSBHUFUgcmVzZXQKPiAzLiByZXN0b3Jl IHRoZSBkaXNwbGF5IGhhcmR3YXJlIHRvIGl0cyBvcmlnbmFsIHN0YXRlCgpNaG0sIEkndmUgcmVj ZW50bHkgdGFsa2VkIHdpdGggTWljaGVsIGFib3V0IGl0IGFuZCB3ZSBjb25maXJtZWQgdGhhdCB0 aGlzIGlzIHBlcmZlY3RseSBwb3NzaWJsZSB3aXRob3V0IGlzc3Vlcy4gQWRkaW5nIE1pY2hlbCBh cyB3ZWxsLgoKPiBXZSBqdXN0IGRvIHRoYXQgd2l0aCBlc3NlbnRpYWxseSB3aXRoIGEgbm9ybWFs IGF0b21pYyBjb21taXQuCgpJIHRoaW5rIHRoYXQgaXMgdGhlIHNvdXJjZSBvZiB0aGUgcHJvYmxl bS4KCkknbSBub3QgYW4gZXhwZXJ0IG9uIHRoYXQgdG9waWMgYnV0IGFtZGdwdSBhbmQgdG9ucyBv ZiBvdGhlciBkcml2ZXJzIHNlZW0gdG8ganVzdCB1c2UgZHJtX2F0b21pY19oZWxwZXJfc2h1dGRv d24oKSBmb3IgdGhhdC4KCldoYXQgaXMgaTkxNSBkb2luZyBkaWZmZXJlbnRseT8KCj4gQnV0IGEg Cj4gcHJldmlvdXMgYXRvbWljIGNvbW1pdCBtYXkgYWxyZWFkeSBiZSB3YWl0aW5nIGZvciBhIGZl bmNlLCB3aGljaAo+IHdvbid0IHNpZ25hbCB1bnRpbCB0aGUgR1BVIHJlc2V0IGhhcHBlbnMsIGFu ZCB0aGUgR1BVIHJlc2V0IGlzIG5vdwo+IHdhaXRpbmcgZm9yIHRoYXQgcHJldmlvdXMgYXRvbWlj IGNvbW1pdCB0byBmaW5pc2ggc28gdGhhdCBpdCBjYW4gZG8KPiBpdHMgb3duIGF0b21pYyBjb21t aXQuIEluIG9yZGVyIHRvIGJyZWFrIHRoZSBkZWFkbG9jayB3ZSBuZWVkIHRvCj4gYWJvcnQgdGhl IGZlbmNlIHdhaXRzIGluIHRoZSBhdG9taWMgY29tbWl0LCBhbmQgdGhhdCdzIHdoYXQgdGhpcwo+ ICJyZXNldCBmZW5jZSIgYWNoaWV2ZXMuCgpBcyBmYXIgYXMgSSBjYW4gc2VlIHRoYXQgYXBwcm9h Y2ggbG9va3Mgc3Ryb25nbHkgbGlrZSBhIG5vLWdvLgoKWW91IGVzc2VudGlhbGx5IGhhdmUgYSBs b2NrIGludmVyc2lvbiBoZXJlIGFuZCBpdCBpcyBkb2N1bWVudGVkIHRoYXQgaXQgc2hvdWxkICpu ZXZlciogYmUgcmVzb2x2ZWQgYnkgYSB0aW1lb3V0LCB0aGUgYXBwcm9hY2ggeW91IHRha2Ugbm93 IGlzIG5vdCBtdWNoIGJldHRlci4KClJlZ2FyZHMsCkNocmlzdGlhbi4KCj4gCj4+Cj4+IFRoYW5r cywKPj4gQ2hyaXN0aWFuLgo+Pgo+Pj4KPj4+IENjOiBTaW1vbmEgVmV0dGVyIDxzaW1vbmEudmV0 dGVyQGZmd2xsLmNoPgo+Pj4gQ2M6IENocmlzdGlhbiBLw7ZuaWcgPGNocmlzdGlhbi5rb2VuaWdA YW1kLmNvbT4KPj4+IENjOiBKYW5pIE5pa3VsYSA8amFuaS5uaWt1bGFAaW50ZWwuY29tPgo+Pj4g Q2M6IEpvdW5pIEjDtmdhbmRlciA8am91bmkuaG9nYW5kZXJAaW50ZWwuY29tPgo+Pj4gQ2M6IE1h YXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+Cj4+PiBT aWduZWQtb2ZmLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwu Y29tPgo+Pj4gLS0tCj4+PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNw bGF5LmMgIHwgMzQgKysrKystLS0KPj4+ICAuLi4vZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxf ZGlzcGxheV9jb3JlLmggfCAgNiArKwo+Pj4gIC4uLi9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rp c3BsYXlfZHJpdmVyLmMgICB8ICA1ICsrCj4+PiAgLi4uL2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxf ZGlzcGxheV9yZXNldC5jICAgIHwgNzcgKysrKysrKysrKysrKysrKysrKwo+Pj4gIC4uLi9kcm0v aTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfcmVzZXQuaCAgICB8ICA0ICsKPj4+ICBkcml2ZXJz L2dwdS9kcm0veGUvTWFrZWZpbGUgICAgICAgICAgICAgICAgICAgfCAgMSArCj4+PiAgNiBmaWxl cyBjaGFuZ2VkLCAxMTcgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCj4+Pgo+Pj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMKPj4+IGluZGV4IDU4 YTY1NGNhMGQyMC4uODNjY2YxM2M0YjE2IDEwMDY0NAo+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMKPj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jCj4+PiBAQCAtNzIsNiArNzIsNyBAQAo+Pj4gICNp bmNsdWRlICJpbnRlbF9kaXNwbGF5X2RyaXZlci5oIgo+Pj4gICNpbmNsdWRlICJpbnRlbF9kaXNw bGF5X3Bvd2VyLmgiCj4+PiAgI2luY2x1ZGUgImludGVsX2Rpc3BsYXlfcmVncy5oIgo+Pj4gKyNp bmNsdWRlICJpbnRlbF9kaXNwbGF5X3Jlc2V0LmgiCj4+PiAgI2luY2x1ZGUgImludGVsX2Rpc3Bs YXlfcnBtLmgiCj4+PiAgI2luY2x1ZGUgImludGVsX2Rpc3BsYXlfdHlwZXMuaCIKPj4+ICAjaW5j bHVkZSAiaW50ZWxfZGlzcGxheV91dGlscy5oIgo+Pj4gQEAgLTcxNDksMjIgKzcxNTAsMzUgQEAg c3RhdGljIHZvaWQgc2tsX2NvbW1pdF9tb2Rlc2V0X2VuYWJsZXMoc3RydWN0IGludGVsX2F0b21p Y19zdGF0ZSAqc3RhdGUpCj4+PiAgCj4+PiAgc3RhdGljIHZvaWQgaW50ZWxfYXRvbWljX2NvbW1p dF9mZW5jZV93YWl0KHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKmludGVsX3N0YXRlKQo+Pj4g IHsKPj4+IC0Jc3RydWN0IGRybV9wbGFuZSAqcGxhbmU7Cj4+PiArCXN0cnVjdCBpbnRlbF9kaXNw bGF5ICpkaXNwbGF5ID0gdG9faW50ZWxfZGlzcGxheShpbnRlbF9zdGF0ZSk7Cj4+PiAgCXN0cnVj dCBkcm1fcGxhbmVfc3RhdGUgKm5ld19wbGFuZV9zdGF0ZTsKPj4+IC0JbG9uZyByZXQ7Cj4+PiAr CXN0cnVjdCBkbWFfZmVuY2UgKnJlc2V0X2ZlbmNlOwo+Pj4gKwlzdHJ1Y3QgZHJtX3BsYW5lICpw bGFuZTsKPj4+ICAJaW50IGk7Cj4+PiAgCj4+PiArCXJlc2V0X2ZlbmNlID0gaW50ZWxfZGlzcGxh eV9yZXNldF9mZW5jZV9nZXQoZGlzcGxheSk7Cj4+PiArCj4+PiAgCWZvcl9lYWNoX25ld19wbGFu ZV9pbl9zdGF0ZSgmaW50ZWxfc3RhdGUtPmJhc2UsIHBsYW5lLCBuZXdfcGxhbmVfc3RhdGUsIGkp IHsKPj4+IC0JCWlmIChuZXdfcGxhbmVfc3RhdGUtPmZlbmNlKSB7Cj4+PiAtCQkJcmV0ID0gZG1h X2ZlbmNlX3dhaXRfdGltZW91dChuZXdfcGxhbmVfc3RhdGUtPmZlbmNlLCBmYWxzZSwKPj4+IC0J CQkJCQkgICAgIGk5MTVfZmVuY2VfdGltZW91dCgpKTsKPj4+IC0JCQlpZiAocmV0IDw9IDApCj4+ PiAtCQkJCWJyZWFrOwo+Pj4gKwkJc3RydWN0IGRtYV9mZW5jZSAqZmVuY2VzWzJdID0gewo+Pj4g KwkJCVswXSA9IG5ld19wbGFuZV9zdGF0ZS0+ZmVuY2UsCj4+PiArCQkJWzFdID0gcmVzZXRfZmVu Y2UsCj4+PiArCQl9Owo+Pj4gKwkJbG9uZyByZXQ7Cj4+PiAgCj4+PiAtCQkJZG1hX2ZlbmNlX3B1 dChuZXdfcGxhbmVfc3RhdGUtPmZlbmNlKTsKPj4+IC0JCQluZXdfcGxhbmVfc3RhdGUtPmZlbmNl ID0gTlVMTDsKPj4+IC0JCX0KPj4+ICsJCWlmICghbmV3X3BsYW5lX3N0YXRlLT5mZW5jZSkKPj4+ ICsJCQljb250aW51ZTsKPj4+ICsKPj4+ICsJCXJldCA9IGRtYV9mZW5jZV93YWl0X2FueV90aW1l b3V0KGZlbmNlcywgcmVzZXRfZmVuY2UgPyAyIDogMSwgZmFsc2UsCj4+PiArCQkJCQkJIGk5MTVf ZmVuY2VfdGltZW91dCgpLCBOVUxMKTsKPj4+ICsJCWlmIChyZXQgPD0gMCkKPj4+ICsJCQlicmVh azsKPj4+ICsKPj4+ICsJCWRtYV9mZW5jZV9wdXQobmV3X3BsYW5lX3N0YXRlLT5mZW5jZSk7Cj4+ PiArCQluZXdfcGxhbmVfc3RhdGUtPmZlbmNlID0gTlVMTDsKPj4+ICAJfQo+Pj4gKwo+Pj4gKwlp ZiAocmVzZXRfZmVuY2UpCj4+PiArCQlkbWFfZmVuY2VfcHV0KHJlc2V0X2ZlbmNlKTsKPj4+ICB9 Cj4+PiAgCj4+PiAgc3RhdGljIHZvaWQgaW50ZWxfYXRvbWljX2RzYl93YWl0X2NvbW1pdChzdHJ1 Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPj4+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfY29yZS5oIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X2NvcmUuaAo+Pj4gaW5kZXggOWU3NzAwM2Fk ZGQwLi42Njg3YjY1OGM1MWQgMTAwNjQ0Cj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9k aXNwbGF5L2ludGVsX2Rpc3BsYXlfY29yZS5oCj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfY29yZS5oCj4+PiBAQCAtNTU2LDYgKzU1NiwxMiBAQCBz dHJ1Y3QgaW50ZWxfZGlzcGxheSB7Cj4+PiAgCQl1bnNpZ25lZCBsb25nIG1hc2s7Cj4+PiAgCX0g cXVpcmtzOwo+Pj4gIAo+Pj4gKwlzdHJ1Y3Qgewo+Pj4gKwkJLyogcHJvdGVjdHMgcmVzZXQuZmVu Y2UgKi8KPj4+ICsJCXN0cnVjdCBtdXRleCBtdXRleDsKPj4+ICsJCXN0cnVjdCBkbWFfZmVuY2Ug KmZlbmNlOwo+Pj4gKwl9IHJlc2V0Owo+Pj4gKwo+Pj4gIAlzdHJ1Y3Qgewo+Pj4gIAkJLyogcmVz dG9yZSBzdGF0ZSBmb3Igc3VzcGVuZC9yZXN1bWUgYW5kIGRpc3BsYXkgcmVzZXQgKi8KPj4+ICAJ CXN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICptb2Rlc2V0X3N0YXRlOwo+Pj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV9kcml2ZXIuYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV9kcml2ZXIuYwo+Pj4gaW5k ZXggMjNiZmVjYzk4M2U4Li5mY2QzMTcyMmM3MzEgMTAwNjQ0Cj4+PiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfZHJpdmVyLmMKPj4+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV9kcml2ZXIuYwo+Pj4gQEAgLTM0 LDYgKzM0LDcgQEAKPj4+ICAjaW5jbHVkZSAiaW50ZWxfZGlzcGxheV9kcml2ZXIuaCIKPj4+ICAj aW5jbHVkZSAiaW50ZWxfZGlzcGxheV9pcnEuaCIKPj4+ICAjaW5jbHVkZSAiaW50ZWxfZGlzcGxh eV9wb3dlci5oIgo+Pj4gKyNpbmNsdWRlICJpbnRlbF9kaXNwbGF5X3Jlc2V0LmgiCj4+PiAgI2lu Y2x1ZGUgImludGVsX2Rpc3BsYXlfdHlwZXMuaCIKPj4+ICAjaW5jbHVkZSAiaW50ZWxfZGlzcGxh eV91dGlscy5oIgo+Pj4gICNpbmNsdWRlICJpbnRlbF9kaXNwbGF5X3dhLmgiCj4+PiBAQCAtMjU3 LDYgKzI1OCw4IEBAIGludCBpbnRlbF9kaXNwbGF5X2RyaXZlcl9wcm9iZV9ub2lycShzdHJ1Y3Qg aW50ZWxfZGlzcGxheSAqZGlzcGxheSkKPj4+ICAKPj4+ICAJaW50ZWxfbW9kZV9jb25maWdfaW5p dChkaXNwbGF5KTsKPj4+ICAKPj4+ICsJaW50ZWxfZGlzcGxheV9yZXNldF9mZW5jZV9pbml0KGRp c3BsYXkpOwo+Pj4gKwo+Pj4gIAlyZXQgPSBpbnRlbF9jZGNsa19pbml0KGRpc3BsYXkpOwo+Pj4g IAlpZiAocmV0KQo+Pj4gIAkJZ290byBjbGVhbnVwX3dxX3Vub3JkZXJlZDsKPj4+IEBAIC01ODQs NiArNTg3LDggQEAgdm9pZCBpbnRlbF9kaXNwbGF5X2RyaXZlcl9yZW1vdmUoc3RydWN0IGludGVs X2Rpc3BsYXkgKmRpc3BsYXkpCj4+PiAgCWlmICghSEFTX0RJU1BMQVkoZGlzcGxheSkpCj4+PiAg CQlyZXR1cm47Cj4+PiAgCj4+PiArCWludGVsX2Rpc3BsYXlfcmVzZXRfZmVuY2VfZGlzY2FyZChk aXNwbGF5KTsKPj4+ICsKPj4+ICAJZmx1c2hfd29ya3F1ZXVlKGRpc3BsYXktPndxLmZsaXApOwo+ Pj4gIAlmbHVzaF93b3JrcXVldWUoZGlzcGxheS0+d3EubW9kZXNldCk7Cj4+PiAgCWZsdXNoX3dv cmtxdWV1ZShkaXNwbGF5LT53cS5jbGVhbnVwKTsKPj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfcmVzZXQuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV9yZXNldC5jCj4+PiBpbmRleCBjYTE1ZGMxOGVm MGYuLjgwZGQyZWE4YTBjMiAxMDA2NDQKPj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rp c3BsYXkvaW50ZWxfZGlzcGxheV9yZXNldC5jCj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfcmVzZXQuYwo+Pj4gQEAgLTMsNiArMyw4IEBACj4+PiAg ICogQ29weXJpZ2h0IMKpIDIwMjMgSW50ZWwgQ29ycG9yYXRpb24KPj4+ICAgKi8KPj4+ICAKPj4+ ICsjaW5jbHVkZSA8bGludXgvZG1hLWZlbmNlLmg+Cj4+PiArCj4+PiAgI2luY2x1ZGUgPGRybS9k cm1fYXRvbWljX2hlbHBlci5oPgo+Pj4gICNpbmNsdWRlIDxkcm0vZHJtX3ByaW50Lmg+Cj4+PiAg Cj4+PiBAQCAtMTYsNiArMTgsNzIgQEAKPj4+ICAjaW5jbHVkZSAiaW50ZWxfaG90cGx1Zy5oIgo+ Pj4gICNpbmNsdWRlICJpbnRlbF9wcHMuaCIKPj4+ICAKPj4+ICtzdGF0aWMgY29uc3QgY2hhciAq aW50ZWxfZGlzcGxheV9yZXNldF9mZW5jZV9nZXRfZHJpdmVyX25hbWUoc3RydWN0IGRtYV9mZW5j ZSAqZmVuY2UpCj4+PiArewo+Pj4gKwlyZXR1cm4gImludGVsX2Rpc3BsYXkiOwo+Pj4gK30KPj4+ ICsKPj4+ICtzdGF0aWMgY29uc3QgY2hhciAqaW50ZWxfZGlzcGxheV9yZXNldF9mZW5jZV9nZXRf dGltZWxpbmVfbmFtZShzdHJ1Y3QgZG1hX2ZlbmNlICpmZW5jZSkKPj4+ICt7Cj4+PiArCXJldHVy biAicmVzZXQiOwo+Pj4gK30KPj4+ICsKPj4+ICtzdGF0aWMgY29uc3Qgc3RydWN0IGRtYV9mZW5j ZV9vcHMgaW50ZWxfZGlzcGxheV9yZXNldF9mZW5jZV9vcHMgPSB7Cj4+PiArCS5nZXRfZHJpdmVy X25hbWUgPSBpbnRlbF9kaXNwbGF5X3Jlc2V0X2ZlbmNlX2dldF9kcml2ZXJfbmFtZSwKPj4+ICsJ LmdldF90aW1lbGluZV9uYW1lID0gaW50ZWxfZGlzcGxheV9yZXNldF9mZW5jZV9nZXRfdGltZWxp bmVfbmFtZSwKPj4+ICt9Owo+Pj4gKwo+Pj4gK3N0YXRpYyB2b2lkIGludGVsX2Rpc3BsYXlfcmVz ZXRfY3JlYXRlKHN0cnVjdCBpbnRlbF9kaXNwbGF5ICpkaXNwbGF5KQo+Pj4gK3sKPj4+ICsJc3Ry dWN0IGRtYV9mZW5jZSAqZmVuY2U7Cj4+PiArCj4+PiArCWZlbmNlID0ga3phbGxvY19vYmooKmZl bmNlKTsKPj4+ICsJaWYgKCFmZW5jZSkKPj4+ICsJCXJldHVybjsKPj4+ICsKPj4+ICsJZG1hX2Zl bmNlX2luaXQoZmVuY2UsICZpbnRlbF9kaXNwbGF5X3Jlc2V0X2ZlbmNlX29wcywgTlVMTCwgMCwg MCk7Cj4+PiArCj4+PiArCWRpc3BsYXktPnJlc2V0LmZlbmNlID0gZmVuY2U7Cj4+PiArfQo+Pj4g Kwo+Pj4gK3N0cnVjdCBkbWFfZmVuY2UgKmludGVsX2Rpc3BsYXlfcmVzZXRfZmVuY2VfZ2V0KHN0 cnVjdCBpbnRlbF9kaXNwbGF5ICpkaXNwbGF5KQo+Pj4gK3sKPj4+ICsJc3RydWN0IGRtYV9mZW5j ZSAqZmVuY2U7Cj4+PiArCj4+PiArCW11dGV4X2xvY2soJmRpc3BsYXktPnJlc2V0Lm11dGV4KTsK Pj4+ICsKPj4+ICsJaWYgKCFkaXNwbGF5LT5yZXNldC5mZW5jZSkKPj4+ICsJCWludGVsX2Rpc3Bs YXlfcmVzZXRfY3JlYXRlKGRpc3BsYXkpOwo+Pj4gKwo+Pj4gKwlmZW5jZSA9IGRpc3BsYXktPnJl c2V0LmZlbmNlOwo+Pj4gKwlpZiAoZmVuY2UpCj4+PiArCQlkbWFfZmVuY2VfZ2V0KGZlbmNlKTsK Pj4+ICsKPj4+ICsJbXV0ZXhfdW5sb2NrKCZkaXNwbGF5LT5yZXNldC5tdXRleCk7Cj4+PiArCj4+ PiArCXJldHVybiBmZW5jZTsKPj4+ICt9Cj4+PiArCj4+PiArdm9pZCBpbnRlbF9kaXNwbGF5X3Jl c2V0X2ZlbmNlX2Rpc2NhcmQoc3RydWN0IGludGVsX2Rpc3BsYXkgKmRpc3BsYXkpCj4+PiArewo+ Pj4gKwlzdHJ1Y3QgZG1hX2ZlbmNlICpmZW5jZTsKPj4+ICsKPj4+ICsJbXV0ZXhfbG9jaygmZGlz cGxheS0+cmVzZXQubXV0ZXgpOwo+Pj4gKwo+Pj4gKwlmZW5jZSA9IGRpc3BsYXktPnJlc2V0LmZl bmNlOwo+Pj4gKwlpZiAoZmVuY2UpCj4+PiArCQlkbWFfZmVuY2VfcHV0KGZlbmNlKTsKPj4+ICsK Pj4+ICsJZGlzcGxheS0+cmVzZXQuZmVuY2UgPSBOVUxMOwo+Pj4gKwo+Pj4gKwltdXRleF91bmxv Y2soJmRpc3BsYXktPnJlc2V0Lm11dGV4KTsKPj4+ICt9Cj4+PiArCj4+PiArdm9pZCBpbnRlbF9k aXNwbGF5X3Jlc2V0X2ZlbmNlX2luaXQoc3RydWN0IGludGVsX2Rpc3BsYXkgKmRpc3BsYXkpCj4+ PiArewo+Pj4gKwltdXRleF9pbml0KCZkaXNwbGF5LT5yZXNldC5tdXRleCk7Cj4+PiArfQo+Pj4g Kwo+Pj4gIGJvb2wgaW50ZWxfZGlzcGxheV9yZXNldF9zdXBwb3J0ZWQoc3RydWN0IGludGVsX2Rp c3BsYXkgKmRpc3BsYXkpCj4+PiAgewo+Pj4gIAlyZXR1cm4gSEFTX0RJU1BMQVkoZGlzcGxheSk7 Cj4+PiBAQCAtMzEsOCArOTksMTUgQEAgdm9pZCBpbnRlbF9kaXNwbGF5X3Jlc2V0X3ByZXBhcmUo c3RydWN0IGludGVsX2Rpc3BsYXkgKmRpc3BsYXkpCj4+PiAgewo+Pj4gIAlzdHJ1Y3QgZHJtX21v ZGVzZXRfYWNxdWlyZV9jdHggKmN0eCA9ICZkaXNwbGF5LT5yZXN0b3JlLnJlc2V0X2N0eDsKPj4+ ICAJc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlOwo+Pj4gKwlzdHJ1Y3QgZG1hX2ZlbmNl ICpyZXNldF9mZW5jZTsKPj4+ICAJaW50IHJldDsKPj4+ICAKPj4+ICsJcmVzZXRfZmVuY2UgPSBp bnRlbF9kaXNwbGF5X3Jlc2V0X2ZlbmNlX2dldChkaXNwbGF5KTsKPj4+ICsJaWYgKHJlc2V0X2Zl bmNlKSB7Cj4+PiArCQlkbWFfZmVuY2Vfc2lnbmFsKHJlc2V0X2ZlbmNlKTsKPj4+ICsJCWRtYV9m ZW5jZV9wdXQocmVzZXRfZmVuY2UpOwo+Pj4gKwl9Cj4+PiArCj4+PiAgCS8qCj4+PiAgCSAqIE5l ZWQgbW9kZV9jb25maWcubXV0ZXggc28gdGhhdCB3ZSBkb24ndAo+Pj4gIAkgKiB0cmFtcGxlIG9u Z29pbmcgLT5kZXRlY3QoKSBhbmQgd2hhdG5vdC4KPj4+IEBAIC0xMTAsNiArMTg1LDggQEAgdm9p ZCBpbnRlbF9kaXNwbGF5X3Jlc2V0X2ZpbmlzaChzdHJ1Y3QgaW50ZWxfZGlzcGxheSAqZGlzcGxh eSwgYm9vbCB0ZXN0X29ubHkpCj4+PiAgCj4+PiAgCWRybV9hdG9taWNfc3RhdGVfcHV0KHN0YXRl KTsKPj4+ICB1bmxvY2s6Cj4+PiArCWludGVsX2Rpc3BsYXlfcmVzZXRfZmVuY2VfZGlzY2FyZChk aXNwbGF5KTsKPj4+ICsKPj4+ICAJZHJtX21vZGVzZXRfZHJvcF9sb2NrcyhjdHgpOwo+Pj4gIAlk cm1fbW9kZXNldF9hY3F1aXJlX2ZpbmkoY3R4KTsKPj4+ICAJbXV0ZXhfdW5sb2NrKCZkaXNwbGF5 LT5kcm0tPm1vZGVfY29uZmlnLm11dGV4KTsKPj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfcmVzZXQuaCBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV9yZXNldC5oCj4+PiBpbmRleCBhOGFhNzcyOWQzM2Yu LmMzNmEwNzVjNmI0ZCAxMDA2NDQKPj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3Bs YXkvaW50ZWxfZGlzcGxheV9yZXNldC5oCj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9k aXNwbGF5L2ludGVsX2Rpc3BsYXlfcmVzZXQuaAo+Pj4gQEAgLTEwLDYgKzEwLDEwIEBACj4+PiAg Cj4+PiAgc3RydWN0IGludGVsX2Rpc3BsYXk7Cj4+PiAgCj4+PiArc3RydWN0IGRtYV9mZW5jZSAq aW50ZWxfZGlzcGxheV9yZXNldF9mZW5jZV9nZXQoc3RydWN0IGludGVsX2Rpc3BsYXkgKmRpc3Bs YXkpOwo+Pj4gK3ZvaWQgaW50ZWxfZGlzcGxheV9yZXNldF9mZW5jZV9kaXNjYXJkKHN0cnVjdCBp bnRlbF9kaXNwbGF5ICpkaXNwbGF5KTsKPj4+ICt2b2lkIGludGVsX2Rpc3BsYXlfcmVzZXRfZmVu Y2VfaW5pdChzdHJ1Y3QgaW50ZWxfZGlzcGxheSAqZGlzcGxheSk7Cj4+PiArCj4+PiAgYm9vbCBp bnRlbF9kaXNwbGF5X3Jlc2V0X3N1cHBvcnRlZChzdHJ1Y3QgaW50ZWxfZGlzcGxheSAqZGlzcGxh eSk7Cj4+PiAgYm9vbCBpbnRlbF9kaXNwbGF5X3Jlc2V0X3Rlc3Qoc3RydWN0IGludGVsX2Rpc3Bs YXkgKmRpc3BsYXkpOwo+Pj4gIHZvaWQgaW50ZWxfZGlzcGxheV9yZXNldF9wcmVwYXJlKHN0cnVj dCBpbnRlbF9kaXNwbGF5ICpkaXNwbGF5KTsKPj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0veGUvTWFrZWZpbGUgYi9kcml2ZXJzL2dwdS9kcm0veGUvTWFrZWZpbGUKPj4+IGluZGV4IDEx MGZlZjUxMWZlMi4uMWE4NWRmZTQ1N2YwIDEwMDY0NAo+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L3hlL01ha2VmaWxlCj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0veGUvTWFrZWZpbGUKPj4+IEBA IC0yNjIsNiArMjYyLDcgQEAgeGUtJChDT05GSUdfRFJNX1hFX0RJU1BMQVkpICs9IFwKPj4+ICAJ aTkxNS1kaXNwbGF5L2ludGVsX2Rpc3BsYXlfcG93ZXIubyBcCj4+PiAgCWk5MTUtZGlzcGxheS9p bnRlbF9kaXNwbGF5X3Bvd2VyX21hcC5vIFwKPj4+ICAJaTkxNS1kaXNwbGF5L2ludGVsX2Rpc3Bs YXlfcG93ZXJfd2VsbC5vIFwKPj4+ICsJaTkxNS1kaXNwbGF5L2ludGVsX2Rpc3BsYXlfcmVzZXQu byBcCj4+PiAgCWk5MTUtZGlzcGxheS9pbnRlbF9kaXNwbGF5X3JwbS5vIFwKPj4+ICAJaTkxNS1k aXNwbGF5L2ludGVsX2Rpc3BsYXlfcnBzLm8gXAo+Pj4gIAlpOTE1LWRpc3BsYXkvaW50ZWxfZGlz cGxheV90cmFjZS5vIFwKPiAKCg==