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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (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 3CE00C4345F for ; Mon, 22 Apr 2024 14:21:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:In-Reply-To:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=Jzbdv8pOWsCoz5IAr5h4Tg5j7rpSCGwYf/Aq+2uNo44=; b=VqGvmUjTRpxtH0 OfcWHSvp43MELVyIuN4pdNCR6zjMDqHOKISDBe1eCLZhuxOXrlkzldQGNImBjnxkIZJzsxOQqrpvx FE+ULKuzB8EqZkAOmIEeyQt7RduDIxQp/E/d6iolnS6tXqx/8qrH6GA6jua347WYwSzeKZhUxIf0b TDsYo2eVeupmsOjV1KFYDQH0/lyhUUUaDgl59Q0QYIeZ2LEdue9hpVL4RJC3aJiCRYEUTuypTUb50 JEgvxvmIYHK0pMIgZMyYxrHsyE/ZAUCiVfj0d/TlrJNB/vUH4oXKmFywg6pIH65hrULWvtcKt03pJ yupwcWUxw7vVTo2sjLdg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1ryuXh-0000000DtVk-22vU; Mon, 22 Apr 2024 14:21:13 +0000 Received: from mail-dm6nam04on20601.outbound.protection.outlook.com ([2a01:111:f403:2409::601] helo=NAM04-DM6-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1ryuXe-0000000DtT0-1zM8 for linux-arm-kernel@lists.infradead.org; Mon, 22 Apr 2024 14:21:12 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Cz0PNN/Az0VfVIk7f1MicGOD5F9WnJncuFJZcHevj0mpTx8CiHV5IId0VHpBR3c8xmN1fKMm9FFOIYfioVvJHHMP6eneS3sAFer5dt42kjVG8c5aV18ou7mPX34fuadqb4OkGWhvq0akEEx2p41cnVgWLxjd7+3/lAVg6yVo7UVySwFn3+tBmmcsXar++nJIEWkbVUQD69gMyPET3h4p76pkKUkLvuF1RgzMY6xbM6yKXvvgYDxV8VnSgLW47rx7SGhkf3LIbpsHVPAgxbnDz2aM6PQ8fwyR90zStdZ/jaRahRyP3mkyycTZ0/b+UIahS5k5dKfFu7a1QyVAky6TmA== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=skMBJs9AvKIFwsPmoOvo5bw6/7NhVcGPOltUHpsiDvk=; b=bnkYOG4tplHDGKtAkupyQa8LEDzOVdcO3Uzuwo7tai5sbEHmTxXx1IrxG78E8DdZPQ1EnWY5hl3Cdv7N2qDXFh8iBSfYQDEe/fXXUrUtgMerAI4TqQzgLccqvOLn72hm63PUXu0mDLvxXm8/z9nQE04kjoXbo4zGhwbuW+L70SwoTxE7iREkT5Y1cl983bx77zDICzNg2TA9WM9kk61oXgqtK8jKXnrBr2sbm7JUdVWHz97BPGn0uE7M+xx2WAEKiA1p5tSn/fTjhMT550Mkzu1ulqhK3bXRqdZCDz4DJ7vWZGsqvzTF1fspzrBko0aX6RWL0S2ap1c9rEb6fA5iqw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=skMBJs9AvKIFwsPmoOvo5bw6/7NhVcGPOltUHpsiDvk=; b=SfKiEzyRy1dIHxPSyXZGortRXtS+nqyQybbxx7ezCbKTC1jms+PECngY9Al4/FcC97rJF4ICWv97GxcB4G+E37imlW0DpMo0Z89od+0s4bHjv2hjA5IW4Ab4J/PIhqTk7uqYGyys77JTUbCX3k3fZVrSMdhY+LZDQ8XKVQ3j/Ekq+ExZmEPBUaB2PbQf1aOz341GJU5V+Hd/VhYLE2Sj4uba3IwU3seBuHm0Oe8YmHOyfMtdSLgU4lrhPgk7SREpuegWJ1KJiamZdI+dFxi3srhVcNGt7Nz+lIQEsIkGWuvSpvNMs82nj0uiHw54APINAzMoUbqF1u/c0xkA/S6LtQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from DM6PR12MB3849.namprd12.prod.outlook.com (2603:10b6:5:1c7::26) by SN7PR12MB7833.namprd12.prod.outlook.com (2603:10b6:806:344::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.44; Mon, 22 Apr 2024 14:20:54 +0000 Received: from DM6PR12MB3849.namprd12.prod.outlook.com ([fe80::6aec:dbca:a593:a222]) by DM6PR12MB3849.namprd12.prod.outlook.com ([fe80::6aec:dbca:a593:a222%5]) with mapi id 15.20.7472.044; Mon, 22 Apr 2024 14:20:54 +0000 Date: Mon, 22 Apr 2024 11:20:53 -0300 From: Jason Gunthorpe To: Mostafa Saleh Cc: iommu@lists.linux.dev, Joerg Roedel , linux-arm-kernel@lists.infradead.org, Robin Murphy , Will Deacon , Eric Auger , Moritz Fischer , Moritz Fischer , Michael Shavit , Nicolin Chen , patches@lists.linux.dev, Shameerali Kolothum Thodi Subject: Re: [PATCH v7 5/9] iommu/arm-smmu-v3: Make arm_smmu_alloc_cd_ptr() Message-ID: <20240422142053.GD49823@nvidia.com> References: <0-v7-cb149db3a320+3b5-smmuv3_newapi_p2_jgg@nvidia.com> <5-v7-cb149db3a320+3b5-smmuv3_newapi_p2_jgg@nvidia.com> Content-Disposition: inline In-Reply-To: X-ClientProxiedBy: BL1PR13CA0174.namprd13.prod.outlook.com (2603:10b6:208:2bd::29) To DM6PR12MB3849.namprd12.prod.outlook.com (2603:10b6:5:1c7::26) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM6PR12MB3849:EE_|SN7PR12MB7833:EE_ X-MS-Office365-Filtering-Correlation-Id: eb4bab73-779f-4910-84a5-08dc62d76bcf X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: =?utf-8?B?ZlA2L2RFakthaDIwN1JYaUIydjVNUnVCbk9pdEpodDFyMWNrZnZyMVB2RWVu?= =?utf-8?B?ZXN0SU05T0szRHI1cWprQlVLbStpend0c3B1aWNOL0FlZDZYSHlOOUhzUmdE?= =?utf-8?B?VnE5dlhYOHlQNHZLenVHOCtZNHJlNTFjR1RQMnkxSG9vNkJucXZMS1lsZ2Ra?= =?utf-8?B?c1Bib1NoZFhRRDRNYkUxSTZBSU8vMTQwQXd6WnJRUGN5VGxENDhYeEd5R2dW?= =?utf-8?B?ckNCVlQ5cFdab3kwVXdXV3g0R0RMZzlnR0FMaENEMjZUTmMzeU5hZitMUFNM?= =?utf-8?B?QmI2RGFKYjBSZlRtTTQxbkpwSEpYWE8rT3laeDJ5RmhrRXpzM1J0QlFnNUZo?= =?utf-8?B?MDBmVmxFdk16aHI5U1hVTUNPL0dDRHh6U2xtSnhUVVQ1Nm9DejNKYTREblJq?= =?utf-8?B?d2xyRUtsQ2xBdW10emw3bHJQME1OdHJkQW5JQ00ycUx3aW8yV1NMcGJHbmlu?= =?utf-8?B?cVYwQTF4Vzh1bm1lc0ROcjArS3hjWGw3ZnBtMTBPL0NlQXBlSE1rbGFMajJV?= =?utf-8?B?aWE0bGVkeHZGWWU4bTRQYW5kaEZsVS82ZlBuR2drNStiN1FFZEtHdEJlWEhZ?= =?utf-8?B?dkRQeEtMR0tzRUlJMklJa3BrMEpCeExoQWpjYTRRb2dOdGJabWdsL0lTYzBR?= =?utf-8?B?aHVTSldDbVg2d2MwbjRnZXJpTmNYalRycjBsWno2eXV6azJJZlRkS1JhMVN4?= =?utf-8?B?bDZUTkN0cnpqbUZDeTVXOUlaV0o1NW9qVVZzOE9UcjVsT25VK2MwS0MvdWlJ?= =?utf-8?B?WU1xaU1LQzNDVmRYR1p6YTNqTUdOTW1CZ0ZwUVZqUXltd2lINTZSa2NQS3pp?= =?utf-8?B?UXZnUFZPQ0NiNFlVU3FEa0dwSUQzWDNXR2ZjckNKM21GeFhFeEpiWUtKUDZi?= =?utf-8?B?SERtYStrN1JSL3lGekRaZW5iRWRaSFlEUHorTnpLUUFMT0JldjhISTMzUlhW?= =?utf-8?B?UnFQTnlGbnowaUFRMTNlSHIrSldQNzZLeWFWSTdPTTZ1Rkx6MnlQTE4vbVFE?= =?utf-8?B?QkQvYkNjeElLcFBnR1cyL0NCeXAxSzNaT1ByNTNybWlqcWc4M29sVExxc1pa?= =?utf-8?B?dTBFZDc3cDdwaWZ4blNUNVZGclVCdGZkYTNPdzBOZExYZ3dVMzNqWHpqVS9H?= =?utf-8?B?SUFibXVmc2hOTWhja0NpVjZ4ZHhpU3lFN1UvRFFDZ3piRjJZNUdCanZGT25H?= =?utf-8?B?czBPRUZiZk5JZUx1eVQxUTlKSkx2c2hYbGtBNy9acWhIQkJPR3ZqVVpYVS9m?= =?utf-8?B?Z1NEOUZCN0ovNkM2cWtwTStxbGt2U01ZMFFTS2FKZ1pmQkFvU1JvMGRsUXkr?= =?utf-8?B?SEFpejhjMFRtRXZ6aG16NEFCQ2x2am1zc3V6Mk15UXQxQ0RVejBrZ01Xb2s5?= =?utf-8?B?dHZ4RXY2MytUWkQxVzRyVHNaZ3drS0tDMmxMNGdKNGxYVzN2TkhEOW5Sa1Nt?= =?utf-8?B?VDhNVmloOHlOOTBBRjFxNmhOd1Nxak84OVpSRGlIQXVEUlh2aGg5ZWhNeGE4?= =?utf-8?B?bmRCRWc5UWZDZjhsMFFlMHVkNHpYTjlqZFpjMUVqdHRDKy9Wd2xPTGpKaDB6?= =?utf-8?B?MjlJK3FKUkpwKysybDBKUUQvc2dseW1neHZuNVZkcXFwMjVYZVVIaXZvbEth?= =?utf-8?B?OVNmeWpaUnJuS2ZVVE1mWlVYYnNNZURSQlc0c2dJa3hRRW5iT1FzbUYzUWVS?= =?utf-8?B?YXlucGt2MmFQSUEwK0tYWThaOFg0ckxBSkxXblhyUWRIMldITVJJNkFBPT0=?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR12MB3849.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366007)(7416005)(1800799015)(376005);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Zm1ISDRKZHQ3YndZbXpaU3JwMzlDTER0bFAxLy83L2kxM2EyZDhGblI2aUlN?= =?utf-8?B?RDRMem9EVGdJK0VYbllORk5hZzV6RGxQTDZtemsxSU5Md3VQcDhPV0xBUWo3?= =?utf-8?B?SUlnUlpmZEVZcmlzT3psSTRSRDE2SllVM3NPS3lEaldwUVpOUUxQSXJ3UmZx?= =?utf-8?B?RmtwV0xRSTRBV1hrYWtqaDJLVHVja0dMcjVxVFpyTHY4Ry8yVnlUWVJLUG9i?= =?utf-8?B?NkR6NVdYaGphb29BRW1nc3BxbTllYUROQkxSNVAzNlVDTEN6RzVVTFkwR1Yw?= =?utf-8?B?NGdRQWpJQmlnT3FQbkdhdEZTWkh1Sk1EWmRJL1BLdjg0bVh1Y0RXN09jaWw5?= =?utf-8?B?Y2lnNHE5T2RERzRZeFVDcXNNTVpkT2Q0RDVwejlNckVqbW81cnZqOVBSYmM4?= =?utf-8?B?aWRMekFPTUJOYWwxQWlhek9IMHIrakxZUm1sWUpqTHVmeFlrRXpHQVV4UlFN?= =?utf-8?B?RW8yL1ZFdFJZRUdtZlJEWDJOcjBQaGppV1Vnc29VUnJra0lJOVRwUWxubWpS?= =?utf-8?B?VjNCQnFHNjVraEQrdkxNMXRLUjJkN2FnaUp5TW4wa1N6a1JKb25nLzd1YXc3?= =?utf-8?B?bmFBRHBkazg5MnhteDZJRCtzMXhUaG9GbkNLRGZSeWk1YTNkMTdXak1UYU9j?= =?utf-8?B?N25za2U1Rk9ieEVpbWY4dHI5Q3VGNGtXQU9DSVlWSjZOR29RVWZ6ck9TUDRL?= =?utf-8?B?K090RE9SL1R4S2xZNmZSSXFDK005KzdsZ1ZPQis3dUh2S2ZJdDlTdzBoZkI1?= =?utf-8?B?Ny9BSHFiWkVFb0xSRWsvcDlySlB1cVFNd3pET0ZsMFBQakRtR0FQSCtIbDk0?= =?utf-8?B?ZUVyNTBjZUMvL1hFZHdKQ0V4Tmw1NWMyR3U2dU81eW1rR3NvNkdQZ0FLK3JQ?= =?utf-8?B?SGNLWjJ6VlN3YW02bmhac3MxYUg1VlNWbE8rc2JUUlJkYmNwVXdzbE5jY0JM?= =?utf-8?B?N3grNzZPbU5janExNnNGWEVNUTNPajZXY1cxMCsrdWhWeU9OSUlEbjN6Wm1D?= =?utf-8?B?U1dEU2FTQnp1bnIySkJNMjBUekpSSjAvbjQ1NmYxOFJVQzJrY3YwMkFZMnpK?= =?utf-8?B?b3p6TGNjTExTY3BCVnEzU0FIOE9PR0M1aVBFUmxocmR5ekpkRE8wU29kS0hV?= =?utf-8?B?SGRDUk1pQ2ZJcmcwUTRPUDRsT2Q0MTVuNlVRTndXeS9vdEtiaWgxbHZRZmVY?= =?utf-8?B?eHFzKy80ZUpTaVc4OUNvTGNTRGxXUWtTd2g1UStKMkZJM285U3BKSk1lZ1hV?= =?utf-8?B?RnlEaWNkdVNLeVUxQnU1TTNDSEJkd1pxcllEb0JOY1pVSngxYk1qRG5JaG9S?= =?utf-8?B?YkladzBmZXZTYmU3MmhUcVNmUUNhWm0yWkdUN0hOWmpETTBBQ0hFY3V0cWVm?= =?utf-8?B?MGVhMnZCWGlTL1l1R2dQTGtoNG9JelhwMDkzMG51ZE5ZWmg0d1dGWFFyTnh2?= =?utf-8?B?NDJjeUQ2QnZzNFMyVHpMRE95MzlGU1VkV0xudEJEenNQaXZ2Zjd0UTB5T0xq?= =?utf-8?B?YXlGZzNSdmowNnFwQTQyRUNEb1dNZXc0VWFDVitkT0tkNCtoNW40YW9BaUU5?= =?utf-8?B?T2NrTHhhdEQ3RzNaQlVPV1hzaEF0emY5ZFZTeVQ5UVV2TytYUUYvWE9NeWZR?= =?utf-8?B?eWRvbVVkcGxtcDJQNzhycEhoczZTWXBFQWZIdUtOMXBuQ1NjNU44ZHhvZ0NL?= =?utf-8?B?RXhLdnUrRVJmSGN3b2UzVklMdFJtWTM2bDFueXBJRUt1VVcyZ1JubUtzK0Fh?= =?utf-8?B?Y0NwZTBqL1RZQ01wQTVCM1RkUzYrWkNQSTUzaVB4cThIUUxZSERTZ0tjSHJL?= =?utf-8?B?U1kwQUh1K0Z5SjNack9pb3cxUDYrSlBiLzhYeVFra0dMV0xvWmxZVnE3QXZ0?= =?utf-8?B?YzRaZ1AycjQveTQvZnorZ0xTUkNwQzgvOGZKMERLSjRtNlZrQjFpbi95Rmxs?= =?utf-8?B?L0FzeWs3T3A0dlA0WGF4RmZJRTM2TCtGaE9QZi9TUmJOV1duQmJ0dEFTZ3Vj?= =?utf-8?B?VEd5QmtyamVVcHcxcjdJWkVUTG5PbDk2N1pjR0ZGSFplWHdTd3dtYTNtUVhT?= =?utf-8?B?UlFiSU1KaVJWV2VCSzVvZm1LMmFmTW5zeW0yMll5YnVIV3l6NFNRSGhVS2Vn?= =?utf-8?Q?eJmtWKOf+AkVduMhBQ1/7JuM0?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: eb4bab73-779f-4910-84a5-08dc62d76bcf X-MS-Exchange-CrossTenant-AuthSource: DM6PR12MB3849.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Apr 2024 14:20:54.8473 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: RVNqXq3JFCtpyb86NpOke0BiKA8F59TAAXxY3JGms8vPlipCW+0XN5sjMQNk5R20 X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB7833 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240422_072110_785602_C598DB84 X-CRM114-Status: GOOD ( 34.23 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gRnJpLCBBcHIgMTksIDIwMjQgYXQgMDk6MTQ6MjFQTSArMDAwMCwgTW9zdGFmYSBTYWxlaCB3 cm90ZToKPiBIaSBKYXNvbiwKPiAKPiBPbiBUdWUsIEFwciAxNiwgMjAyNCBhdCAwNDoyODoxNlBN IC0wMzAwLCBKYXNvbiBHdW50aG9ycGUgd3JvdGU6Cj4gPiBPbmx5IHRoZSBhdHRhY2ggY2FsbGVy cyBjYW4gcGVyZm9ybSBhbiBhbGxvY2F0aW9uIGZvciB0aGUgQ0QgdGFibGUgZW50cnksCj4gPiB0 aGUgb3RoZXIgY2FsbGVycyBtdXN0IG5vdCBkbyBzbywgdGhleSBkbyBub3QgaGF2ZSB0aGUgY29y cmVjdCBsb2NraW5nIGFuZAo+ID4gdGhleSBjYW5ub3Qgc2xlZXAuIFNwbGl0IHVwIHRoZSBmdW5j dGlvbnMgc28gdGhpcyBpcyBjbGVhci4KPiA+IAo+ID4gYXJtX3NtbXVfZ2V0X2NkX3B0cigpIHdp bGwgcmV0dXJuIHBvaW50ZXIgdG8gYSBDRCB0YWJsZSBlbnRyeSB3aXRob3V0Cj4gPiBkb2luZyBh bnkga2luZCBvZiBhbGxvY2F0aW9uLgo+ID4gCj4gPiBhcm1fc21tdV9hbGxvY19jZF9wdHIoKSB3 aWxsIGFsbG9jYXRlIHRoZSB0YWJsZSBhbmQgYW55IHJlcXVpcmVkCj4gPiBsZWFmLgo+ID4gCj4g PiBBIGZvbGxvd2luZyBwYXRjaCB3aWxsIGFkZCBsb2NrZGVwIGFzc2VydGlvbnMgdG8gYXJtX3Nt bXVfYWxsb2NfY2RfcHRyKCkKPiA+IG9uY2UgdGhlIHJlc3RydWN0dXJpbmcgaXMgY29tcGxldGVk IGFuZCBhcm1fc21tdV9hbGxvY19jZF9wdHIoKSBpcyBuZXZlcgo+ID4gY2FsbGVkIGluIHRoZSB3 cm9uZyBjb250ZXh0Lgo+ID4gCj4gPiBTaWduZWQtb2ZmLWJ5OiBKYXNvbiBHdW50aG9ycGUgPGpn Z0BudmlkaWEuY29tPgo+ID4gLS0tCj4gPiAgZHJpdmVycy9pb21tdS9hcm0vYXJtLXNtbXUtdjMv YXJtLXNtbXUtdjMuYyB8IDYxICsrKysrKysrKysrKystLS0tLS0tLQo+ID4gIDEgZmlsZSBjaGFu Z2VkLCAzOSBpbnNlcnRpb25zKCspLCAyMiBkZWxldGlvbnMoLSkKPiA+IAo+ID4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvaW9tbXUvYXJtL2FybS1zbW11LXYzL2FybS1zbW11LXYzLmMgYi9kcml2ZXJz L2lvbW11L2FybS9hcm0tc21tdS12My9hcm0tc21tdS12My5jCj4gPiBpbmRleCBmM2RmMWVjOGQy NThkYy4uYTBkMTIzNzI3MjkzNmYgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2lvbW11L2FybS9h cm0tc21tdS12My9hcm0tc21tdS12My5jCj4gPiArKysgYi9kcml2ZXJzL2lvbW11L2FybS9hcm0t c21tdS12My9hcm0tc21tdS12My5jCj4gPiBAQCAtOTgsNiArOTgsNyBAQCBzdGF0aWMgc3RydWN0 IGFybV9zbW11X29wdGlvbl9wcm9wIGFybV9zbW11X29wdGlvbnNbXSA9IHsKPiA+ICAKPiA+ICBz dGF0aWMgaW50IGFybV9zbW11X2RvbWFpbl9maW5hbGlzZShzdHJ1Y3QgYXJtX3NtbXVfZG9tYWlu ICpzbW11X2RvbWFpbiwKPiA+ICAJCQkJICAgIHN0cnVjdCBhcm1fc21tdV9kZXZpY2UgKnNtbXUp Owo+ID4gK3N0YXRpYyBpbnQgYXJtX3NtbXVfYWxsb2NfY2RfdGFibGVzKHN0cnVjdCBhcm1fc21t dV9tYXN0ZXIgKm1hc3Rlcik7Cj4gPiAgCj4gPiAgc3RhdGljIHZvaWQgcGFyc2VfZHJpdmVyX29w dGlvbnMoc3RydWN0IGFybV9zbW11X2RldmljZSAqc21tdSkKPiA+ICB7Cj4gPiBAQCAtMTIwNywy OSArMTIwOCw1MSBAQCBzdGF0aWMgdm9pZCBhcm1fc21tdV93cml0ZV9jZF9sMV9kZXNjKF9fbGU2 NCAqZHN0LAo+ID4gIHN0cnVjdCBhcm1fc21tdV9jZCAqYXJtX3NtbXVfZ2V0X2NkX3B0cihzdHJ1 Y3QgYXJtX3NtbXVfbWFzdGVyICptYXN0ZXIsCj4gPiAgCQkJCQl1MzIgc3NpZCkKPiA+ICB7Cj4g PiAtCV9fbGU2NCAqbDFwdHI7Cj4gPiAtCXVuc2lnbmVkIGludCBpZHg7Cj4gPiAgCXN0cnVjdCBh cm1fc21tdV9sMV9jdHhfZGVzYyAqbDFfZGVzYzsKPiA+IC0Jc3RydWN0IGFybV9zbW11X2Rldmlj ZSAqc21tdSA9IG1hc3Rlci0+c21tdTsKPiA+ICAJc3RydWN0IGFybV9zbW11X2N0eF9kZXNjX2Nm ZyAqY2RfdGFibGUgPSAmbWFzdGVyLT5jZF90YWJsZTsKPiA+ICAKPiA+ICsJaWYgKCFjZF90YWJs ZS0+Y2R0YWIpCj4gPiArCQlyZXR1cm4gTlVMTDsKPiA+ICsKPiA+ICAJaWYgKGNkX3RhYmxlLT5z MWZtdCA9PSBTVFJUQUJfU1RFXzBfUzFGTVRfTElORUFSKQo+ID4gIAkJcmV0dXJuIChzdHJ1Y3Qg YXJtX3NtbXVfY2QgKikoY2RfdGFibGUtPmNkdGFiICsKPiA+ICAJCQkJCSAgICAgIHNzaWQgKiBD VFhERVNDX0NEX0RXT1JEUyk7Cj4gPiAgCj4gPiAtCWlkeCA9IHNzaWQgPj4gQ1RYREVTQ19TUExJ VDsKPiA+IC0JbDFfZGVzYyA9ICZjZF90YWJsZS0+bDFfZGVzY1tpZHhdOwo+ID4gLQlpZiAoIWwx X2Rlc2MtPmwycHRyKSB7Cj4gPiAtCQlpZiAoYXJtX3NtbXVfYWxsb2NfY2RfbGVhZl90YWJsZShz bW11LCBsMV9kZXNjKSkKPiA+IC0JCQlyZXR1cm4gTlVMTDsKPiA+ICsJbDFfZGVzYyA9ICZjZF90 YWJsZS0+bDFfZGVzY1tzc2lkIC8gQ1RYREVTQ19MMl9FTlRSSUVTXTsKPiAKPiBUaGVzZSBvcGVy YXRpb25zIHVzZWQgdG8gYmUgc2hpZnQgYW5kIGJpdCBtYXNraW5nIHdoaWNoIG1hZGUgc2Vuc2Ug YXMgaXQgZG9lcwo+IHdoYXQgaGFyZHdhcmUgZG9lcywgaXMgdGhlcmUgYW55IHJlYXNvbiB5b3Ug Y2hhbmdlZCBpdCB0byBkaXZpc2lvbiBhbmQgbW9kdWxvPwo+IEkgY2hlY2tlZCB0aGUgZGlzYXNz ZW1ibHkgYW5kIGdjYyBkb2VzIHRoZSByaWdodCB0aGluZyBhcyBjb25zdGFudHMgYXJlIHBvd2Vy Cj4gb2YgMiwgYnV0IEkgYW0ganVzdCBjdXJpb3VzLgoKSSBnZW5lcmFsbHkgcHJlZmVyIHRoZSBj bGFyaXR5IGFuZCBzdWNjaW5jdG5lc3Mgb2YgLyBhbmQgJSBpbnN0ZWFkIG9mCmhhY2tpbmcgdXAg Yml0IG9wZXJhdGlvbnMgdGhhdCB0aGUgY29tcGlsZXIgd2lsbCBnZW5lcmF0ZQphdXRvbWF0aWNh bGx5IGFueWhvdy4KCklmIGJpdCBleHRyYWN0aW9ucyBzaG91bGQgYmUgdXNlZCBpdCBpcyBiZXR0 ZXIgdG8gd3JhcCBpdCBpbgpGSUVMRF9HRVQoKSB0aGFuIG9wZW4gY29kZSBpdC4uCgo+ID4gK3N0 YXRpYyBzdHJ1Y3QgYXJtX3NtbXVfY2QgKmFybV9zbW11X2FsbG9jX2NkX3B0cihzdHJ1Y3QgYXJt X3NtbXVfbWFzdGVyICptYXN0ZXIsCj4gPiArCQkJCQkJIHUzMiBzc2lkKQo+ID4gK3sKPiA+ICsJ c3RydWN0IGFybV9zbW11X2N0eF9kZXNjX2NmZyAqY2RfdGFibGUgPSAmbWFzdGVyLT5jZF90YWJs ZTsKPiA+ICsJc3RydWN0IGFybV9zbW11X2RldmljZSAqc21tdSA9IG1hc3Rlci0+c21tdTsKPiA+ ICsKPiA+ICsJaWYgKCFjZF90YWJsZS0+Y2R0YWIpIHsKPiA+ICsJCWlmIChhcm1fc21tdV9hbGxv Y19jZF90YWJsZXMobWFzdGVyKSkKPiA+ICsJCQlyZXR1cm4gTlVMTDsKPiA+ICAJfQo+ID4gLQlp ZHggPSBzc2lkICYgKENUWERFU0NfTDJfRU5UUklFUyAtIDEpOwo+ID4gLQlyZXR1cm4gJmwxX2Rl c2MtPmwycHRyW2lkeF07Cj4gPiArCj4gPiArCWlmIChjZF90YWJsZS0+czFmbXQgPT0gU1RSVEFC X1NURV8wX1MxRk1UXzY0S19MMikgewo+ID4gKwkJdW5zaWduZWQgaW50IGlkeCA9IHNzaWQgPj4g Q1RYREVTQ19TUExJVDsKPiAKPiBPaywgbm93IGl04oCZcyBhIHNoaWZ0LCBJIHRoaW5rIHdlIHNo b3VsZCBiZSBjb25zaXN0ZW50IHdpdGggaG93IHdlCj4gY2FsY3VsYXRlIHRoZSBpbmRleC4KClN1 cmUuIENoYW5nZSB0aGF0IHRvIC8gd2lsbCBtYWtlIENUWERFU0NfU1BMSVQgdW51c2VkIGV4Y2Vw dCBpbgpjb21wdXRpbmcgQ1RYREVTQ19MMl9FTlRSSUVTIHNvIHRoYXQgY2FuIGJlIHNpbXBsaWZp ZWQgdG9vOgoKLSNkZWZpbmUgQ1RYREVTQ19TUExJVCAgICAgICAgICAgICAgICAgIDEwCi0jZGVm aW5lIENUWERFU0NfTDJfRU5UUklFUyAgICAgICAgICAgICAoMSA8PCBDVFhERVNDX1NQTElUKQor I2RlZmluZSBDVFhERVNDX0wyX0VOVFJJRVMgICAgICAgICAgICAgMTAyNAoKCj4gPiBAQCAtMTM1 Nyw3ICsxMzgwLDcgQEAgaW50IGFybV9zbW11X3dyaXRlX2N0eF9kZXNjKHN0cnVjdCBhcm1fc21t dV9tYXN0ZXIgKm1hc3RlciwgaW50IHNzaWQsCj4gPiAgCWlmIChXQVJOX09OKHNzaWQgPj0gKDEg PDwgY2RfdGFibGUtPnMxY2RtYXgpKSkKPiA+ICAJCXJldHVybiAtRTJCSUc7Cj4gPiAgCj4gPiAt CWNkX3RhYmxlX2VudHJ5ID0gYXJtX3NtbXVfZ2V0X2NkX3B0cihtYXN0ZXIsIHNzaWQpOwo+ID4g KwljZF90YWJsZV9lbnRyeSA9IGFybV9zbW11X2FsbG9jX2NkX3B0cihtYXN0ZXIsIHNzaWQpOwo+ IAo+IFRoZSBvbmx5IHBhdGggYWxsb2NhdGVzIHRoZSBtYWluIHRhYmxlIGlzIOKAnGFybV9zbW11 X2F0dGFjaF9kZXbigJ0sCgpUaGVyZSBhcmUgdHdvIHBsYWNlcyB0aGF0IGFsbG9jYXRlIHRoZSBs ZWFmLCBhcm1fc21tdV9hdHRhY2hfZGV2KCkKKGZvciB0aGUgUklEKSBhbmQgYXJtX3NtbXVfc3Zh X3NldF9kZXZfcGFzaWQoKSAoZm9yIGEgUEFTSUQpCgpBdCB0aGlzIG1vbWVudCBhbGwgdGhlIHBh dGhzIGFyZSByZWx5aW5nIG9uIHRoZSBhYm92ZSB0byBhbGxvY2F0ZSB0aGUKbGVhZi4gVGhlIG5l eHQgcGF0Y2ggbWFrZXMgYXJtX3NtbXVfYXR0YWNoX2RldigpIGFsbG9jYXRlIHRoZSBsZWFmCml0 c2VsZi4gQSBmZXcgbW9yZSBwYXRjaGVzIGFsc28gbWFrZXMgdGhlIFBBU0lEIHBhdGggYWxsb2Nh dGUgdGhlIGxlYWYKaXRzZWxmLCB3aGVuIHRoZSBhYm92ZSBpcyByZW1vdmVkLgoKPiBJIGd1ZXNz IGl0IHdvdWxkIGJlIG1vcmUgcm9idXN0IHRvIGxlYXZlIHRoYXQgYXMgaXMgYW5kIGhhdmUgMgo+ IHZlcnNpb25zIG9mIGdldF9jZCwgb25lIHRoYXQgYWxsb2NhdGVzIGxlYWYgYW5kIG9uZSB0aGF0 IGlzIG5vdAo+IGFsbG9jYXRpbmcsIHdoYXQgZG8geW91IHRoaW5rPwoKSSdtIG5vdCBzdXJlIHdo YXQgeW91IGFyZSBhc2tpbmc/IFdlIGhhdmUgdHdvIHZlcnNpb25zLiBPbmUgaXMgY2FsbGVkCmFs bG9jIGFuZCBvbmUgaXMgY2FsbGVkIGdldC4gVGhhdCBoYXZlIGRpZmZlcmVudCBsb2NraW5nIHJl cXVpcmVtZW50cwpvbiB0aGUgY2FsbGVyIHNvIHRoZXkgaGF2ZSBkaWZmZXJlbnQgbmFtZXMuIEkg d291bGQgbm90IGNhbGwgdGhlbSBib3RoCmdldD8KClRoYW5rcywKSmFzb24KCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFp bGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlz dHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK