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 83F98CD5BA4 for ; Thu, 21 May 2026 12:39:18 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id C524D10E4D1; Thu, 21 May 2026 12:39:17 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (1024-bit key; unprotected) header.d=amd.com header.i=@amd.com header.b="SQskeNd7"; dkim-atps=neutral Received: from CO1PR03CU002.outbound.protection.outlook.com (mail-westus2azon11010003.outbound.protection.outlook.com [52.101.46.3]) by gabe.freedesktop.org (Postfix) with ESMTPS id D859F10E4D1; Thu, 21 May 2026 12:39:16 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=L6t5vPrYXpJF/lM74EyuvK8p5cSb64qMDb7rM1h+yOPA8OqE7nXOTmT9TajfZA1d4SrU7U3t1BlUePMmUfWfKqMJIzxOG+Ju0fwusVeFUTXO/xcBLhwubPL+s/GCATHoTcbe/8D0u27J+z2aKmnFuQI37MJEmHgPxA33bpghTWQ2/AqVh1TotDmRMBjMPsPPNwoByQF/vnbWREgsIFUh72G4wtkkZuNy5w3dR0O5Sfi+iHLKCwG+GZjvbPpRpshXnV2OSjwDIyJ1d5uwx0akyWmo9trRYJ5kAGZfA71wdrkK6oVeUT+xPpkAVa02WzYBCdN38MR10L/W84+9GZ0wOg== 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=qB7DG/Qoe6AxYIXu8MQKx/ll6syNJYZzRyJc7mjTS50=; b=PS3HYZXYJJZ3rw58oKN4Noew1bcWmQqVRHdnivUFtS8ZGs6frN6bGGRvr09ydmkZFvdJ5e6sGsoG062amivMH58e2pxOUSftPh9Dat0R48S9XBQwV51TrbNxjCiJ87PDl/Ga82c+hzxt/dFXW/XXFcGGEP3Vq7SndnfPk03cnsagh1Dy+TtcFdHJuAbHDH8qbXDbs3FC0+qvPDvCUUmAzmQ4br5tAXJKlAsQdHWjqxQ3nrpJqIBKe/+IOM/VVOxrW1WTNutI9nzlJDOG8vR3LjraCIpuNLWCJkR75bnkKDjZA8rDA2JnX9v3lMPU/feE/JAOT2h+fOLLMvtDm2jDpQ== 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=qB7DG/Qoe6AxYIXu8MQKx/ll6syNJYZzRyJc7mjTS50=; b=SQskeNd7kr1W7bRvvVlK1uvrNZF4qTsqXlxwagPsmY8cE5gAAbdNBEsOHoqcadtRfFfKvbObl5TPfq3WSJL1Avqeia4Et08dp4Eq3+YRydpiTFZKNoyPrcijnBlhvpyOy42826+E75ZMwe6mHqRb2F+c4q6LOJ/Te0SUpuhgv+k= 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 SA5PPF916D632A9.namprd12.prod.outlook.com (2603:10b6:80f:fc04::8d6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9913.11; Thu, 21 May 2026 12:39:14 +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.21.0025.022; Thu, 21 May 2026 12:39:13 +0000 Message-ID: <24b58d4c-7fa8-4bd4-a799-701f69cfbc06@amd.com> Date: Thu, 21 May 2026 14:39:07 +0200 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v4 1/2] drm/amdgpu: convert amdgpu_vm_lock_by_pasid() to drm_exec To: Mikhail Gavrilov , amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Cc: Alex Deucher , David Airlie , Simona Vetter , Pierre-Eric Pelloux-Prayer , Sumit Semwal , linux-media@vger.kernel.org, linaro-mm-sig@lists.linaro.org References: <20260520151741.50575-1-mikhail.v.gavrilov@gmail.com> <20260521104335.28978-1-mikhail.v.gavrilov@gmail.com> <20260521104335.28978-2-mikhail.v.gavrilov@gmail.com> Content-Language: en-US From: =?UTF-8?Q?Christian_K=C3=B6nig?= In-Reply-To: <20260521104335.28978-2-mikhail.v.gavrilov@gmail.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-ClientProxiedBy: FR2P281CA0029.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:14::16) To PH7PR12MB5685.namprd12.prod.outlook.com (2603:10b6:510:13c::22) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PH7PR12MB5685:EE_|SA5PPF916D632A9:EE_ X-MS-Office365-Filtering-Correlation-Id: cc5ffeda-48d1-46b0-3c94-08deb735f6e6 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|366016|1800799024|376014|22082099003|56012099003|18002099003|4143699003|11063799006|3023799007|6133799003; X-Microsoft-Antispam-Message-Info: 9G9gh9T4Cq47uC9APOgbqbMcND6VgSWsntlU999vAIUDtn5oRHRGRmlYGByyeh3ghcB04P/PY2BUDo5GtgxqhTTKS8mPujGiPV9bSwimT9tjNNYvceziSUk9NmNZWsxFKllm+bmFA8vbek0enCMAKbf6FyU5dSJPkIvsELlKqgr8Vb3S/QWWd3XHxHI9sfERCmfV1hd++PFg17WTgM/y6fJcmmZr2hEzekf33QhgefrZ4ZnAhEVOTN72hUhW6BAfJ+S/6LnJlGDIm8e38u+H6zisRXtIXFkQSGKxslvZ0jg6z4gUNp24+UlaeS8dJfoRi51Jyxavlc7egZiRL77SKHQPhHh/dYaS19sheRkHf1pXKzpBcfHQ5+DDPm9XFpkAOHimt3+ON+DL32eQ8K5AZrxOR5TcmZHnSnePxVXfjeq7KvDO/0kzkca71+goKCXv68OG8dB8teFT39/IU8W4q9Tnyi5c2NC8HEmtVmFUi5cAKHkhm+CG8Y9C+o1aMWR2p/Py/mDqgr+PFhlaeddLPcL5ahYRQlkuh9PSMLhb5+TehZsvPDD9c2p74bwnaatpfpOjDsZf7PiBlIw9ZP5IqhnWGJC2c1DPXCVPCPuWo7FhrsI2VgtWXfntKNCQRVIktrF5gV0wFed5BkPZQ2dDOoHc05O9wp1GeLXUX5hhtAej7wCj1xSVs84nC/65btMU 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)(56012099003)(18002099003)(4143699003)(11063799006)(3023799007)(6133799003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?SVhOQ1BlK252andmYW1qN1dySVFqcE5DRXdpekxqMFA1T2ZSU1UxTlZHeUFs?= =?utf-8?B?N3ZrbUVlVHpNalF6ZzVjUzFnWWZjNzdBUFZJbm52WERDR1JOdW1MaVFaRnVv?= =?utf-8?B?N011dkxRNFZFMWRvckcxTG9UN21TbEJsVmR4VzErUDhzdGVMSW16Yk9ZcDZm?= =?utf-8?B?WmhPR0E5ZEZpRmlMZnhKOU9EY2kyM1FteUdOL0FDcUI5NTFxSlNFU296eUVL?= =?utf-8?B?OWtPcWlXdkpsWGlacmFweUZoZ040M2t2TXczUmZ0eXlWVmZsZHMvRk9rdG53?= =?utf-8?B?NUhwOXhOTm8zWndHdUY2dlhCWHhmcDk2ZDlIbVU5b1BlVDJEWldkdlJOL1cz?= =?utf-8?B?bmdrQ2doUyt1QVorMjZhMm9FUUFLbmNYZjBrbk9PMHFDQWRFOVB3cFVmQVE2?= =?utf-8?B?bzZCZnhZMFJ4R2g3T2hBT0JjdzRtclpLWUJYd3R4ZWhPcEhiTGVhRkhrNzNG?= =?utf-8?B?dHFCditjK0VZWkhPaHMxWmsvN2lsVk5qZXRlRFdSTExEcVY3K0F0MThSVTZm?= =?utf-8?B?UGxWNUFGbGkveC9RYUNROU01VU5LNS8zc00xek5sQmV5OSszR2QxNEl2L2c0?= =?utf-8?B?ZGdIaHltODh5U1hVa3JzQmRuVUcvdWkyLzVjWmw2MFVnV2c5UjlDc203cTNr?= =?utf-8?B?NDVkSHlsYUMzck1iSTBiRDkzQTgvL09vV3ZFd1pDZmx1YXRudVBCRjAzSGlH?= =?utf-8?B?YzVSTWpEcnF0dlVrVWJlc25tdGVxMnpyVTJyWUhCeDFjN2t3Wm5tamVRWUpY?= =?utf-8?B?VTltMlZHRWhtMTVNNmhvWnVDeHVUMGZpeTBXdlMwcDh4ZWZLdHNicnk4Zmoz?= =?utf-8?B?akVkU2NZTklvUHpVTTdJbm5IbEpPV20rOVJFV0dSSGJvbkdPTUZJeW1yaDNV?= =?utf-8?B?KzlINmgwa0tjYThVa1VvazZLK1NPYzdndGVYU0dOWHdrUmJjZmxjaEhVK0ho?= =?utf-8?B?NDZxMFBYMzZKUFE4WStEekRodTVReTdxMnlKOHhSR0Y2SVNncDdmbCtLQjJI?= =?utf-8?B?UG9DZlZVRlZ1N0Fic0l0ckFvTjNoSkJPMUEwNzlVdWxCOGRhSWZpN3lVWmho?= =?utf-8?B?R0F1Sllydkd1T0FlWWNiL1BGcDNCRVY5VDdpd0xCUEZYeGorRlNXbGxxY3NW?= =?utf-8?B?VmhzNHg3OWRoeHZHOEk5Z0haeGlhSkdSbkJrMlc4UzRPSHFjN3hOSmh2eWN4?= =?utf-8?B?L1ZNRks2VXNaOXhmQ0FBT0NmVDlJVjhFSE1BdWs0UUluOFhCS0lVc2VhT0F1?= =?utf-8?B?WnlVb3pwaTRDZSt6cXJpOEZVVEgrZVhiMnV2a21wMFJFT3o1UUhBNTJrckVs?= =?utf-8?B?ak03T2tYRGFpaEVzaGlZYW4rNEp5VFBXUnMxZG1IZUVDeExvdHlEOVdOUW90?= =?utf-8?B?YWxLTk9IMFQrQ3ZJUUdoYkVhZzlnZVgvUmlZTGc5cE9BZ1M0MEZnWnFVbXpT?= =?utf-8?B?VDJmTytYdW14aUhoZ012NXZhcTBSSjU0SURQdytUL3Q1Y1I0bWJOd1ZSTFRj?= =?utf-8?B?ZllwU3ZNRTBOZ2twYjNLZFhUOGpoK2NaME80R0JKWVFCVSt1cldrSXB6MER6?= =?utf-8?B?d2ZvbnJlZUN5dUJMV05IR3pId3pJRGNJdjlaN2l1Qnl5Z3NZdmRQTFphb1Vk?= =?utf-8?B?Si81Y3cvQnBCV1RDTmMwbGxvZkpiUGJBd2hRYjZHV2Y0N05aVUN3RkhpSC91?= =?utf-8?B?dmVzQXRIMDE5TVNGalZ3S3F3NG9icHVSQmgxLzc0Y3dsT2VMM0tLd3VHVGZR?= =?utf-8?B?SVFWVlo0Unl5eUwrN0pNRnlCMFJPbzRYZW45ZmFkaEtqNU1ZTjNXbnNGbnl5?= =?utf-8?B?QmpkZ1NHZWNZVGsrMVFhWU9yeVcza0g1ZDZyVlN2azJTQW4xYWY5Ly9id3Ny?= =?utf-8?B?K05mdGZDVTI4TFJvNnYvOEZnYVEyZS9la1NCNjZtdG9kVWluT2FJUXNvelhN?= =?utf-8?B?cnlreVRBNDkxa0tVR1pGOUUvT3AwU0gxM09rZTlHRUlzM2ZjajZjaGF5SDM0?= =?utf-8?B?clE0THlXdmxUM0lHc1cvVTRkWEFyYVNFaXVKMkRmaFNEcmNIaWhFdlFmWkJV?= =?utf-8?B?bEZmUEVoOTNqemZxYXhmY0ZqUVFrUkJZNXduOXkybDRNRUIwMVNKN1BoOGxR?= =?utf-8?B?T2U1ZzVWZ0FpNmV1NXp1d3hPWWJYOGpQOW5pbEl3RS9WM2I4bmdTamU4bXFm?= =?utf-8?B?d094NlltenZ1L2hvT1hnYWsrQjlSdEQ5WmdBZFJzM0h2MmJoc0djUEFDWTUz?= =?utf-8?B?VWpMUk84NkhhaHo4NGc3NndMSkxJREhnRkZNU2JJY1RwYm5QVERhOVlyNER3?= =?utf-8?Q?wMTycSXD5dJui3XH6T?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: cc5ffeda-48d1-46b0-3c94-08deb735f6e6 X-MS-Exchange-CrossTenant-AuthSource: PH7PR12MB5685.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 May 2026 12:39:13.8207 (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: G8y2f64Sk/eaXA8zxfuLIo1cvfU2D1Vkz1BeEa4yyxD76zrdU+udMQZN4t1OrPNS X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA5PPF916D632A9 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" T24gNS8yMS8yNiAxMjo0MywgTWlraGFpbCBHYXZyaWxvdiB3cm90ZToKPiBhbWRncHVfdm1fbG9j a19ieV9wYXNpZCgpIGxvb2tzIHVwIGEgVk0gYnkgUEFTSUQgYW5kIHJlc2VydmVzIGl0cyByb290 Cj4gUEQgd2l0aCBhIGJhcmUgYW1kZ3B1X2JvX3Jlc2VydmUoKSwgcmV0dXJuaW5nIHRoZSBzdGls bC1yZXNlcnZlZCByb290IHRvCj4gdGhlIGNhbGxlci4gQSBjYWxsZXIgdGhhdCB0aGVuIG5lZWRz IHRvIHJlc2VydmUgZnVydGhlciBCT3MgKGZvciBleGFtcGxlCj4gdGhlIGRldmNvcmVkdW1wIElC IGR1bXApIGVuZHMgdXAgbmVzdGluZyByZXNlcnZhdGlvbl93d19jbGFzc19tdXRleAo+IGFjcXVp cmVzIHdpdGhvdXQgYSB3d19hY3F1aXJlX2N0eCwgd2hpY2ggbG9ja2RlcCBmbGFncyBhcyByZWN1 cnNpdmUKPiBsb2NraW5nLgo+IAo+IENvbnZlcnQgdGhlIGhlbHBlciB0byB0YWtlIGEgZHJtX2V4 ZWMgY29udGV4dCBhbmQgbG9jayB0aGUgcm9vdCBQRCB3aXRoCj4gZHJtX2V4ZWNfbG9ja19vYmoo KS4gQ2FsbGVycyBub3cgcnVuIGl0IGluc2lkZSBhCj4gZHJtX2V4ZWNfdW50aWxfYWxsX2xvY2tl ZCgpIGxvb3AgYW5kIGNhbiBsb2NrIGFkZGl0aW9uYWwgQk9zIGluIHRoZSBzYW1lCj4gd3cgdGlj a2V0LCBzbyB0aGVyZSBpcyBubyBuZXN0ZWQgd3dfbXV0ZXggYWNxdWlyZS4KPiAKPiBUaGUgZHJt X2V4ZWMgY29udGV4dCBob2xkcyBpdHMgb3duIHJlZmVyZW5jZSBvbiB0aGUgbG9ja2VkIHJvb3Qg Qk8sIHNvCj4gdGhlIGhlbHBlciBubyBsb25nZXIgaGFuZHMgYSByb290IHJlZmVyZW5jZSBiYWNr IHRvIHRoZSBjYWxsZXI6IHRoZQo+IHJvb3Qgb3V0cHV0IHBhcmFtZXRlciBpcyBkcm9wcGVkLCBh bmQgdGhlIHRyYW5zaWVudCByZWZlcmVuY2UgdGFrZW4KPiBhY3Jvc3MgdGhlIFBBU0lEIGxvb2t1 cCBpcyByZWxlYXNlZCBiZWZvcmUgcmV0dXJuaW5nLgo+IAo+IFRoZSBvbmx5IGV4aXN0aW5nIGNh bGxlciwgYW1kZ3B1X3ZtX2hhbmRsZV9mYXVsdCgpLCBpcyB1cGRhdGVkCj4gYWNjb3JkaW5nbHku IEl0cyBpc19jb21wdXRlX2NvbnRleHQgcGF0aCwgd2hpY2ggcHJldmlvdXNseSBkcm9wcGVkIHRo ZQo+IHJvb3QgcmVzZXJ2YXRpb24gYXJvdW5kIHN2bV9yYW5nZV9yZXN0b3JlX3BhZ2VzKCkgYW5k IHJlLXRvb2sgaXQsIG5vdwo+IGZpbmFsaXNlcyB0aGUgZHJtX2V4ZWMgY29udGV4dCBhbmQgcmUt aW5pdGlhbGlzZXMgYSBmcmVzaCBvbmU7IGJlaGF2aW91cgo+IGlzIG90aGVyd2lzZSB1bmNoYW5n ZWQuCj4gCj4gTm8gZnVuY3Rpb25hbCBjaGFuZ2UgaW50ZW5kZWQgZm9yIHRoZSBwYWdlLWZhdWx0 IHBhdGguCj4gCj4gU2lnbmVkLW9mZi1ieTogTWlraGFpbCBHYXZyaWxvdiA8bWlraGFpbC52Lmdh dnJpbG92QGdtYWlsLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1k Z3B1X3ZtLmMgfCA5MSArKysrKysrKysrKysrKysrLS0tLS0tLS0tLQo+ICBkcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHVfdm0uaCB8ICAyICstCj4gIDIgZmlsZXMgY2hhbmdlZCwgNTgg aW5zZXJ0aW9ucygrKSwgMzUgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92bS5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRn cHUvYW1kZ3B1X3ZtLmMKPiBpbmRleCA5YmE5ZGUxNmEyN2EuLjU5MTk4MDkwNzIxMSAxMDA2NDQK PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdm0uYwo+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92bS5jCj4gQEAgLTI5NTAsNDcgKzI5NTAs NTYgQEAgaW50IGFtZGdwdV92bV9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpk YXRhLCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbHApCj4gIH0KPiAgCj4gIC8qKgo+IC0gKiBhbWRncHVf dm1fbG9ja19ieV9wYXNpZCAtIHJldHVybiBhbiBhbWRncHVfdm0gYW5kIGl0cyByb290IGJvIGZy b20gYSBwYXNpZCwgaWYgcG9zc2libGUuCj4gKyAqIGFtZGdwdV92bV9sb2NrX2J5X3Bhc2lkIC0g bG9vayB1cCBhIFZNIGJ5IFBBU0lEIGFuZCBsb2NrIGl0cyByb290IFBECj4gICAqIEBhZGV2OiBh bWRncHUgZGV2aWNlIHBvaW50ZXIKPiAtICogQHJvb3Q6IHJvb3QgQk8gb2YgdGhlIFZNCj4gICAq IEBwYXNpZDogUEFTSUQgb2YgdGhlIFZNCj4gLSAqIFRoZSBjYWxsZXIgbmVlZHMgdG8gdW5yZXNl cnZlIGFuZCB1bnJlZiB0aGUgcm9vdCBibyBvbiBzdWNjZXNzLgo+ICsgKiBAZXhlYzogZHJtX2V4 ZWMgY29udGV4dCB0byBsb2NrIHRoZSByb290IFBEIGluCj4gKyAqCj4gKyAqIE11c3QgYmUgY2Fs bGVkIGZyb20gd2l0aGluIGEgZHJtX2V4ZWNfdW50aWxfYWxsX2xvY2tlZCgpIGxvb3A7IHRoZSBj YWxsZXIKPiArICogcnVucyBkcm1fZXhlY19yZXRyeV9vbl9jb250ZW50aW9uKCkgYWZ0ZXJ3YXJk cy4gVGhlIGRybV9leGVjIGNvbnRleHQgaG9sZHMKPiArICogYSByZWZlcmVuY2Ugb24gdGhlIHJv b3QgQk8gdW50aWwgaXQgaXMgZmluYWxpc2VkLgo+ICsgKgo+ICsgKiBSZXR1cm46IHRoZSBWTSBv biBzdWNjZXNzLCBvciBOVUxMIGlmIHRoZSBQQVNJRCBoYXMgbm8gVk0sIHRoZSBWTSBpcyBiZWlu Zwo+ICsgKiB0b3JuIGRvd24sIG9yIGxvY2tpbmcgdGhlIHJvb3QgUEQgZmFpbGVkLgo+ICAgKi8K PiAgc3RydWN0IGFtZGdwdV92bSAqYW1kZ3B1X3ZtX2xvY2tfYnlfcGFzaWQoc3RydWN0IGFtZGdw dV9kZXZpY2UgKmFkZXYsCj4gLQkJCQkJICBzdHJ1Y3QgYW1kZ3B1X2JvICoqcm9vdCwgdTMyIHBh c2lkKQo+ICsJCQkJCSAgdTMyIHBhc2lkLCBzdHJ1Y3QgZHJtX2V4ZWMgKmV4ZWMpCj4gIHsKPiAg CXVuc2lnbmVkIGxvbmcgaXJxZmxhZ3M7Cj4gKwlzdHJ1Y3QgYW1kZ3B1X2JvICpyb290Owo+ICAJ c3RydWN0IGFtZGdwdV92bSAqdm07Cj4gIAlpbnQgcjsKPiAgCj4gIAl4YV9sb2NrX2lycXNhdmUo JmFkZXYtPnZtX21hbmFnZXIucGFzaWRzLCBpcnFmbGFncyk7Cj4gIAl2bSA9IHhhX2xvYWQoJmFk ZXYtPnZtX21hbmFnZXIucGFzaWRzLCBwYXNpZCk7Cj4gLQkqcm9vdCA9IHZtID8gYW1kZ3B1X2Jv X3JlZih2bS0+cm9vdC5ibykgOiBOVUxMOwo+ICsJcm9vdCA9IHZtID8gYW1kZ3B1X2JvX3JlZih2 bS0+cm9vdC5ibykgOiBOVUxMOwo+ICAJeGFfdW5sb2NrX2lycXJlc3RvcmUoJmFkZXYtPnZtX21h bmFnZXIucGFzaWRzLCBpcnFmbGFncyk7Cj4gIAo+IC0JaWYgKCEqcm9vdCkKPiArCWlmICghcm9v dCkKPiAgCQlyZXR1cm4gTlVMTDsKPiAgCj4gLQlyID0gYW1kZ3B1X2JvX3Jlc2VydmUoKnJvb3Qs IHRydWUpOwo+IC0JaWYgKHIpCj4gLQkJZ290byBlcnJvcl91bnJlZjsKPiArCXIgPSBkcm1fZXhl Y19sb2NrX29iaihleGVjLCAmcm9vdC0+dGJvLmJhc2UpOwo+ICsJaWYgKHIpIHsKPiArCQlhbWRn cHVfYm9fdW5yZWYoJnJvb3QpOwo+ICsJCXJldHVybiBOVUxMOwo+ICsJfQo+ICAKPiAgCS8qIERv dWJsZSBjaGVjayB0aGF0IHRoZSBWTSBzdGlsbCBleGlzdHMgKi8KPiAgCXhhX2xvY2tfaXJxc2F2 ZSgmYWRldi0+dm1fbWFuYWdlci5wYXNpZHMsIGlycWZsYWdzKTsKPiAgCXZtID0geGFfbG9hZCgm YWRldi0+dm1fbWFuYWdlci5wYXNpZHMsIHBhc2lkKTsKPiAtCWlmICh2bSAmJiB2bS0+cm9vdC5i byAhPSAqcm9vdCkKPiArCWlmICh2bSAmJiB2bS0+cm9vdC5ibyAhPSByb290KQo+ICAJCXZtID0g TlVMTDsKPiAgCXhhX3VubG9ja19pcnFyZXN0b3JlKCZhZGV2LT52bV9tYW5hZ2VyLnBhc2lkcywg aXJxZmxhZ3MpOwo+IC0JaWYgKCF2bSkKPiAtCQlnb3RvIGVycm9yX3VubG9jazsKPiArCWlmICgh dm0pIHsKPiArCQlkcm1fZXhlY191bmxvY2tfb2JqKGV4ZWMsICZyb290LT50Ym8uYmFzZSk7Cj4g KwkJYW1kZ3B1X2JvX3VucmVmKCZyb290KTsKPiArCQlyZXR1cm4gTlVMTDsKPiArCX0KPiAgCj4g LQlyZXR1cm4gdm07Cj4gLWVycm9yX3VubG9jazoKPiAtCWFtZGdwdV9ib191bnJlc2VydmUoKnJv b3QpOwo+ICsJLyogVGhlIGRybV9leGVjIGNvbnRleHQgaG9sZHMgaXRzIG93biByZWZlcmVuY2Ug b24gdGhlIHJvb3QgQk8uICovCj4gKwlhbWRncHVfYm9fdW5yZWYoJnJvb3QpOwo+ICAKPiAtZXJy b3JfdW5yZWY6Cj4gLQlhbWRncHVfYm9fdW5yZWYocm9vdCk7Cj4gLQlyZXR1cm4gTlVMTDsKPiAr CXJldHVybiB2bTsKPiAgfQo+ICAKPiAgLyoqCj4gQEAgLTMwMTIsMzMgKzMwMjEsNDkgQEAgYm9v bCBhbWRncHVfdm1faGFuZGxlX2ZhdWx0KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LCB1MzIg cGFzaWQsCj4gIAkJCSAgICB1aW50NjRfdCB0cywgYm9vbCB3cml0ZV9mYXVsdCkKPiAgewo+ICAJ Ym9vbCBpc19jb21wdXRlX2NvbnRleHQgPSBmYWxzZTsKPiAtCXN0cnVjdCBhbWRncHVfYm8gKnJv b3Q7Cj4gKwlzdHJ1Y3QgZHJtX2V4ZWMgZXhlYzsKPiAgCXVpbnQ2NF90IHZhbHVlLCBmbGFnczsK PiAgCXN0cnVjdCBhbWRncHVfdm0gKnZtOwo+ICAJaW50IHI7Cj4gIAo+IC0Jdm0gPSBhbWRncHVf dm1fbG9ja19ieV9wYXNpZChhZGV2LCAmcm9vdCwgcGFzaWQpOwo+IC0JaWYgKCF2bSkKPiArCWRy bV9leGVjX2luaXQoJmV4ZWMsIDAsIDApOwoKTWFrZSB0aGUgbGFzdCBwYXJhbWV0ZXIgMSBoZXJl IHNpbmNlIHdlIGFyZSBleHBlY3RpbmcgdG8gbG9jayAxIG9iamVjdC4KCk5vdCBhIG11c3QgaGF2 ZSwgaXQgd2lsbCB3b3JrIHdpdGhvdXQgYnV0IGl0IGlzIGp1c3QgYSBsaXR0bGUgYml0IG1vcmUg b3B0aW1hbC4KCkFwYXJ0IGZyb20gdGhhdCBSZXZpZXdlZC1ieTogQ2hyaXN0aWFuIEvDtm5pZyA8 Y2hyaXN0aWFuLmtvZW5pZ0BhbWQuY29tPi4KClRoYW5rcywKQ2hyaXN0aWFuLgoKPiArCWRybV9l eGVjX3VudGlsX2FsbF9sb2NrZWQoJmV4ZWMpIHsKPiArCQl2bSA9IGFtZGdwdV92bV9sb2NrX2J5 X3Bhc2lkKGFkZXYsIHBhc2lkLCAmZXhlYyk7Cj4gKwkJZHJtX2V4ZWNfcmV0cnlfb25fY29udGVu dGlvbigmZXhlYyk7Cj4gKwkJaWYgKCF2bSkKPiArCQkJYnJlYWs7Cj4gKwl9Cj4gKwlpZiAoIXZt KSB7Cj4gKwkJZHJtX2V4ZWNfZmluaSgmZXhlYyk7Cj4gIAkJcmV0dXJuIGZhbHNlOwo+ICsJfQo+ ICAKPiAgCWlzX2NvbXB1dGVfY29udGV4dCA9IHZtLT5pc19jb21wdXRlX2NvbnRleHQ7Cj4gIAo+ ICAJaWYgKGlzX2NvbXB1dGVfY29udGV4dCkgewo+IC0JCS8qIFVucmVzZXJ2ZSByb290IHNpbmNl IHN2bV9yYW5nZV9yZXN0b3JlX3BhZ2VzIG1pZ2h0IHRyeSB0byByZXNlcnZlIGl0LiAqLwo+IC0J CS8qIFRPRE86IHJld29yayBzdm1fcmFuZ2VfcmVzdG9yZV9wYWdlcyBzbyB0aGF0IHRoaXMgaXNu J3QgbmVjZXNzYXJ5LiAqLwo+IC0JCWFtZGdwdV9ib191bnJlc2VydmUocm9vdCk7Cj4gKwkJLyog UmVsZWFzZSB0aGUgcm9vdCBQRCBsb2NrIHNpbmNlIHN2bV9yYW5nZV9yZXN0b3JlX3BhZ2VzCj4g KwkJICogbWlnaHQgdHJ5IHRvIHRha2UgaXQuCj4gKwkJICogVE9ETzogcmV3b3JrIHN2bV9yYW5n ZV9yZXN0b3JlX3BhZ2VzIHNvIHRoYXQgdGhpcyBpc24ndAo+ICsJCSAqIG5lY2Vzc2FyeS4KPiAr CQkgKi8KPiArCQlkcm1fZXhlY19maW5pKCZleGVjKTsKPiAgCj4gIAkJaWYgKCFzdm1fcmFuZ2Vf cmVzdG9yZV9wYWdlcyhhZGV2LCBwYXNpZCwgdm1pZCwKPiAtCQkJCQkgICAgIG5vZGVfaWQsIGFk ZHIgPj4gUEFHRV9TSElGVCwgdHMsIHdyaXRlX2ZhdWx0KSkgewo+IC0JCQlhbWRncHVfYm9fdW5y ZWYoJnJvb3QpOwo+ICsJCQkJCSAgICAgbm9kZV9pZCwgYWRkciA+PiBQQUdFX1NISUZULCB0cywg d3JpdGVfZmF1bHQpKQo+ICAJCQlyZXR1cm4gdHJ1ZTsKPiAtCQl9Cj4gLQkJYW1kZ3B1X2JvX3Vu cmVmKCZyb290KTsKPiAgCj4gIAkJLyogUmUtYWNxdWlyZSB0aGUgVk0gbG9jaywgY291bGQgYmUg dGhhdCB0aGUgVk0gd2FzIGZyZWVkIGluIGJldHdlZW4uICovCj4gLQkJdm0gPSBhbWRncHVfdm1f bG9ja19ieV9wYXNpZChhZGV2LCAmcm9vdCwgcGFzaWQpOwo+IC0JCWlmICghdm0pCj4gKwkJZHJt X2V4ZWNfaW5pdCgmZXhlYywgMCwgMCk7Cj4gKwkJZHJtX2V4ZWNfdW50aWxfYWxsX2xvY2tlZCgm ZXhlYykgewo+ICsJCQl2bSA9IGFtZGdwdV92bV9sb2NrX2J5X3Bhc2lkKGFkZXYsIHBhc2lkLCAm ZXhlYyk7Cj4gKwkJCWRybV9leGVjX3JldHJ5X29uX2NvbnRlbnRpb24oJmV4ZWMpOwo+ICsJCQlp ZiAoIXZtKQo+ICsJCQkJYnJlYWs7Cj4gKwkJfQo+ICsJCWlmICghdm0pIHsKPiArCQkJZHJtX2V4 ZWNfZmluaSgmZXhlYyk7Cj4gIAkJCXJldHVybiBmYWxzZTsKPiArCQl9Cj4gIAl9Cj4gIAo+ICAJ YWRkciAvPSBBTURHUFVfR1BVX1BBR0VfU0laRTsKPiBAQCAtMzA2Miw3ICszMDg3LDcgQEAgYm9v bCBhbWRncHVfdm1faGFuZGxlX2ZhdWx0KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LCB1MzIg cGFzaWQsCj4gIAkJdmFsdWUgPSAwOwo+ICAJfQo+ICAKPiAtCXIgPSBkbWFfcmVzdl9yZXNlcnZl X2ZlbmNlcyhyb290LT50Ym8uYmFzZS5yZXN2LCAxKTsKPiArCXIgPSBkbWFfcmVzdl9yZXNlcnZl X2ZlbmNlcyh2bS0+cm9vdC5iby0+dGJvLmJhc2UucmVzdiwgMSk7Cj4gIAlpZiAocikgewo+ICAJ CXByX2RlYnVnKCJmYWlsZWQgJWQgdG8gcmVzZXJ2ZSBmZW5jZSBzbG90XG4iLCByKTsKPiAgCQln b3RvIGVycm9yX3VubG9jazsKPiBAQCAtMzA3NiwxMiArMzEwMSwxMCBAQCBib29sIGFtZGdwdV92 bV9oYW5kbGVfZmF1bHQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsIHUzMiBwYXNpZCwKPiAg CXIgPSBhbWRncHVfdm1fdXBkYXRlX3BkZXMoYWRldiwgdm0sIHRydWUpOwo+ICAKPiAgZXJyb3Jf dW5sb2NrOgo+IC0JYW1kZ3B1X2JvX3VucmVzZXJ2ZShyb290KTsKPiArCWRybV9leGVjX2Zpbmko JmV4ZWMpOwo+ICAJaWYgKHIgPCAwKQo+ICAJCWRldl9lcnIoYWRldi0+ZGV2LCAiQ2FuJ3QgaGFu ZGxlIHBhZ2UgZmF1bHQgKCVkKVxuIiwgcik7Cj4gIAo+IC0JYW1kZ3B1X2JvX3VucmVmKCZyb290 KTsKPiAtCj4gIAlyZXR1cm4gZmFsc2U7Cj4gIH0KPiAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92bS5oIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRn cHUvYW1kZ3B1X3ZtLmgKPiBpbmRleCBkMDgzZDdhYWI3NWMuLjBjNmUzZTAzNjhjNyAxMDA2NDQK PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdm0uaAo+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92bS5oCj4gQEAgLTU5Myw3ICs1OTMsNyBA QCBib29sIGFtZGdwdV92bV9oYW5kbGVfZmF1bHQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYs IHUzMiBwYXNpZCwKPiAgCQkJICAgIGJvb2wgd3JpdGVfZmF1bHQpOwo+ICAKPiAgc3RydWN0IGFt ZGdwdV92bSAqYW1kZ3B1X3ZtX2xvY2tfYnlfcGFzaWQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFk ZXYsCj4gLQkJCQkJICBzdHJ1Y3QgYW1kZ3B1X2JvICoqcm9vdCwgdTMyIHBhc2lkKTsKPiArCQkJ CQkgIHUzMiBwYXNpZCwgc3RydWN0IGRybV9leGVjICpleGVjKTsKPiAgCj4gIHZvaWQgYW1kZ3B1 X3ZtX3NldF90YXNrX2luZm8oc3RydWN0IGFtZGdwdV92bSAqdm0pOwo+ICAKCg==