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 74662EFB819 for ; Tue, 24 Feb 2026 09:12:52 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id DE07710E52D; Tue, 24 Feb 2026 09:12:51 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (1024-bit key; unprotected) header.d=amd.com header.i=@amd.com header.b="Ksu6xFpK"; dkim-atps=neutral Received: from PH7PR06CU001.outbound.protection.outlook.com (mail-westus3azon11010018.outbound.protection.outlook.com [52.101.201.18]) by gabe.freedesktop.org (Postfix) with ESMTPS id A4EC210E52D for ; Tue, 24 Feb 2026 09:12:50 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Xu+zRHon8C3PLvjEaPPs2zmavI+/0dVzvImCHgFOhWUxri6Ubbl25ERYwf5b2ICliq0v5Xgr+va96lKiPDVi3mUdHS50taxg+n85UdGLv/wYxfgKkAZQ1nitdYA1QT0mw4rFqI1YojDrb9OI1aHgY36+tPEUGkRAOn067N1FGtG/AWDuPzBxACaeTKoDncZdH6PC5JLddgUUrdTDdbPBHjucSB2LPfupWfDDys9rZLZKS4h/D8BEto//wzFn2LV405ocgEdNvm3HjSb66K6wRH7R85rSGUdFcQq3sB34xQu14kN9UacXiIXwBoidY31ZzcYerCFPxW1tl/zX59Yt+Q== 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=ufXzMOHWxUJ0luDL7bPzACkdeeYGPmoemAe4BDfcByw=; b=o0I+3/ld58zW9r+SOuqZx8kqwIPNZ1Uxw7a9MkeBjO8UYxw3y+8dvMeUTc52m1UYHw/o03I8tOJVrh3AY3IUMAFM/KreZBekn3bHvf8pzTYTwyzYN6KM1jb/dCksZOWJv8FS63dph0ce2ngbfVxX5ULNwIBGoVqjT8bpMwAMWY5I83mo84ewT+9QBAwVRnMzPlGgN7oM/OXu6yi/cnal7F8l1IEQh6sPpnHeipif+6I0ullqgfhc1HEh5zcpTR/RdUvucC51c+Vv/8sscTNgq8HGggAND3aFaH7z/E3uYGZzIROeILVsUYPNtVzzjpnCj9hIZd1/BQpGImy3UK8UTA== 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=ufXzMOHWxUJ0luDL7bPzACkdeeYGPmoemAe4BDfcByw=; b=Ksu6xFpKNVDwnT0JxwWDAnnwtXryiPfTRdt68XJhTRzX/cIBzxZ6Gz1QbK8PP9IdFWZvMZBsMxaz6/5XKsk9FagmIYDiqsqUOQCXtLiC4k2g248ZbKxzc0q5kS2yMf/u4SYqvKWcyPOjmFjNzKm3yewGCuAQa9WbRpipZOI6HP4= 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 DS0PR12MB7780.namprd12.prod.outlook.com (2603:10b6:8:152::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9632.21; Tue, 24 Feb 2026 09:12:45 +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.9632.017; Tue, 24 Feb 2026 09:12:45 +0000 Message-ID: Date: Tue, 24 Feb 2026 10:12:31 +0100 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH RFC 12/18] accel/qda: Add PRIME dma-buf import support To: Ekansh Gupta , Oded Gabbay , Jonathan Corbet , Shuah Khan , Joerg Roedel , Will Deacon , Robin Murphy , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Sumit Semwal Cc: dri-devel@lists.freedesktop.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, iommu@lists.linux.dev, linux-media@vger.kernel.org, linaro-mm-sig@lists.linaro.org, Srinivas Kandagatla , Dmitry Baryshkov , Bharath Kumar , Chenna Kesava Raju References: <20260224-qda-firstpost-v1-0-fe46a9c1a046@oss.qualcomm.com> <20260224-qda-firstpost-v1-12-fe46a9c1a046@oss.qualcomm.com> Content-Language: en-US From: =?UTF-8?Q?Christian_K=C3=B6nig?= In-Reply-To: <20260224-qda-firstpost-v1-12-fe46a9c1a046@oss.qualcomm.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-ClientProxiedBy: FR4P281CA0260.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:e8::7) To PH7PR12MB5685.namprd12.prod.outlook.com (2603:10b6:510:13c::22) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PH7PR12MB5685:EE_|DS0PR12MB7780:EE_ X-MS-Office365-Filtering-Correlation-Id: 3087b48c-007d-4800-db5a-08de7384df4d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|7416014|376014|366016|921020|7053199007; X-Microsoft-Antispam-Message-Info: =?utf-8?B?U2hOTXpBWXYwVXVuRE9hNXEwK3gySi9VcFhDcFFtWjRUWVdldE5OWFZyM0hm?= =?utf-8?B?OUtIUGU4SnM5QkhpMlJuYlBEbzNnMEo3NHE0KzZZdllXTUlCVnI0T2J5MTRQ?= =?utf-8?B?Um16YzJNSmZOY0FDN1dXclg2WUFRQ2tLem1pL3pYNlBKbmhWbEVDaHZ0UjBw?= =?utf-8?B?S3I3MDZ1a05xMmNLa1lRencyRG5FUjdhSURqZXlxNFBvZzZPZ0JyOXZiQ01N?= =?utf-8?B?eXRCZkdqc05DenZVVkdIUFZBMllBdEo5QVBXWkhCTzk2NEdMWEZtNDUvdEVY?= =?utf-8?B?ejFVcjU0azhvL09yalBuMzFYRlUrVmdpZisyS1c3My9DOFJkNlcwL1JhS0x1?= =?utf-8?B?cnZ6WVlxMFhoK3Y1aUp6QkcrUW5ZVitIU0E2V1hLZXlDUkkzTGJBZE5LQ1NS?= =?utf-8?B?TFZEL1orbWpUcnZXY1l0eWdHam91Rm53c04vdGlEN2xqYzkyWTBYem1RU0Ru?= =?utf-8?B?akVtMDNZV1hQaTloVUg0b1B2TFNiR3RwSlRpYVVlVGNOdDB3TkxOdkZ6MTZr?= =?utf-8?B?bVlOakd2SWJUcWYwWm5meTVuY3ZyMWhxc2lHUEVndWIweXM1bmJ2RHEvdVRJ?= =?utf-8?B?dG5RbDU2NDR1RmdJNVhrNUFxQjM2c00rOTQ2U3ZQdEhaVTRGZlpKVkFiMzhv?= =?utf-8?B?UUtaQ3dtd0pDOGR3Zm9XYXJYa0tlVE9YZVozLzBpMWd0THVrOFllY2RacDJz?= =?utf-8?B?U3UwaTJXeW1iSHJQRkhjZHFpN2tUY1ZDbUVGdnBzNDVKV0NZU2NqdXprQnNu?= =?utf-8?B?RGZIOTdubVlKcFNjcHAzZHhJZW14UjJtb01Lamx2cG5mNjhDNkpPUDVLSjlC?= =?utf-8?B?eG5KdEhkWmw5cE5Id0d1ZEJKR1RZY0VOS2xKaE56bWdGckpJTloxZk9Bc0NG?= =?utf-8?B?dXhBR1JMTVZSTTd1SU9oM0doVWl3eE1yVzArV2lqNDRDTm1RbC95VWdmLzho?= =?utf-8?B?LzNhMnVaeTRLa3BNaGxSRmt6NXl3bk5aMElZVUpvekRmeUdBcjA3eTZkaW1F?= =?utf-8?B?eGdxcjAwWEl2OXNYdkJ2RzhkMjI5S1A4ZEdmYkZGcU9kQWw4aExoZ2o3SDFG?= =?utf-8?B?cGtZd29GMUJTMXlhYTkzdjd4WHlPSVZrbFZLeFkrdnQ4OUtOL012UmVBSC9t?= =?utf-8?B?cFN4ZFFTRjVKRFhkQkg3Vkw0ZjFXOVRXQ3dPdmNKaE9zVmQ4QXIrNkhlWUQ1?= =?utf-8?B?Nmp4cXI2UVcvWGwrMHNIbUhwSHI0bVBZdnFLc1RrT2UzS3l2YmpNUDZOd3Ur?= =?utf-8?B?elNMQ1NaOU03T0N0VE1pM0V4dFFMc2NEMVh1RUZwRS9ta3RtYUFLN2c4N0pk?= =?utf-8?B?R2lEQUpVd1B4bk5td0swV1Z6THVtY2Q5MnVZOXIxUC9xZVllRVRpK2kzUFYw?= =?utf-8?B?TE1QY2FVYjF0TCtobWNTOEdPWThYUENCTDBMWHFKVG9JVGlHQkJNaEZHS0Yz?= =?utf-8?B?bXFSWk5HQVR4QUhjNncrY1d0SGFNUmlnT3NaOHFTeUZQcE5hSE1jc2xBSDlD?= =?utf-8?B?OEpqTUhYbmFwbFRkYUpjdzdVWS84cGdrWUsrTDlKM0ZmOWpHMlFXeVBjVUJ6?= =?utf-8?B?K3NRWjJGSUxRTUY4S21ReldORUVXMjlPZ0d0eUJjODlrMDQyWjRtTUxxQysz?= =?utf-8?B?b0x6YWJLQTNJYUlsVnh4aDhhcVhSM0l1U0ZNQkFqVFFaUE1YMjlSMFhtOTNI?= =?utf-8?B?S3lmV1VzZkxYbmtIdFN5R2pxQjlPUHU4WDlTLytGT2d0OUlHNk9tTllIYytu?= =?utf-8?B?Sm9rQXBibkFQNEdxdC9yczg0SkZvYVdjRCswMW9zOUwxMUc4VW9RTEZROXVI?= =?utf-8?B?MFJ2eUdqQ1lQa2xETW9mQ0tDdzd1VlhzaVUzM0orQytWUGFYMHZYMjJrcmxu?= =?utf-8?B?M200MGppdTF2eC9hT2hJVy92R0dHOGhnYlZrc0s3bWVFVnlzZGI3UGRBOERr?= =?utf-8?B?blJiYkk5bnd6SnJXbGo2KytSR3JDSSt3Z2Rpb25TMkppa09PRHVKbEo1MDNC?= =?utf-8?B?SVdiajlEV3BjUW1aTm9JQ1k4VGNPeHYwVzRQZHJVUHA3QnoxZStzQUV1L01P?= =?utf-8?B?dXM4MjE2Z2lMMzBDNXpoZjRzVU1hWVlKVjJyMXZFdTVVQTNRN1o0U3lJWmc3?= =?utf-8?B?Y1B0V1dtVzd3RnIrdnZlb2xHYjNFUnAzVm00dkVBK1huK0RBWktzbXBmbUd2?= =?utf-8?B?cEE9PQ==?= 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)(1800799024)(7416014)(376014)(366016)(921020)(7053199007); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?OE1jUXVSMVdnd2V6SzFZSkUxVU44M0hpQnZmOHlTL0sybW0wWmU4WExLelF0?= =?utf-8?B?UHM2OUtxTVJHV2dtTXlDZ3lDYzRLV1dQMTUyb2RyRFJ2QkErK29kWkFVdjlY?= =?utf-8?B?cUVSczlrOVBHQmIxeEVLWW9tWUJmQjhBbW5rZ2N0YUwvOHN6anViUjZHblky?= =?utf-8?B?VUJhejVmQ0NvcDdOMUFwc1VvMDhBcnRiakVtemJQcmNKWS9TWCtSTDZmaUVU?= =?utf-8?B?S3lUSCtOMUhKRGkxbTNsYUdRYzNGNU1zU29QNUkwaVhobHI0UDd3VUNsekNy?= =?utf-8?B?VTl4YUFqKy9GTktqODc5Y1V1cCtEc2tUUXZEWmxEMjVkL1JWcTZSbG0vQlRo?= =?utf-8?B?SHBiTjFLbElRbWxGUndIb3BBUkdXWEZ0L01Hc2tiNUQ5bmNPL09Nc3BiMXlz?= =?utf-8?B?TDBMY3FmeHNQODBnT3BEK2Jnd1ZwcFlzN0tVNDlhNll1NXFtK3MwMlpxd1Rn?= =?utf-8?B?NkFhVXp0U1kxc1VHR3U2L0hzeVBGYmJPMm5VcS80MGxwcUZpN0cxQWdTWEpu?= =?utf-8?B?Q2tDbXZsQmhieVhERUNKVVdGQUY2RjFiRUFVdERXNFd6eHpNM2FTenZuc3hK?= =?utf-8?B?ZWlZdktuRE5FSFp6K1drRFRMMjB2am1uL2hYZFB3UmdGQysxemZaUTBML3Zo?= =?utf-8?B?Z0NmcGJwMmFabWEwZkRJSVU2WXd6RGRTZzFLb3dCMHpLL1pabUZHaHRJdUYw?= =?utf-8?B?d0FGbnBCU1JCTXg1dThEZVpUeXM1RkxzNU9rSG93THNIUlh5cndQNlpwZGR4?= =?utf-8?B?SHNzT3lFdWNMVE5EQnIyaXhiZDNSV29vQk1Sd0kxemtGcGh0aXNLNkdOYzM3?= =?utf-8?B?WEV1QkJZbEdOd25NSlF5SEYrRmVyb2hISms5dk1XVmtLSGdQMWUxVUpOck9P?= =?utf-8?B?R2g1c3dBenBXZEltdXp4c3JTMWFPSTlsM29ZQnRNZk5zdFBzSXgzWXBBYWdM?= =?utf-8?B?c0N4d28yODhvQSthRXhnRTVjQXJ0TjBiYTVpdjJ5cjR1aHN5NlJhWHBvcGM3?= =?utf-8?B?S3VmV0RjdHNSN3o0bUVmbUtaUGVudU5Ici9TTlVocVc4MmZtWENPQkc5bzBN?= =?utf-8?B?bVZhdmFoMUVXaDVVQ2hCRXZLdDliQ3BmZlFMVk9PakNtTkVxVjF5ZHNqTDBn?= =?utf-8?B?RCtXWkdudmxxK2sxVTdpSTNyVUhXaU5jTGtqZ0NqdU1hT0Y2R3hvWlBpQWdJ?= =?utf-8?B?RWQyZnFoT3AwME5oNXZuL1ppMDJQeE5iN3RTeTA3ZTI1S2pPSml0SEZYWm1L?= =?utf-8?B?dGN0OVBqTFZ0T0RnNHozZ3picFUrYVNQN3BtQVpMRHAreVV4ZlladHpTaFhB?= =?utf-8?B?c0RaQVJwTVZXY0hQeXV0MFdqUVU3NmZjZS9Dak9yd3RFTHR1V2FpMXdNYjA4?= =?utf-8?B?NEVzU0duc2VrTFFZZFhKRXh4ekhpT3h0U01pdGo0bVRkQUpoa1BSWldOYVJk?= =?utf-8?B?VU4wS3ZURUpobUgwUmZwME5zMDhjUXdzQi9aNm9haTl0WWg1S3U3WjNFbGcr?= =?utf-8?B?aWZVakpVOHpRdHM0YWJiT1hGdzZJYmswb2tHNUZKbnNURkFiY2FqbDVLdTg4?= =?utf-8?B?d1N4SlY4ZzAzMWY4L0lpQkx4MGhRMHgwQjRPT3JZVGI3RzZoc21jR0VIbnlK?= =?utf-8?B?TC9iTzhTbGIzQlMyZzVoVDRoNGxLTGsvaGRFVTRwek8vSnVEbW5tZG0wV2R4?= =?utf-8?B?aFRFN2dXWDErNlpkRUlxSXJBWFNEUFE4Sm1OYytBWXpXaGlibkR4QmlEeHM5?= =?utf-8?B?K3I2bTMzK25BNXEvZy90V05VVktQYnhkTXliT01yTEYwSWFLd1ByVDlsNmVy?= =?utf-8?B?aXA0aUVsd0JWVWdHa2UzK0VZemw1VW50anBpK2xvb3g2SU1mV0N4YlRyallZ?= =?utf-8?B?RjNuOWpBYlhUZFFWd0RvL3l6L0ovWnhuTXhWeGorcjRUem0zdGdZeUhIeXdE?= =?utf-8?B?NmNsODlXalluY09JS2xPdTJFWnNkRHQ2dFR1VWN5bFREay9FWHR5dENLcUxl?= =?utf-8?B?VlJGTGpKZmpacWVKUkE1QjJ1NHZCNXBQTXdHV3lUYXArOTN5Z1lmMGJyUWpM?= =?utf-8?B?SHRKUFRlb3pEanN6V2pTV1lxWHh5QW4wK2dvV3Rmc2hROGtNVkpCMlpNUFRj?= =?utf-8?B?V0E2QWJ2UG1XQ04zUTlwQlNtUkZucEQrL0F4MVB1clA0UUJKOTNDSjFqVXpL?= =?utf-8?B?ODVyR2x3WHE3WUV1OEZlWWxlTHRXNGpTekNzNHBWUC84bHBvQWIxVUgzMEVk?= =?utf-8?B?NWVxUXlpaFkwdlpRb0xhTUFzZVczS1Y1SFdSNVZjb28wVWcrZVZmbWtDb0Mv?= =?utf-8?Q?aXudlNRcegXfr2L2P5?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3087b48c-007d-4800-db5a-08de7384df4d X-MS-Exchange-CrossTenant-AuthSource: PH7PR12MB5685.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Feb 2026 09:12:45.4844 (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: pThJ454xjrTKAvNLyN2kpz9PJ548iMi8kzcnY9B/V2EOQWZklJ586CP/5LaZrE18 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB7780 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" T24gMi8yMy8yNiAyMDowOSwgRWthbnNoIEd1cHRhIHdyb3RlOgo+IFtTaWUgZXJoYWx0ZW4gbmlj aHQgaMOkdWZpZyBFLU1haWxzIHZvbiBla2Fuc2guZ3VwdGFAb3NzLnF1YWxjb21tLmNvbS4gV2Vp dGVyZSBJbmZvcm1hdGlvbmVuLCB3YXJ1bSBkaWVzIHdpY2h0aWcgaXN0LCBmaW5kZW4gU2llIHVu dGVyIGh0dHBzOi8vYWthLm1zL0xlYXJuQWJvdXRTZW5kZXJJZGVudGlmaWNhdGlvbiBdCj4gCj4g QWRkIFBSSU1FIGRtYS1idWYgaW1wb3J0IHN1cHBvcnQgZm9yIFFEQSBHRU0gYnVmZmVyIG9iamVj dHMgYW5kIGludGVncmF0ZQo+IGl0IHdpdGggdGhlIGV4aXN0aW5nIHBlci1wcm9jZXNzIG1lbW9y eSBtYW5hZ2VyIGFuZCBJT01NVSBkZXZpY2UgbW9kZWwuCj4gCj4gVGhlIGltcGxlbWVudGF0aW9u IGV4dGVuZHMgcWRhX2dlbV9vYmogdG8gcmVwcmVzZW50IGltcG9ydGVkIGRtYS1idWZzLAo+IGlu Y2x1ZGluZyBkbWFfYnVmIHJlZmVyZW5jZXMsIGF0dGFjaG1lbnQgc3RhdGUsIHNjYXR0ZXItZ2F0 aGVyIHRhYmxlcwo+IGFuZCBhbiBpbXBvcnRlZCBETUEgYWRkcmVzcyB1c2VkIGZvciBEU1AtZmFj aW5nIGJvb2sta2VlcGluZy4gVGhlCj4gcWRhX2dlbV9wcmltZV9pbXBvcnQoKSBwYXRoIGhhbmRs ZXMgcmVpbXBvcnRzIG9mIGJ1ZmZlcnMgb3JpZ2luYWxseQo+IGV4cG9ydGVkIGJ5IFFEQSBhcyB3 ZWxsIGFzIGltcG9ydHMgb2YgZXh0ZXJuYWwgZG1hLWJ1ZnMsIGF0dGFjaGluZyB0aGVtCj4gdG8g dGhlIGFzc2lnbmVkIElPTU1VIGRldmljZQoKVGhhdCBpcyB1c3VhbGx5IGFuIGFic29sdXRlbHkg Y2xlYXIgTk8tR08gZm9yIERNQS1idWZzLiBXaGVyZSBleGFjdGx5IGluIHRoZSBjb2RlIGlzIHRo YXQ/Cgo+IGFuZCBtYXBwaW5nIHRoZW0gdGhyb3VnaCB0aGUgbWVtb3J5IG1hbmFnZXIKPiBmb3Ig RFNQIGFjY2Vzcy4gVGhlIEdFTSBmcmVlIHBhdGggaXMgdXBkYXRlZCB0byB1bm1hcCBhbmQgZGV0 YWNoCj4gaW1wb3J0ZWQgYnVmZmVycyB3aGlsZSBwcmVzZXJ2aW5nIHRoZSBleGlzdGluZyBiZWhh dmlvdXIgZm9yIGxvY2FsbHkKPiBhbGxvY2F0ZWQgbWVtb3J5Lgo+IAo+IFRoZSBQUklNRSBmZC10 by1oYW5kbGUgcGF0aCBpcyBpbXBsZW1lbnRlZCBpbiBxZGFfcHJpbWVfZmRfdG9faGFuZGxlKCks Cj4gd2hpY2ggcmVjb3JkcyB0aGUgY2FsbGluZyBkcm1fZmlsZSBpbiBhIGRyaXZlci1wcml2YXRl IGltcG9ydCBjb250ZXh0Cj4gYmVmb3JlIGludm9raW5nIHRoZSBjb3JlIERSTSBoZWxwZXJzLiBU aGUgR0VNIGltcG9ydCBjYWxsYmFjayByZXRyaWV2ZXMKPiB0aGlzIGNvbnRleHQgdG8gZW5zdXJl IHRoYXQgYW4gSU9NTVUgZGV2aWNlIGlzIGFzc2lnbmVkIHRvIHRoZSBwcm9jZXNzCj4gYW5kIHRo YXQgaW1wb3J0ZWQgYnVmZmVycyBmb2xsb3cgdGhlIHNhbWUgcGVyLXByb2Nlc3MgSU9NTVUgc2Vs ZWN0aW9uCj4gcnVsZXMgYXMgbmF0aXZlbHkgYWxsb2NhdGVkIEdFTSBvYmplY3RzLgo+IAo+IFRo aXMgcGF0Y2ggcHJlcGFyZXMgdGhlIGRyaXZlciBmb3IgaW50ZXJvcGVyYWJsZSBidWZmZXIgc2hh cmluZyBiZXR3ZWVuCj4gUURBIGFuZCBvdGhlciBkbWEtYnVmIGNhcGFibGUgc3Vic3lzdGVtcyB3 aGlsZSBrZWVwaW5nIElPTU1VIG1hcHBpbmcgYW5kCj4gbGlmZXRpbWUgaGFuZGxpbmcgY29uc2lz dGVudCB3aXRoIHRoZSBleGlzdGluZyBHRU0gYWxsb2NhdGlvbiBmbG93Lgo+IAo+IFNpZ25lZC1v ZmYtYnk6IEVrYW5zaCBHdXB0YSA8ZWthbnNoLmd1cHRhQG9zcy5xdWFsY29tbS5jb20+CgouLi4K Cj4gQEAgLTE1LDIzICsxNiwyOSBAQCBzdGF0aWMgaW50IHZhbGlkYXRlX2dlbV9vYmpfZm9yX21t YXAoc3RydWN0IHFkYV9nZW1fb2JqICpxZGFfZ2VtX29iaikKPiAgICAgICAgICAgICAgICAgcWRh X2VycihOVUxMLCAiSW52YWxpZCBHRU0gb2JqZWN0IHNpemVcbiIpOwo+ICAgICAgICAgICAgICAg ICByZXR1cm4gLUVJTlZBTDsKPiAgICAgICAgIH0KPiAtICAgICAgIGlmICghcWRhX2dlbV9vYmot PmlvbW11X2RldiB8fCAhcWRhX2dlbV9vYmotPmlvbW11X2Rldi0+ZGV2KSB7Cj4gLSAgICAgICAg ICAgICAgIHFkYV9lcnIoTlVMTCwgIkFsbG9jYXRlZCBidWZmZXIgbWlzc2luZyBJT01NVSBkZXZp Y2VcbiIpOwo+IC0gICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsKPiAtICAgICAgIH0KPiAt ICAgICAgIGlmICghcWRhX2dlbV9vYmotPmlvbW11X2Rldi0+ZGV2KSB7Cj4gLSAgICAgICAgICAg ICAgIHFkYV9lcnIoTlVMTCwgIkFsbG9jYXRlZCBidWZmZXIgbWlzc2luZyBJT01NVSBkZXZpY2Vc biIpOwo+IC0gICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsKPiAtICAgICAgIH0KPiAtICAg ICAgIGlmICghcWRhX2dlbV9vYmotPnZpcnQpIHsKPiAtICAgICAgICAgICAgICAgcWRhX2VycihO VUxMLCAiQWxsb2NhdGVkIGJ1ZmZlciBtaXNzaW5nIHZpcnR1YWwgYWRkcmVzc1xuIik7Cj4gLSAg ICAgICAgICAgICAgIHJldHVybiAtRUlOVkFMOwo+IC0gICAgICAgfQo+IC0gICAgICAgaWYgKHFk YV9nZW1fb2JqLT5kbWFfYWRkciA9PSAwKSB7Cj4gLSAgICAgICAgICAgICAgIHFkYV9lcnIoTlVM TCwgIkFsbG9jYXRlZCBidWZmZXIgbWlzc2luZyBETUEgYWRkcmVzc1xuIik7Cj4gLSAgICAgICAg ICAgICAgIHJldHVybiAtRUlOVkFMOwo+ICsgICAgICAgaWYgKHFkYV9nZW1fb2JqLT5pc19pbXBv cnRlZCkgewoKQWJzb2x1dGVseSBjbGVhciBOQUsgdG8gdGhhdC4gSW1wb3J0ZWQgYnVmZmVycyAq Y2FuJ3QqIGJlIG1tYXBlZCB0aHJvdWdoIHRoZSBpbXBvcnRlciEKClVzZXJzcGFjZSBuZWVkcyB0 byBtbWFwKCkgdGhlbSB0aHJvdWdoIHRoZSBleHBvcnRlci4KCklmIHlvdSBhYnNvbHV0ZWx5IGhh dmUgdG8gbWFwIHRoZW0gdGhyb3VnaCB0aGUgaW1wb3J0ZXIgZm9yIHVBUEkgYmFja3dhcmQgY29t cGF0aWJpbGl0eSB0aGVuIHRoZXJlIGlzIGRtYV9idWZfbW1hcCgpIGZvciB0aGF0LCBidXQgdGhp cyBpcyBjbGVhcmx5IG5vdCB0aGUgY2FzZSBoZXJlLgoKLi4uCj4gK3N0YXRpYyBpbnQgcWRhX21l bW9yeV9tYW5hZ2VyX21hcF9pbXBvcnRlZChzdHJ1Y3QgcWRhX21lbW9yeV9tYW5hZ2VyICptZW1f bWdyLAo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qg cWRhX2dlbV9vYmogKmdlbV9vYmosCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHN0cnVjdCBxZGFfaW9tbXVfZGV2aWNlICppb21tdV9kZXYpCj4gK3sKPiArICAg ICAgIHN0cnVjdCBzY2F0dGVybGlzdCAqc2c7Cj4gKyAgICAgICBkbWFfYWRkcl90IGRtYV9hZGRy Owo+ICsgICAgICAgaW50IHJldCA9IDA7Cj4gKwo+ICsgICAgICAgaWYgKCFnZW1fb2JqLT5pc19p bXBvcnRlZCB8fCAhZ2VtX29iai0+c2d0IHx8ICFpb21tdV9kZXYpIHsKPiArICAgICAgICAgICAg ICAgcWRhX2VycihOVUxMLCAiSW52YWxpZCBwYXJhbWV0ZXJzIGZvciBpbXBvcnRlZCBidWZmZXIg bWFwcGluZ1xuIik7Cj4gKyAgICAgICAgICAgICAgIHJldHVybiAtRUlOVkFMOwo+ICsgICAgICAg fQo+ICsKPiArICAgICAgIGdlbV9vYmotPmlvbW11X2RldiA9IGlvbW11X2RldjsKPiArCj4gKyAg ICAgICBzZyA9IGdlbV9vYmotPnNndC0+c2dsOwo+ICsgICAgICAgaWYgKHNnKSB7Cj4gKyAgICAg ICAgICAgICAgIGRtYV9hZGRyID0gc2dfZG1hX2FkZHJlc3Moc2cpOwo+ICsgICAgICAgICAgICAg ICBkbWFfYWRkciArPSAoKHU2NClpb21tdV9kZXYtPnNpZCA8PCAzMik7Cj4gKwo+ICsgICAgICAg ICAgICAgICBnZW1fb2JqLT5pbXBvcnRlZF9kbWFfYWRkciA9IGRtYV9hZGRyOwoKV2VsbCB0aGF0 IGxvb2tzIGxpa2UgeW91IGFyZSBvbmx5IHVzaW5nIHRoZSBmaXJzdCBETUEgYWRkcmVzcyBmcm9t IHRoZSBpbXBvcnRlZCBzZ3QuIFdoYXQgYWJvdXQgdGhlIG90aGVycz8KClJlZ2FyZHMsCkNocmlz dGlhbi4K