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 28668E9A047 for ; Wed, 18 Feb 2026 00:12:36 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 7743910E2C9; Wed, 18 Feb 2026 00:12:35 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=Nvidia.com header.i=@Nvidia.com header.b="reJVKQBn"; dkim-atps=neutral Received: from BL0PR03CU003.outbound.protection.outlook.com (mail-eastusazon11012053.outbound.protection.outlook.com [52.101.53.53]) by gabe.freedesktop.org (Postfix) with ESMTPS id BDB2D10E556; Wed, 18 Feb 2026 00:12:18 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=UAkc4aakQdyObcORL0nJYshEFdpI7HIa5cioOWRbPGhnMrl6+PIr9MmMbCju9pDU2OAC7/quYFLjf7LUWUQAVcvMzD8DbYBrUiPeQUsVIZPDiKw+7niQQgBzUt2nMdr+bSPvzzi5ljvSvm4iBLLfRYAH4VSwAcfcVgCB5LvF1RR9KTfCCVeOSEAt9Dg+bskwPOSkg6DqFeWVLMl0SY436i1EM4SQPWuPCpanPyJX/8NWoo43b6BwZH1OucHgha4gFJMw0s1QfaR0uqlEaLOh1NHwHJS06OUW+sESn5fetCt0VEUjULRb/QTv5+ErUN+dL67sm/YbOVrTBXLYTIqy0g== 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=5f+CLnGfcFKbQi1kagHlzVy/X+smTIkCD11ZY7RQWjM=; b=u+YRDggsKK9HVwo7IQ6BUsEkG3jmsUhRqUgWnYBgerdm0vcmWSdUS5O8dO9JbyPMkebJVaGeoBLTQnGL6YSxAz6wqT7j0Upa/ZhA0uFjFggOfC5RGIWMglXMtsrvRon/W0ejmguMnZVqXZ9JBShnHbtrSF7v8zKTPUlfIckl8rBpSvQdFHBL7abfI93W78k0nNkH9HZOuE8cD8j5nSZDujQoLe+qdWq6Sx3uKKgyNC6sPKmOyPloxIN4cm7rwztc5lJRDkXcQXQLoF1xEvqKChYQ4ubeeZBdOpXutX0ZeXKUXDvvueU321n4fG59EpCnBoLzjKDmi5LlAmquUjJLNQ== 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=5f+CLnGfcFKbQi1kagHlzVy/X+smTIkCD11ZY7RQWjM=; b=reJVKQBnaaszqW487KUcR3m4t9BS6g/RE12wJqPEbZFsJncFsUVT0NWXeP7VX0rmC5u1l4pXEfkf+CY/9V7z9orIZWE2sWg9njrk+oVYgLrag1Ls19Zl7r1Aj1YEytV69fTlg/VTWlPz+fmIMojYUoiAQcQASo6JNFtOl9Ux5FDRUTgaIcvKSWSgSAGVxFW7QtdZ+52lJ+wFcYtbzsszdWbP2gQrAP6Datue5oZe7ssl/uDPL1ZvG3SUNToLoyeNDX63OgvF9VerPQbc60M0YBuTduX3kzO+SbDLg8N0g9AVrbOUPN/kQNyMiZo4aeJOZIFINWys546ZxopTA7rfbg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from LV8PR12MB9620.namprd12.prod.outlook.com (2603:10b6:408:2a1::19) by DS7PR12MB8202.namprd12.prod.outlook.com (2603:10b6:8:e1::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9632.14; Wed, 18 Feb 2026 00:12:08 +0000 Received: from LV8PR12MB9620.namprd12.prod.outlook.com ([fe80::299d:f5e0:3550:1528]) by LV8PR12MB9620.namprd12.prod.outlook.com ([fe80::299d:f5e0:3550:1528%5]) with mapi id 15.20.9611.013; Wed, 18 Feb 2026 00:12:08 +0000 From: Jason Gunthorpe To: Cc: Christian Koenig , Dongwon Kim , dri-devel@lists.freedesktop.org, intel-xe@lists.freedesktop.org, iommu@lists.linux.dev, Kevin Tian , Leon Romanovsky , linaro-mm-sig@lists.linaro.org, linux-media@vger.kernel.org, Matthew Brost , Simona Vetter , Sumit Semwal , Thomas Hellstrom , Vivek Kasireddy Subject: [PATCH RFC 07/26] dma-buf: Convert all the simple exporters to use SGT mapping type Date: Tue, 17 Feb 2026 20:11:38 -0400 Message-ID: <7-v1-b5cab63049c0+191af-dmabuf_map_type_jgg@nvidia.com> In-Reply-To: <0-v1-b5cab63049c0+191af-dmabuf_map_type_jgg@nvidia.com> References: Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-ClientProxiedBy: BL1PR13CA0202.namprd13.prod.outlook.com (2603:10b6:208:2be::27) To LV8PR12MB9620.namprd12.prod.outlook.com (2603:10b6:408:2a1::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: LV8PR12MB9620:EE_|DS7PR12MB8202:EE_ X-MS-Office365-Filtering-Correlation-Id: 8ba97d4e-8081-43b3-f0cd-08de6e8256c5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|7416014|376014|366016; X-Microsoft-Antispam-Message-Info: =?utf-8?B?V3hRSDJXUXAwRWxLYU1rR3Y2ZVBVb3R5SEFNNHNuc1hsU0FILzZXWUpPNHdh?= =?utf-8?B?U0NOU3lnQVhnd2Zwb0gwOU1JUTlzdkFmdEZRNXRlcUVTMW5KdnNEWnp3Q0sz?= =?utf-8?B?RFFxT0JmWURIRVNvTVFOUmxad2xBY1ltVjVxdG1xNzRqc1VQQy9nWE9Yb1lJ?= =?utf-8?B?V3J4bm1qZ2xDV3Q0QlkrTWRMbXdMa0VaN0t3NTJSVTR4aDhGZ3JXTTczQzUz?= =?utf-8?B?U3hlYVBvV0FFUmUxOFFvUVh4dFY4WC9NZVY4d1FGNFhUakp0TzNQd2I1Ykha?= =?utf-8?B?MlY1NEgzRCtaR2d6TDBBdkdLSFp1dDVpRXBlQ0dQUldlYjBiTHp0T1JVTHVz?= =?utf-8?B?d1VzcFN4Z1EwMm93TllIaTNTSzNVRDJpVVBqRFdUU3JBRkJhQlB0c2R2UnRv?= =?utf-8?B?ZFBtaXBzajE3NWVRQ0JnRCtrdVBMaldrWldsbkM3MDRyWGVreTZjajhHMHA5?= =?utf-8?B?cExvTG1WU1dHckMzYzVnSHgwdTF3cGxTenpPYkRQb2RqTDhGZGZVMkU3WThv?= =?utf-8?B?SVVwN2JJdmZlWkhaTlNDL0k5YXR1OENUK01HVU9seEN0T0VYU2xwcjNFelU4?= =?utf-8?B?c3J3SUlMUlNCWTNEOFM4S1A4UW81aTNLL0RpMjYxUkd3UXM5TWhDWjNYOHZt?= =?utf-8?B?Zlh0RllQZWl4TE1CdGVPYkFVQktRUVFjbEhlK211WTBRVGtwaW1UOTZuc1px?= =?utf-8?B?aFNrTmxDNkFabXM2TmRQOVZmWmJWZ2ZtdTk3a2Q5a3VTclVZejVwMi9HeEJ4?= =?utf-8?B?RWZtdE5PU3MrL3MyVmJGdGROSDV2NDlTTkJvaG55dTNUeGE2YzNyWkRRZzFj?= =?utf-8?B?OGx2SWk1QlZUY0VKWFUyVkY3WnVKSE1QWWN3cDVFNG8vdkttRTBDQ2o0Yk5I?= =?utf-8?B?NjhVYnFjZXMrMlFTeVRpL2t2T29WZHdxYmRhUWJhelZyVGdyZFVRNlA2ZkVr?= =?utf-8?B?VmhYNmxYZ3FLaEUzZWNTMFgwK2swWC90S1dhK1VaRzkyeWRzWkJmS3hrVThq?= =?utf-8?B?RFhKR0xTRFRNd1l6ZnE2MStnbFBpaHYrTWgxRHQwa1ZVcHJoNEgvQVd6K3Nm?= =?utf-8?B?M3ZHR04yUFNLNjZ6UE0vV0hsWWFUYzY4OStpbEJ0cENmTTR6TllOUkpIMkZN?= =?utf-8?B?V1JGRkFvUmQ2bmNJN2EwZ3d4c3VGZWFJeTlGUHZnZFdLUFFIY2JpSnBSRDZK?= =?utf-8?B?T3FESXpSYWRGNjlvUHk0c2xTdW1uWEczdWdEQzJ5RTZOUUs2V1E5YzAwVlF3?= =?utf-8?B?UGcxUVJFbHg1U05BVlpzY0I5amM3U05nZnVSRjVQblRlSUt1eHpidGFLclJ6?= =?utf-8?B?bGFBbG5TSzNWaFRJayttWWhhaVd6OC9tTjJMa1pocDZwRGtWWmIxczArdjVQ?= =?utf-8?B?MWp4TitVL0NINU1NVWFmMTVnVjA2SkFpaUJ1cmo3VE0vd1RoU1VaRkpOaHIv?= =?utf-8?B?WjFkZTVnUy9PRTFMNVpSMWVENkZTMElFbTUvMEZKNkpHcE1ueWxtRzI2b1Bh?= =?utf-8?B?d2U4aWlMenJLYms4VG5aczlnWTV5Y1F6RmlPazA4dWNoUENiNHhhc3JTcGhV?= =?utf-8?B?QkJRbzBnWG51YmFpVmZxQkl3TmtMUU1YTkxTM3gvdzZnYm5TQi9XejFYWnZH?= =?utf-8?B?OFdsWk1wSnJQZEIrdU1vQUJyWmpDdVZhSzNOQWRKTmdqMGlBVzhoaElYbjR1?= =?utf-8?B?Y1BXY2hlbGN4ckN3NVM2R2JPQ0N4VlFiRWpINjUxcU84K1JaL2wxVnVOMW9i?= =?utf-8?B?OVdBdWxCWjlFM3p2ZGlHamtDczNZMTFTS292Q1JxSGJjYUszNUtua21uTXBO?= =?utf-8?B?b1lNUUtoS0hYY0pZdGVidmFtVTJEWlFtUHczb0EvTjhVNTFvRmRvVG1NYkUw?= =?utf-8?B?TlNUaVBPNldtZUl6Uy9KeDN4N2hVcXZ1WjdvV2pPbGN3cldkenpXeXNQMEZZ?= =?utf-8?B?eE1RVDROWDhVQnhQMURkdXF1ZnBUcTN2YldFTFAzdlVOeC9xZ0NpWlZEcEhY?= =?utf-8?B?cGhScUJNemR0bklSSkMxNlZiQXpZbmdoK3hlWlhvckhjdy9sVWZNSExvV0w4?= =?utf-8?B?QVdXSC9TYjZ5YXlIOGdIa2FXdjBrYnJ6R3dWa1R5SmdaZ3E5aG9CSVNVZkhm?= =?utf-8?Q?1KnQ=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:LV8PR12MB9620.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(7416014)(376014)(366016); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?UDdKMVJQdmVseGJqeW5GRVJPakVqSkQvKzVhbEFSMGFhS0lrbkxkU3RYMnY2?= =?utf-8?B?ZElVV2V2SjEvR3Bva2c1YU5EdHplNDNiR1B1eVFrUTF4SHJ0QVNCZzZUU0pG?= =?utf-8?B?a2pBR1VPSTdlSkdKSGtHSXhuRE0zVkpLMTFpOUFLTWIwNnBubzU3ZE9oQlM3?= =?utf-8?B?Qm9uTlptOEsrQ05MREs2YTVyVTVweHpjNU9NWnlBZTlVcnY0R29JQnpHWkxl?= =?utf-8?B?S1dQNCs2SVIvSVo1RkwxSktRaDVvcXpTcjB4VWlsUWpOT1FqeWo5S0xBNEpx?= =?utf-8?B?VExMbFNpWm00UFd3eWt5NTNTMzJCRGw1QnU4L2xYTE9GTEdRdkNURGxhaVhX?= =?utf-8?B?eU14OHorVEcwWDR1KzFxNjNlTlkwV1Y3MENlS0NEWENRNVo3eXR4dmlLWjBS?= =?utf-8?B?UU5ucVNOd05mWVBJaXRWN1lCRlU5QXdFQ2FVNjVIVVQwWTZWVDJjamxqUHBC?= =?utf-8?B?NmNzSzlDby9xL29lRmpHQWxYa2NlSmdMTDdJQXZpQkN1NUMwdnV1bkdFejdh?= =?utf-8?B?UG94ZXQza2pKNDFUMjg2U2k2b2tOM1lISFgzOEVtWDN2VkJXZEduWFFzbnZv?= =?utf-8?B?NjhqTmJCMzVobERzVXBHYzd6SVlLb0pkZWxNZTl3d05Pb0tYcktCWnR4YmZM?= =?utf-8?B?UjJkWmkrY1pQRGlRWjdWUWJNM1RoOUFEZDFOeCtBR2NJZS9aNGxnUlYyQmw2?= =?utf-8?B?azJhRXRvY1VyTDJwMUZLVHljSEI3MWRmRVBJOFRCQVVvbzJUMWR5SXVoUjVQ?= =?utf-8?B?TmZnUlFsOEM5RWNkTk9DaVIxdndZaElzWGhQWGl0M215NE1pb2ZOQzc3MHBD?= =?utf-8?B?eGNLZ3QrdEpPNk1YMHoxUDV1emJRMm9QbEFieGNKRFRDRmE3NERjVUM1eFgz?= =?utf-8?B?VHhXK2I4VWY4V2gzRThnU0Z0a1RBSFpEV0VSbDVLdnFlK0s3cjY4dHN0MVFu?= =?utf-8?B?TE5nMzhqeWdZQ3FTbDJRZ1RpcUFNc1pqQW5hazlPcXhoNjM4akdNbDNZTlJs?= =?utf-8?B?RUtaQU1XRFMzTVVqU1pLSWN2VWxQaENkanE3aXRJWHNRVXdqY25qOHZKQWRH?= =?utf-8?B?UzZST0hCWkpkT3k3UVVHa25KaWF2UTJCNnpZMmVLOUNYaElSS2dZcHhYNlYx?= =?utf-8?B?WTN2eHJXVm9VNHRRSjBoUFFCazRPY3drYzF0Tys5aEdRSmlNcXpEREgzNThS?= =?utf-8?B?aFlSQzhaNVFZbmo0aVZiRUhVeU5IeERxaDhxdEdrbEgySmZ4N0pVa0tBKytI?= =?utf-8?B?clIrUHlFZSsrUEVuUVo1VjNSUzJ2MDhIUTlsK1Jxb3JOcVFGUmNDbTJMdTVk?= =?utf-8?B?N0xodFJWNXlPV3hndWVvV3dsK0drMWl1SHdpOEhCNFFoUER4ME5iUnJ3cTYv?= =?utf-8?B?alVIaVlGcWpQamQ1YVVIb3B2YlpxOVBJaE0wQXB3TVdmazMyczg3Um5qV3Nt?= =?utf-8?B?QlAwRVZESlhwMnN6aG0xL2xJaDcwWnlCNndubjkvOWFPYis5ZWt5d09DTm4y?= =?utf-8?B?Wm0vVTFULzFoYkZjMVh3UHRZaDFoeGZaMFdLMXJGYmN1S2g4RTBqSmwrT2NX?= =?utf-8?B?RnNaakxEZ1J2dElWOTZUY2NLLzhhSGEyRnFvVXh5M0ErL1R6QWMwK2ZZWENx?= =?utf-8?B?RnBFbEoxU3Y3SG5xdDJhQkpzQ1RSTjBCWHJXNFBOdW9wZFJGYVpoWFdXei9w?= =?utf-8?B?RnNWWDZUK1BoRzJxSnZxMUtRU1dFSjh3QVBrd1hwRU9QVVB3MFpKMEE3TXVk?= =?utf-8?B?M1lJRER5aUVHK3AxYTdqZG5vUzVzUk1uYWJ4ejhoWUZrTkQwRW5BaGZNYVMy?= =?utf-8?B?a2xHeVRSMHNpZFhvd3pFYjJscUV1UXFJT3VaU2FEQjVDdzlXWmdMSlNNVjFo?= =?utf-8?B?MmgvZnFsODhXM0pIdDgxRXBEbU43cmtTaG1QMjExSmRVcE55TWdNY04vUzRt?= =?utf-8?B?cjF1eFplSlJkemNtUEhWTzFCb2JMb0pTMndSL0tvaVVwV0hKME52aVB6SXV2?= =?utf-8?B?YnVNVkpYWVNhSmJJTFNqSUpQQTJVVDg1c2pGTmdWcUVTQXQwMFdLTlk0My8v?= =?utf-8?B?NW5wNmFhV0ZoY2lRZHV3cW1KQWFNRG4rd3dpd3p3VmZucG5uT0VrMjhUNmFZ?= =?utf-8?B?OHV5dkgvd2pzTmFqUlo4eU5IYk1UNitraHFuNkUvOVFRcUE3U0dCeU41ZU9J?= =?utf-8?B?c1p0VmVnTXFiWGF2VDVHUHM3NE9heHZGZXVqcXRXaDFTM1pvdEFhWEtqRWI2?= =?utf-8?B?OG1KZTBhWHRmaGlpVjZQUGUrKzJ4MThrZjNKbXc3dFZuZmdPQ1J3dDZoU3Zx?= =?utf-8?B?S2k2ZktpaEFQUGxWb0N4Ym5vK0VYN0crNXZUVXVidHpKV3RWd2tkQT09?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8ba97d4e-8081-43b3-f0cd-08de6e8256c5 X-MS-Exchange-CrossTenant-AuthSource: LV8PR12MB9620.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Feb 2026 00:12:01.6343 (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: G223mB0V62YerF1Kp7YeOh2WI7OvfvccGB4OqEXp8bOGTjZfb58/r/3PiJaoZ3do X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB8202 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" VXBkYXRlIHRoZSBleHBvcnRlcnMgdG8gdXNlIGEgU0dUIG1hcHBpbmcgdHlwZSBhbmQgdGhlIG5l dyBzdHlsZSBtYXBwaW5nCnR5cGUgQVBJLiBOb25lIG9mIHRoZXNlIGV4cG9ydGVycyBkbyBhbnl0 aGluZyB3aXRoIGF0dGFjaC0+cGVlcjJwZWVyIG9yCmltcG9ydGVyX29wcy0+YWxsb3dfcGVlcjJw ZWVyIGFuZCB0aGV5IGFsbCBmb2xsb3cgdGhlIHNhbWUgcGF0dGVybi4KCkNoYW5nZSBhbGwgdGhl IHBsYWNlcyB0aGF0IG5lZWQgdG8gZ2V0IHRoZSBTR1QncyBETUEgZGV2aWNlIGZvciBETUEgQVBJ CnVzZSB0byB1c2UgZG1hX2J1Zl9zZ3RfZG1hX2RldmljZSgpLgoKVGhpcyBpcyBhbGwgYSBtZWNo YW5pY2FsIGNoYW5nZSBvZiBtb3ZpbmcgdGhlIG1hcF9kbWFfYnVmL3VubWFwX2RtYV9idWYKaW50 byBETUFfQlVGX1NJTVBMRV9TR1RfRVhQX01BVENIKCkgYXJndW1lbnRzIGFuZCBzd2l0Y2hpbmcK YXR0YWNoLT5kZXYgdG8gZG1hX2J1Zl9zZ3RfZG1hX2RldmljZShhdHRhY2gpLgoKU2lnbmVkLW9m Zi1ieTogSmFzb24gR3VudGhvcnBlIDxqZ2dAbnZpZGlhLmNvbT4KLS0tCiBkcml2ZXJzL2FjY2Vs L2FtZHhkbmEvYW1keGRuYV9nZW0uYyAgICAgICAgICAgfCAgNSArKystLQogZHJpdmVycy9hY2Nl bC9hbWR4ZG5hL2FtZHhkbmFfdWJ1Zi5jICAgICAgICAgIHwgMTAgKysrKysrLS0tLQogZHJpdmVy cy9hY2NlbC9pdnB1L2l2cHVfZ2VtX3VzZXJwdHIuYyAgICAgICAgIHwgMTEgKysrKysrKy0tLS0K IGRyaXZlcnMvZG1hLWJ1Zi9oZWFwcy9jbWFfaGVhcC5jICAgICAgICAgICAgICB8IDEyICsrKysr KystLS0tLQogZHJpdmVycy9kbWEtYnVmL2hlYXBzL3N5c3RlbV9oZWFwLmMgICAgICAgICAgIHwg MTMgKysrKysrKystLS0tLQogZHJpdmVycy9kbWEtYnVmL3VkbWFidWYuYyAgICAgICAgICAgICAg ICAgICAgIHwgIDggKysrKy0tLS0KIGRyaXZlcnMvZ3B1L2RybS9hcm1hZGEvYXJtYWRhX2dlbS5j ICAgICAgICAgICB8IDEyICsrKysrKystLS0tLQogZHJpdmVycy9ncHUvZHJtL2RybV9wcmltZS5j ICAgICAgICAgICAgICAgICAgIHwgIDkgKysrKystLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9n ZW0vaTkxNV9nZW1fZG1hYnVmLmMgICAgfCAgOCArKysrKy0tLQogLi4uL2dwdS9kcm0vaTkxNS9n ZW0vc2VsZnRlc3RzL21vY2tfZG1hYnVmLmMgIHwgIDggKysrKy0tLS0KIGRyaXZlcnMvZ3B1L2Ry bS9tc20vbXNtX2dlbV9wcmltZS5jICAgICAgICAgICB8ICA3ICsrKysrLS0KIGRyaXZlcnMvZ3B1 L2RybS9vbWFwZHJtL29tYXBfZ2VtX2RtYWJ1Zi5jICAgICB8ICA1ICsrKy0tCiBkcml2ZXJzL2dw dS9kcm0vdGVncmEvZ2VtLmMgICAgICAgICAgICAgICAgICAgfCAxMiArKysrKysrLS0tLS0KIGRy aXZlcnMvZ3B1L2RybS92aXJ0aW8vdmlydGdwdV9wcmltZS5jICAgICAgICB8IDExICsrKysrKyst LS0tCiBkcml2ZXJzL2lvbW11L2lvbW11ZmQvc2VsZnRlc3QuYyAgICAgICAgICAgICAgfCAxOCAr KystLS0tLS0tLS0tLS0tLS0KIC4uLi9jb21tb24vdmlkZW9idWYyL3ZpZGVvYnVmMi1kbWEtY29u dGlnLmMgICB8IDE1ICsrKysrKysrLS0tLS0tLQogLi4uL21lZGlhL2NvbW1vbi92aWRlb2J1ZjIv dmlkZW9idWYyLWRtYS1zZy5jIHwgMTQgKysrKysrKysrLS0tLS0KIC4uLi9jb21tb24vdmlkZW9i dWYyL3ZpZGVvYnVmMi12bWFsbG9jLmMgICAgICB8IDEzICsrKysrKysrLS0tLS0KIGRyaXZlcnMv bWlzYy9mYXN0cnBjLmMgICAgICAgICAgICAgICAgICAgICAgICB8IDEyICsrKysrKystLS0tLQog ZHJpdmVycy90ZWUvdGVlX2hlYXAuYyAgICAgICAgICAgICAgICAgICAgICAgIHwgMTMgKysrKysr Ky0tLS0tLQogZHJpdmVycy94ZW4vZ250ZGV2LWRtYWJ1Zi5jICAgICAgICAgICAgICAgICAgIHwg MTkgKysrKysrKysrKystLS0tLS0tLQogc2FtcGxlcy92ZmlvLW1kZXYvbWJvY2hzLmMgICAgICAg ICAgICAgICAgICAgIHwgMTAgKysrKystLS0tLQogc291bmQvc29jL2ZzbC9mc2xfYXNyY19tMm0u YyAgICAgICAgICAgICAgICAgIHwgMTIgKysrKysrKy0tLS0tCiAyMyBmaWxlcyBjaGFuZ2VkLCAx NDMgaW5zZXJ0aW9ucygrKSwgMTE0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMv YWNjZWwvYW1keGRuYS9hbWR4ZG5hX2dlbS5jIGIvZHJpdmVycy9hY2NlbC9hbWR4ZG5hL2FtZHhk bmFfZ2VtLmMKaW5kZXggZGZhOTE2ZWViMmQ5YzguLmZiN2M4ZGU5NjBjZDJhIDEwMDY0NAotLS0g YS9kcml2ZXJzL2FjY2VsL2FtZHhkbmEvYW1keGRuYV9nZW0uYworKysgYi9kcml2ZXJzL2FjY2Vs L2FtZHhkbmEvYW1keGRuYV9nZW0uYwpAQCAtMTEsNiArMTEsNyBAQAogI2luY2x1ZGUgPGRybS9k cm1fcHJpbnQuaD4KICNpbmNsdWRlIDxkcm0vZ3B1X3NjaGVkdWxlci5oPgogI2luY2x1ZGUgPGxp bnV4L2RtYS1idWYuaD4KKyNpbmNsdWRlIDxsaW51eC9kbWEtYnVmLW1hcHBpbmcuaD4KICNpbmNs dWRlIDxsaW51eC9kbWEtZGlyZWN0Lmg+CiAjaW5jbHVkZSA8bGludXgvaW9zeXMtbWFwLmg+CiAj aW5jbHVkZSA8bGludXgvcGFnZW1hcC5oPgpAQCAtMzg1LDEyICszODYsMTIgQEAgc3RhdGljIGlu dCBhbWR4ZG5hX2dlbV9kbWFidWZfbW1hcChzdHJ1Y3QgZG1hX2J1ZiAqZG1hX2J1Ziwgc3RydWN0 IHZtX2FyZWFfc3RydWMKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZG1hX2J1Zl9vcHMgYW1keGRuYV9k bWFidWZfb3BzID0gewogCS5hdHRhY2ggPSBkcm1fZ2VtX21hcF9hdHRhY2gsCiAJLmRldGFjaCA9 IGRybV9nZW1fbWFwX2RldGFjaCwKLQkubWFwX2RtYV9idWYgPSBkcm1fZ2VtX21hcF9kbWFfYnVm LAotCS51bm1hcF9kbWFfYnVmID0gZHJtX2dlbV91bm1hcF9kbWFfYnVmLAogCS5yZWxlYXNlID0g ZHJtX2dlbV9kbWFidWZfcmVsZWFzZSwKIAkubW1hcCA9IGFtZHhkbmFfZ2VtX2RtYWJ1Zl9tbWFw LAogCS52bWFwID0gZHJtX2dlbV9kbWFidWZfdm1hcCwKIAkudnVubWFwID0gZHJtX2dlbV9kbWFi dWZfdnVubWFwLAorCURNQV9CVUZfU0lNUExFX1NHVF9FWFBfTUFUQ0goZHJtX2dlbV9tYXBfZG1h X2J1ZiwKKwkJCQkgICAgIGRybV9nZW1fdW5tYXBfZG1hX2J1ZiksCiB9OwogCiBzdGF0aWMgaW50 IGFtZHhkbmFfZ2VtX29ial92bWFwKHN0cnVjdCBhbWR4ZG5hX2dlbV9vYmogKmFibywgdm9pZCAq KnZhZGRyKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9hY2NlbC9hbWR4ZG5hL2FtZHhkbmFfdWJ1Zi5j IGIvZHJpdmVycy9hY2NlbC9hbWR4ZG5hL2FtZHhkbmFfdWJ1Zi5jCmluZGV4IDA3N2IyMjYxY2Yy YTA0Li5hZDNjOTA2NGY1YzVjZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9hY2NlbC9hbWR4ZG5hL2Ft ZHhkbmFfdWJ1Zi5jCisrKyBiL2RyaXZlcnMvYWNjZWwvYW1keGRuYS9hbWR4ZG5hX3VidWYuYwpA QCAtNyw2ICs3LDcgQEAKICNpbmNsdWRlIDxkcm0vZHJtX2RldmljZS5oPgogI2luY2x1ZGUgPGRy bS9kcm1fcHJpbnQuaD4KICNpbmNsdWRlIDxsaW51eC9kbWEtYnVmLmg+CisjaW5jbHVkZSA8bGlu dXgvZG1hLWJ1Zi1tYXBwaW5nLmg+CiAjaW5jbHVkZSA8bGludXgvcGFnZW1hcC5oPgogI2luY2x1 ZGUgPGxpbnV4L3ZtYWxsb2MuaD4KIApAQCAtMzcsNyArMzgsOCBAQCBzdGF0aWMgc3RydWN0IHNn X3RhYmxlICphbWR4ZG5hX3VidWZfbWFwKHN0cnVjdCBkbWFfYnVmX2F0dGFjaG1lbnQgKmF0dGFj aCwKIAkJcmV0dXJuIEVSUl9QVFIocmV0KTsKIAogCWlmICh1YnVmLT5mbGFncyAmIEFNRFhETkFf VUJVRl9GTEFHX01BUF9ETUEpIHsKLQkJcmV0ID0gZG1hX21hcF9zZ3RhYmxlKGF0dGFjaC0+ZGV2 LCBzZywgZGlyZWN0aW9uLCAwKTsKKwkJcmV0ID0gZG1hX21hcF9zZ3RhYmxlKGRtYV9idWZfc2d0 X2RtYV9kZXZpY2UoYXR0YWNoKSwgc2csCisJCQkJICAgICAgZGlyZWN0aW9uLCAwKTsKIAkJaWYg KHJldCkKIAkJCXJldHVybiBFUlJfUFRSKHJldCk7CiAJfQpAQCAtNTIsNyArNTQsOCBAQCBzdGF0 aWMgdm9pZCBhbWR4ZG5hX3VidWZfdW5tYXAoc3RydWN0IGRtYV9idWZfYXR0YWNobWVudCAqYXR0 YWNoLAogCXN0cnVjdCBhbWR4ZG5hX3VidWZfcHJpdiAqdWJ1ZiA9IGF0dGFjaC0+ZG1hYnVmLT5w cml2OwogCiAJaWYgKHVidWYtPmZsYWdzICYgQU1EWEROQV9VQlVGX0ZMQUdfTUFQX0RNQSkKLQkJ ZG1hX3VubWFwX3NndGFibGUoYXR0YWNoLT5kZXYsIHNnLCBkaXJlY3Rpb24sIDApOworCQlkbWFf dW5tYXBfc2d0YWJsZShkbWFfYnVmX3NndF9kbWFfZGV2aWNlKGF0dGFjaCksIHNnLCBkaXJlY3Rp b24sCisJCQkJICAwKTsKIAogCXNnX2ZyZWVfdGFibGUoc2cpOwogCWtmcmVlKHNnKTsKQEAgLTEx NywxMiArMTIwLDExIEBAIHN0YXRpYyB2b2lkIGFtZHhkbmFfdWJ1Zl92dW5tYXAoc3RydWN0IGRt YV9idWYgKmRidWYsIHN0cnVjdCBpb3N5c19tYXAgKm1hcCkKIH0KIAogc3RhdGljIGNvbnN0IHN0 cnVjdCBkbWFfYnVmX29wcyBhbWR4ZG5hX3VidWZfZG1hYnVmX29wcyA9IHsKLQkubWFwX2RtYV9i dWYgPSBhbWR4ZG5hX3VidWZfbWFwLAotCS51bm1hcF9kbWFfYnVmID0gYW1keGRuYV91YnVmX3Vu bWFwLAogCS5yZWxlYXNlID0gYW1keGRuYV91YnVmX3JlbGVhc2UsCiAJLm1tYXAgPSBhbWR4ZG5h X3VidWZfbW1hcCwKIAkudm1hcCA9IGFtZHhkbmFfdWJ1Zl92bWFwLAogCS52dW5tYXAgPSBhbWR4 ZG5hX3VidWZfdnVubWFwLAorCURNQV9CVUZfU0lNUExFX1NHVF9FWFBfTUFUQ0goYW1keGRuYV91 YnVmX21hcCwgYW1keGRuYV91YnVmX3VubWFwKSwKIH07CiAKIHN0cnVjdCBkbWFfYnVmICphbWR4 ZG5hX2dldF91YnVmKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCmRpZmYgLS1naXQgYS9kcml2ZXJz L2FjY2VsL2l2cHUvaXZwdV9nZW1fdXNlcnB0ci5jIGIvZHJpdmVycy9hY2NlbC9pdnB1L2l2cHVf Z2VtX3VzZXJwdHIuYwppbmRleCAyNWJhNjA2MTY0YzAzYy4uMzJlOWEzN2ExNTE5MWQgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvYWNjZWwvaXZwdS9pdnB1X2dlbV91c2VycHRyLmMKKysrIGIvZHJpdmVy cy9hY2NlbC9pdnB1L2l2cHVfZ2VtX3VzZXJwdHIuYwpAQCAtNCw2ICs0LDcgQEAKICAqLwogCiAj aW5jbHVkZSA8bGludXgvZG1hLWJ1Zi5oPgorI2luY2x1ZGUgPGxpbnV4L2RtYS1idWYtbWFwcGlu Zy5oPgogI2luY2x1ZGUgPGxpbnV4L2Vyci5oPgogI2luY2x1ZGUgPGxpbnV4L2hpZ2htZW0uaD4K ICNpbmNsdWRlIDxsaW51eC9tbS5oPgpAQCAtMjYsNyArMjcsOCBAQCBpdnB1X2dlbV91c2VycHRy X2RtYWJ1Zl9tYXAoc3RydWN0IGRtYV9idWZfYXR0YWNobWVudCAqYXR0YWNobWVudCwKIAlzdHJ1 Y3Qgc2dfdGFibGUgKnNndCA9IGF0dGFjaG1lbnQtPmRtYWJ1Zi0+cHJpdjsKIAlpbnQgcmV0Owog Ci0JcmV0ID0gZG1hX21hcF9zZ3RhYmxlKGF0dGFjaG1lbnQtPmRldiwgc2d0LCBkaXJlY3Rpb24s IERNQV9BVFRSX1NLSVBfQ1BVX1NZTkMpOworCXJldCA9IGRtYV9tYXBfc2d0YWJsZShkbWFfYnVm X3NndF9kbWFfZGV2aWNlKGF0dGFjaG1lbnQpLCBzZ3QsCisJCQkgICAgICBkaXJlY3Rpb24sIERN QV9BVFRSX1NLSVBfQ1BVX1NZTkMpOwogCWlmIChyZXQpCiAJCXJldHVybiBFUlJfUFRSKHJldCk7 CiAKQEAgLTM3LDcgKzM5LDggQEAgc3RhdGljIHZvaWQgaXZwdV9nZW1fdXNlcnB0cl9kbWFidWZf dW5tYXAoc3RydWN0IGRtYV9idWZfYXR0YWNobWVudCAqYXR0YWNobWVudCwKIAkJCQkJICBzdHJ1 Y3Qgc2dfdGFibGUgKnNndCwKIAkJCQkJICBlbnVtIGRtYV9kYXRhX2RpcmVjdGlvbiBkaXJlY3Rp b24pCiB7Ci0JZG1hX3VubWFwX3NndGFibGUoYXR0YWNobWVudC0+ZGV2LCBzZ3QsIGRpcmVjdGlv biwgRE1BX0FUVFJfU0tJUF9DUFVfU1lOQyk7CisJZG1hX3VubWFwX3NndGFibGUoZG1hX2J1Zl9z Z3RfZG1hX2RldmljZShhdHRhY2htZW50KSwgc2d0LCBkaXJlY3Rpb24sCisJCQkgIERNQV9BVFRS X1NLSVBfQ1BVX1NZTkMpOwogfQogCiBzdGF0aWMgdm9pZCBpdnB1X2dlbV91c2VycHRyX2RtYWJ1 Zl9yZWxlYXNlKHN0cnVjdCBkbWFfYnVmICpkbWFfYnVmKQpAQCAtNTYsOSArNTksOSBAQCBzdGF0 aWMgdm9pZCBpdnB1X2dlbV91c2VycHRyX2RtYWJ1Zl9yZWxlYXNlKHN0cnVjdCBkbWFfYnVmICpk bWFfYnVmKQogfQogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGRtYV9idWZfb3BzIGl2cHVfZ2VtX3Vz ZXJwdHJfZG1hYnVmX29wcyA9IHsKLQkubWFwX2RtYV9idWYgPSBpdnB1X2dlbV91c2VycHRyX2Rt YWJ1Zl9tYXAsCi0JLnVubWFwX2RtYV9idWYgPSBpdnB1X2dlbV91c2VycHRyX2RtYWJ1Zl91bm1h cCwKIAkucmVsZWFzZSA9IGl2cHVfZ2VtX3VzZXJwdHJfZG1hYnVmX3JlbGVhc2UsCisJRE1BX0JV Rl9TSU1QTEVfU0dUX0VYUF9NQVRDSChpdnB1X2dlbV91c2VycHRyX2RtYWJ1Zl9tYXAsCisJCQkJ ICAgICBpdnB1X2dlbV91c2VycHRyX2RtYWJ1Zl91bm1hcCksCiB9OwogCiBzdGF0aWMgc3RydWN0 IGRtYV9idWYgKgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9kbWEtYnVmL2hlYXBzL2NtYV9oZWFwLmMg Yi9kcml2ZXJzL2RtYS1idWYvaGVhcHMvY21hX2hlYXAuYwppbmRleCA0MmY4ODE5M2VhYjlmOC4u YTFhYzQxNWJiYzUxMmMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZG1hLWJ1Zi9oZWFwcy9jbWFfaGVh cC5jCisrKyBiL2RyaXZlcnMvZG1hLWJ1Zi9oZWFwcy9jbWFfaGVhcC5jCkBAIC0xNCw2ICsxNCw3 IEBACiAKICNpbmNsdWRlIDxsaW51eC9jbWEuaD4KICNpbmNsdWRlIDxsaW51eC9kbWEtYnVmLmg+ CisjaW5jbHVkZSA8bGludXgvZG1hLWJ1Zi1tYXBwaW5nLmg+CiAjaW5jbHVkZSA8bGludXgvZG1h LWJ1Zi9oZWFwcy9jbWEuaD4KICNpbmNsdWRlIDxsaW51eC9kbWEtaGVhcC5oPgogI2luY2x1ZGUg PGxpbnV4L2RtYS1tYXAtb3BzLmg+CkBAIC04Nyw3ICs4OCw3IEBAIHN0YXRpYyBpbnQgY21hX2hl YXBfYXR0YWNoKHN0cnVjdCBkbWFfYnVmICpkbWFidWYsCiAJCXJldHVybiByZXQ7CiAJfQogCi0J YS0+ZGV2ID0gYXR0YWNobWVudC0+ZGV2OworCWEtPmRldiA9IGRtYV9idWZfc2d0X2RtYV9kZXZp Y2UoYXR0YWNobWVudCk7CiAJSU5JVF9MSVNUX0hFQUQoJmEtPmxpc3QpOwogCWEtPm1hcHBlZCA9 IGZhbHNlOwogCkBAIC0xMjEsNyArMTIyLDggQEAgc3RhdGljIHN0cnVjdCBzZ190YWJsZSAqY21h X2hlYXBfbWFwX2RtYV9idWYoc3RydWN0IGRtYV9idWZfYXR0YWNobWVudCAqYXR0YWNobWUKIAlz dHJ1Y3Qgc2dfdGFibGUgKnRhYmxlID0gJmEtPnRhYmxlOwogCWludCByZXQ7CiAKLQlyZXQgPSBk bWFfbWFwX3NndGFibGUoYXR0YWNobWVudC0+ZGV2LCB0YWJsZSwgZGlyZWN0aW9uLCAwKTsKKwly ZXQgPSBkbWFfbWFwX3NndGFibGUoZG1hX2J1Zl9zZ3RfZG1hX2RldmljZShhdHRhY2htZW50KSwg dGFibGUsCisJCQkgICAgICBkaXJlY3Rpb24sIDApOwogCWlmIChyZXQpCiAJCXJldHVybiBFUlJf UFRSKC1FTk9NRU0pOwogCWEtPm1hcHBlZCA9IHRydWU7CkBAIC0xMzUsNyArMTM3LDggQEAgc3Rh dGljIHZvaWQgY21hX2hlYXBfdW5tYXBfZG1hX2J1ZihzdHJ1Y3QgZG1hX2J1Zl9hdHRhY2htZW50 ICphdHRhY2htZW50LAogCXN0cnVjdCBkbWFfaGVhcF9hdHRhY2htZW50ICphID0gYXR0YWNobWVu dC0+cHJpdjsKIAogCWEtPm1hcHBlZCA9IGZhbHNlOwotCWRtYV91bm1hcF9zZ3RhYmxlKGF0dGFj aG1lbnQtPmRldiwgdGFibGUsIGRpcmVjdGlvbiwgMCk7CisJZG1hX3VubWFwX3NndGFibGUoZG1h X2J1Zl9zZ3RfZG1hX2RldmljZShhdHRhY2htZW50KSwgdGFibGUsIGRpcmVjdGlvbiwKKwkJCSAg MCk7CiB9CiAKIHN0YXRpYyBpbnQgY21hX2hlYXBfZG1hX2J1Zl9iZWdpbl9jcHVfYWNjZXNzKHN0 cnVjdCBkbWFfYnVmICpkbWFidWYsCkBAIC0yODIsMTQgKzI4NSwxMyBAQCBzdGF0aWMgdm9pZCBj bWFfaGVhcF9kbWFfYnVmX3JlbGVhc2Uoc3RydWN0IGRtYV9idWYgKmRtYWJ1ZikKIHN0YXRpYyBj b25zdCBzdHJ1Y3QgZG1hX2J1Zl9vcHMgY21hX2hlYXBfYnVmX29wcyA9IHsKIAkuYXR0YWNoID0g Y21hX2hlYXBfYXR0YWNoLAogCS5kZXRhY2ggPSBjbWFfaGVhcF9kZXRhY2gsCi0JLm1hcF9kbWFf YnVmID0gY21hX2hlYXBfbWFwX2RtYV9idWYsCi0JLnVubWFwX2RtYV9idWYgPSBjbWFfaGVhcF91 bm1hcF9kbWFfYnVmLAogCS5iZWdpbl9jcHVfYWNjZXNzID0gY21hX2hlYXBfZG1hX2J1Zl9iZWdp bl9jcHVfYWNjZXNzLAogCS5lbmRfY3B1X2FjY2VzcyA9IGNtYV9oZWFwX2RtYV9idWZfZW5kX2Nw dV9hY2Nlc3MsCiAJLm1tYXAgPSBjbWFfaGVhcF9tbWFwLAogCS52bWFwID0gY21hX2hlYXBfdm1h cCwKIAkudnVubWFwID0gY21hX2hlYXBfdnVubWFwLAogCS5yZWxlYXNlID0gY21hX2hlYXBfZG1h X2J1Zl9yZWxlYXNlLAorCURNQV9CVUZfU0lNUExFX1NHVF9FWFBfTUFUQ0goY21hX2hlYXBfbWFw X2RtYV9idWYsIGNtYV9oZWFwX3VubWFwX2RtYV9idWYpLAogfTsKIAogc3RhdGljIHN0cnVjdCBk bWFfYnVmICpjbWFfaGVhcF9hbGxvY2F0ZShzdHJ1Y3QgZG1hX2hlYXAgKmhlYXAsCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2RtYS1idWYvaGVhcHMvc3lzdGVtX2hlYXAuYyBiL2RyaXZlcnMvZG1hLWJ1 Zi9oZWFwcy9zeXN0ZW1faGVhcC5jCmluZGV4IDRjNzgyZmUzM2ZkNDk3Li4xOGMwNWQyZmUyN2Yw YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9kbWEtYnVmL2hlYXBzL3N5c3RlbV9oZWFwLmMKKysrIGIv ZHJpdmVycy9kbWEtYnVmL2hlYXBzL3N5c3RlbV9oZWFwLmMKQEAgLTExLDYgKzExLDcgQEAKICAq LwogCiAjaW5jbHVkZSA8bGludXgvZG1hLWJ1Zi5oPgorI2luY2x1ZGUgPGxpbnV4L2RtYS1idWYt bWFwcGluZy5oPgogI2luY2x1ZGUgPGxpbnV4L2RtYS1tYXBwaW5nLmg+CiAjaW5jbHVkZSA8bGlu dXgvZG1hLWhlYXAuaD4KICNpbmNsdWRlIDxsaW51eC9lcnIuaD4KQEAgLTg3LDcgKzg4LDcgQEAg c3RhdGljIGludCBzeXN0ZW1faGVhcF9hdHRhY2goc3RydWN0IGRtYV9idWYgKmRtYWJ1ZiwKIAkJ cmV0dXJuIHJldDsKIAl9CiAKLQlhLT5kZXYgPSBhdHRhY2htZW50LT5kZXY7CisJYS0+ZGV2ID0g ZG1hX2J1Zl9zZ3RfZG1hX2RldmljZShhdHRhY2htZW50KTsKIAlJTklUX0xJU1RfSEVBRCgmYS0+ bGlzdCk7CiAJYS0+bWFwcGVkID0gZmFsc2U7CiAKQEAgLTEyMSw3ICsxMjIsOCBAQCBzdGF0aWMg c3RydWN0IHNnX3RhYmxlICpzeXN0ZW1faGVhcF9tYXBfZG1hX2J1ZihzdHJ1Y3QgZG1hX2J1Zl9h dHRhY2htZW50ICphdHRhYwogCXN0cnVjdCBzZ190YWJsZSAqdGFibGUgPSAmYS0+dGFibGU7CiAJ aW50IHJldDsKIAotCXJldCA9IGRtYV9tYXBfc2d0YWJsZShhdHRhY2htZW50LT5kZXYsIHRhYmxl LCBkaXJlY3Rpb24sIDApOworCXJldCA9IGRtYV9tYXBfc2d0YWJsZShkbWFfYnVmX3NndF9kbWFf ZGV2aWNlKGF0dGFjaG1lbnQpLCB0YWJsZSwKKwkJCSAgICAgIGRpcmVjdGlvbiwgMCk7CiAJaWYg KHJldCkKIAkJcmV0dXJuIEVSUl9QVFIocmV0KTsKIApAQCAtMTM2LDcgKzEzOCw4IEBAIHN0YXRp YyB2b2lkIHN5c3RlbV9oZWFwX3VubWFwX2RtYV9idWYoc3RydWN0IGRtYV9idWZfYXR0YWNobWVu dCAqYXR0YWNobWVudCwKIAlzdHJ1Y3QgZG1hX2hlYXBfYXR0YWNobWVudCAqYSA9IGF0dGFjaG1l bnQtPnByaXY7CiAKIAlhLT5tYXBwZWQgPSBmYWxzZTsKLQlkbWFfdW5tYXBfc2d0YWJsZShhdHRh Y2htZW50LT5kZXYsIHRhYmxlLCBkaXJlY3Rpb24sIDApOworCWRtYV91bm1hcF9zZ3RhYmxlKGRt YV9idWZfc2d0X2RtYV9kZXZpY2UoYXR0YWNobWVudCksIHRhYmxlLCBkaXJlY3Rpb24sCisJCQkg IDApOwogfQogCiBzdGF0aWMgaW50IHN5c3RlbV9oZWFwX2RtYV9idWZfYmVnaW5fY3B1X2FjY2Vz cyhzdHJ1Y3QgZG1hX2J1ZiAqZG1hYnVmLApAQCAtMzA1LDE0ICszMDgsMTQgQEAgc3RhdGljIHZv aWQgc3lzdGVtX2hlYXBfZG1hX2J1Zl9yZWxlYXNlKHN0cnVjdCBkbWFfYnVmICpkbWFidWYpCiBz dGF0aWMgY29uc3Qgc3RydWN0IGRtYV9idWZfb3BzIHN5c3RlbV9oZWFwX2J1Zl9vcHMgPSB7CiAJ LmF0dGFjaCA9IHN5c3RlbV9oZWFwX2F0dGFjaCwKIAkuZGV0YWNoID0gc3lzdGVtX2hlYXBfZGV0 YWNoLAotCS5tYXBfZG1hX2J1ZiA9IHN5c3RlbV9oZWFwX21hcF9kbWFfYnVmLAotCS51bm1hcF9k bWFfYnVmID0gc3lzdGVtX2hlYXBfdW5tYXBfZG1hX2J1ZiwKIAkuYmVnaW5fY3B1X2FjY2VzcyA9 IHN5c3RlbV9oZWFwX2RtYV9idWZfYmVnaW5fY3B1X2FjY2VzcywKIAkuZW5kX2NwdV9hY2Nlc3Mg PSBzeXN0ZW1faGVhcF9kbWFfYnVmX2VuZF9jcHVfYWNjZXNzLAogCS5tbWFwID0gc3lzdGVtX2hl YXBfbW1hcCwKIAkudm1hcCA9IHN5c3RlbV9oZWFwX3ZtYXAsCiAJLnZ1bm1hcCA9IHN5c3RlbV9o ZWFwX3Z1bm1hcCwKIAkucmVsZWFzZSA9IHN5c3RlbV9oZWFwX2RtYV9idWZfcmVsZWFzZSwKKwlE TUFfQlVGX1NJTVBMRV9TR1RfRVhQX01BVENIKHN5c3RlbV9oZWFwX21hcF9kbWFfYnVmLAorCQkJ CSAgICAgc3lzdGVtX2hlYXBfdW5tYXBfZG1hX2J1ZiksCiB9OwogCiBzdGF0aWMgc3RydWN0IHBh Z2UgKmFsbG9jX2xhcmdlc3RfYXZhaWxhYmxlKHVuc2lnbmVkIGxvbmcgc2l6ZSwKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZG1hLWJ1Zi91ZG1hYnVmLmMgYi9kcml2ZXJzL2RtYS1idWYvdWRtYWJ1Zi5j CmluZGV4IDQwMzk5YzI2ZTZiZTYyLi5lMWI3NTc3MmRmMTY4ZiAxMDA2NDQKLS0tIGEvZHJpdmVy cy9kbWEtYnVmL3VkbWFidWYuYworKysgYi9kcml2ZXJzL2RtYS1idWYvdWRtYWJ1Zi5jCkBAIC0y LDYgKzIsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2NyZWQuaD4KICNpbmNsdWRlIDxsaW51eC9kZXZp Y2UuaD4KICNpbmNsdWRlIDxsaW51eC9kbWEtYnVmLmg+CisjaW5jbHVkZSA8bGludXgvZG1hLWJ1 Zi1tYXBwaW5nLmg+CiAjaW5jbHVkZSA8bGludXgvZG1hLXJlc3YuaD4KICNpbmNsdWRlIDxsaW51 eC9oaWdobWVtLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgpAQCAtMTg1LDE0ICsxODYsMTQg QEAgc3RhdGljIHZvaWQgcHV0X3NnX3RhYmxlKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IHNn X3RhYmxlICpzZywKIHN0YXRpYyBzdHJ1Y3Qgc2dfdGFibGUgKm1hcF91ZG1hYnVmKHN0cnVjdCBk bWFfYnVmX2F0dGFjaG1lbnQgKmF0LAogCQkJCSAgICBlbnVtIGRtYV9kYXRhX2RpcmVjdGlvbiBk aXJlY3Rpb24pCiB7Ci0JcmV0dXJuIGdldF9zZ190YWJsZShhdC0+ZGV2LCBhdC0+ZG1hYnVmLCBk aXJlY3Rpb24pOworCXJldHVybiBnZXRfc2dfdGFibGUoZG1hX2J1Zl9zZ3RfZG1hX2RldmljZShh dCksIGF0LT5kbWFidWYsIGRpcmVjdGlvbik7CiB9CiAKIHN0YXRpYyB2b2lkIHVubWFwX3VkbWFi dWYoc3RydWN0IGRtYV9idWZfYXR0YWNobWVudCAqYXQsCiAJCQkgIHN0cnVjdCBzZ190YWJsZSAq c2csCiAJCQkgIGVudW0gZG1hX2RhdGFfZGlyZWN0aW9uIGRpcmVjdGlvbikKIHsKLQlyZXR1cm4g cHV0X3NnX3RhYmxlKGF0LT5kZXYsIHNnLCBkaXJlY3Rpb24pOworCXJldHVybiBwdXRfc2dfdGFi bGUoZG1hX2J1Zl9zZ3RfZG1hX2RldmljZShhdCksIHNnLCBkaXJlY3Rpb24pOwogfQogCiBzdGF0 aWMgdm9pZCB1bnBpbl9hbGxfZm9saW9zKHN0cnVjdCB1ZG1hYnVmICp1YnVmKQpAQCAtMjc3LDE0 ICsyNzgsMTMgQEAgc3RhdGljIGludCBlbmRfY3B1X3VkbWFidWYoc3RydWN0IGRtYV9idWYgKmJ1 ZiwKIH0KIAogc3RhdGljIGNvbnN0IHN0cnVjdCBkbWFfYnVmX29wcyB1ZG1hYnVmX29wcyA9IHsK LQkubWFwX2RtYV9idWYJICAgPSBtYXBfdWRtYWJ1ZiwKLQkudW5tYXBfZG1hX2J1ZgkgICA9IHVu bWFwX3VkbWFidWYsCiAJLnJlbGVhc2UJICAgPSByZWxlYXNlX3VkbWFidWYsCiAJLm1tYXAJCSAg ID0gbW1hcF91ZG1hYnVmLAogCS52bWFwCQkgICA9IHZtYXBfdWRtYWJ1ZiwKIAkudnVubWFwCQkg ICA9IHZ1bm1hcF91ZG1hYnVmLAogCS5iZWdpbl9jcHVfYWNjZXNzICA9IGJlZ2luX2NwdV91ZG1h YnVmLAogCS5lbmRfY3B1X2FjY2VzcyAgICA9IGVuZF9jcHVfdWRtYWJ1ZiwKKwlETUFfQlVGX1NJ TVBMRV9TR1RfRVhQX01BVENIKG1hcF91ZG1hYnVmLCB1bm1hcF91ZG1hYnVmKSwKIH07CiAKICNk ZWZpbmUgU0VBTFNfV0FOVEVEIChGX1NFQUxfU0hSSU5LKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2FybWFkYS9hcm1hZGFfZ2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0vYXJtYWRhL2FybWFk YV9nZW0uYwppbmRleCAzNWZjZmEwZDg1ZmYzNS4uYmY2OTY4YjFmMjI1MTEgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9hcm1hZGEvYXJtYWRhX2dlbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9hcm1hZGEvYXJtYWRhX2dlbS5jCkBAIC00LDYgKzQsNyBAQAogICovCiAKICNpbmNsdWRlIDxs aW51eC9kbWEtYnVmLmg+CisjaW5jbHVkZSA8bGludXgvZG1hLWJ1Zi1tYXBwaW5nLmg+CiAjaW5j bHVkZSA8bGludXgvZG1hLW1hcHBpbmcuaD4KICNpbmNsdWRlIDxsaW51eC9tbWFuLmg+CiAjaW5j bHVkZSA8bGludXgvc2htZW1fZnMuaD4KQEAgLTM4Nyw2ICszODgsNyBAQCBzdGF0aWMgc3RydWN0 IHNnX3RhYmxlICoKIGFybWFkYV9nZW1fcHJpbWVfbWFwX2RtYV9idWYoc3RydWN0IGRtYV9idWZf YXR0YWNobWVudCAqYXR0YWNoLAogCWVudW0gZG1hX2RhdGFfZGlyZWN0aW9uIGRpcikKIHsKKwlz dHJ1Y3QgZGV2aWNlICpkbWFfZGV2ID0gZG1hX2J1Zl9zZ3RfZG1hX2RldmljZShhdHRhY2gpOwog CXN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqID0gYXR0YWNoLT5kbWFidWYtPnByaXY7CiAJc3Ry dWN0IGFybWFkYV9nZW1fb2JqZWN0ICpkb2JqID0gZHJtX3RvX2FybWFkYV9nZW0ob2JqKTsKIAlz dHJ1Y3Qgc2NhdHRlcmxpc3QgKnNnOwpAQCAtNDE3LDcgKzQxOSw3IEBAIGFybWFkYV9nZW1fcHJp bWVfbWFwX2RtYV9idWYoc3RydWN0IGRtYV9idWZfYXR0YWNobWVudCAqYXR0YWNoLAogCQkJc2df c2V0X3BhZ2Uoc2csIHBhZ2UsIFBBR0VfU0laRSwgMCk7CiAJCX0KIAotCQlpZiAoZG1hX21hcF9z Z3RhYmxlKGF0dGFjaC0+ZGV2LCBzZ3QsIGRpciwgMCkpCisJCWlmIChkbWFfbWFwX3NndGFibGUo ZG1hX2Rldiwgc2d0LCBkaXIsIDApKQogCQkJZ290byByZWxlYXNlOwogCX0gZWxzZSBpZiAoZG9i ai0+cGFnZSkgewogCQkvKiBTaW5nbGUgY29udGlndW91cyBwYWdlICovCkBAIC00MjYsNyArNDI4 LDcgQEAgYXJtYWRhX2dlbV9wcmltZV9tYXBfZG1hX2J1ZihzdHJ1Y3QgZG1hX2J1Zl9hdHRhY2ht ZW50ICphdHRhY2gsCiAKIAkJc2dfc2V0X3BhZ2Uoc2d0LT5zZ2wsIGRvYmotPnBhZ2UsIGRvYmot Pm9iai5zaXplLCAwKTsKIAotCQlpZiAoZG1hX21hcF9zZ3RhYmxlKGF0dGFjaC0+ZGV2LCBzZ3Qs IGRpciwgMCkpCisJCWlmIChkbWFfbWFwX3NndGFibGUoZG1hX2Rldiwgc2d0LCBkaXIsIDApKQog CQkJZ290byBmcmVlX3RhYmxlOwogCX0gZWxzZSBpZiAoZG9iai0+bGluZWFyKSB7CiAJCS8qIFNp bmdsZSBjb250aWd1b3VzIHBoeXNpY2FsIHJlZ2lvbiAtIG5vIHN0cnVjdCBwYWdlICovCkBAIC00 NTgsNyArNDYwLDcgQEAgc3RhdGljIHZvaWQgYXJtYWRhX2dlbV9wcmltZV91bm1hcF9kbWFfYnVm KHN0cnVjdCBkbWFfYnVmX2F0dGFjaG1lbnQgKmF0dGFjaCwKIAlpbnQgaTsKIAogCWlmICghZG9i ai0+bGluZWFyKQotCQlkbWFfdW5tYXBfc2d0YWJsZShhdHRhY2gtPmRldiwgc2d0LCBkaXIsIDAp OworCQlkbWFfdW5tYXBfc2d0YWJsZShkbWFfYnVmX3NndF9kbWFfZGV2aWNlKGF0dGFjaCksIHNn dCwgZGlyLCAwKTsKIAogCWlmIChkb2JqLT5vYmouZmlscCkgewogCQlzdHJ1Y3Qgc2NhdHRlcmxp c3QgKnNnOwpAQCAtNDc4LDEwICs0ODAsMTAgQEAgYXJtYWRhX2dlbV9kbWFidWZfbW1hcChzdHJ1 Y3QgZG1hX2J1ZiAqYnVmLCBzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSkKIH0KIAogc3RhdGlj IGNvbnN0IHN0cnVjdCBkbWFfYnVmX29wcyBhcm1hZGFfZ2VtX3ByaW1lX2RtYWJ1Zl9vcHMgPSB7 Ci0JLm1hcF9kbWFfYnVmCT0gYXJtYWRhX2dlbV9wcmltZV9tYXBfZG1hX2J1ZiwKLQkudW5tYXBf ZG1hX2J1Zgk9IGFybWFkYV9nZW1fcHJpbWVfdW5tYXBfZG1hX2J1ZiwKIAkucmVsZWFzZQk9IGRy bV9nZW1fZG1hYnVmX3JlbGVhc2UsCiAJLm1tYXAJCT0gYXJtYWRhX2dlbV9kbWFidWZfbW1hcCwK KwlETUFfQlVGX1NJTVBMRV9TR1RfRVhQX01BVENIKGFybWFkYV9nZW1fcHJpbWVfbWFwX2RtYV9i dWYsCisJCQkJICAgICBhcm1hZGFfZ2VtX3ByaW1lX3VubWFwX2RtYV9idWYpLAogfTsKIAogc3Ry dWN0IGRtYV9idWYgKgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9wcmltZS5jIGIv ZHJpdmVycy9ncHUvZHJtL2RybV9wcmltZS5jCmluZGV4IGQwOTNhODg4YjBkZjhmLi45NGVjMjQ4 M2U0MDEwNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9wcmltZS5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9kcm1fcHJpbWUuYwpAQCAtNjkzLDcgKzY5Myw3IEBAIHN0cnVjdCBzZ190 YWJsZSAqZHJtX2dlbV9tYXBfZG1hX2J1ZihzdHJ1Y3QgZG1hX2J1Zl9hdHRhY2htZW50ICphdHRh Y2gsCiAJaWYgKElTX0VSUihzZ3QpKQogCQlyZXR1cm4gc2d0OwogCi0JcmV0ID0gZG1hX21hcF9z Z3RhYmxlKGF0dGFjaC0+ZGV2LCBzZ3QsIGRpciwKKwlyZXQgPSBkbWFfbWFwX3NndGFibGUoZG1h X2J1Zl9zZ3RfZG1hX2RldmljZShhdHRhY2gpLCBzZ3QsIGRpciwKIAkJCSAgICAgIERNQV9BVFRS X1NLSVBfQ1BVX1NZTkMpOwogCWlmIChyZXQpIHsKIAkJc2dfZnJlZV90YWJsZShzZ3QpOwpAQCAt NzIwLDcgKzcyMCw4IEBAIHZvaWQgZHJtX2dlbV91bm1hcF9kbWFfYnVmKHN0cnVjdCBkbWFfYnVm X2F0dGFjaG1lbnQgKmF0dGFjaCwKIAlpZiAoIXNndCkKIAkJcmV0dXJuOwogCi0JZG1hX3VubWFw X3NndGFibGUoYXR0YWNoLT5kZXYsIHNndCwgZGlyLCBETUFfQVRUUl9TS0lQX0NQVV9TWU5DKTsK KwlkbWFfdW5tYXBfc2d0YWJsZShkbWFfYnVmX3NndF9kbWFfZGV2aWNlKGF0dGFjaCksIHNndCwg ZGlyLAorCQkJICBETUFfQVRUUl9TS0lQX0NQVV9TWU5DKTsKIAlzZ19mcmVlX3RhYmxlKHNndCk7 CiAJa2ZyZWUoc2d0KTsKIH0KQEAgLTg0MCwxMiArODQxLDEyIEBAIEVYUE9SVF9TWU1CT0woZHJt X2dlbV9kbWFidWZfbW1hcCk7CiBzdGF0aWMgY29uc3Qgc3RydWN0IGRtYV9idWZfb3BzIGRybV9n ZW1fcHJpbWVfZG1hYnVmX29wcyA9ICB7CiAJLmF0dGFjaCA9IGRybV9nZW1fbWFwX2F0dGFjaCwK IAkuZGV0YWNoID0gZHJtX2dlbV9tYXBfZGV0YWNoLAotCS5tYXBfZG1hX2J1ZiA9IGRybV9nZW1f bWFwX2RtYV9idWYsCi0JLnVubWFwX2RtYV9idWYgPSBkcm1fZ2VtX3VubWFwX2RtYV9idWYsCiAJ LnJlbGVhc2UgPSBkcm1fZ2VtX2RtYWJ1Zl9yZWxlYXNlLAogCS5tbWFwID0gZHJtX2dlbV9kbWFi dWZfbW1hcCwKIAkudm1hcCA9IGRybV9nZW1fZG1hYnVmX3ZtYXAsCiAJLnZ1bm1hcCA9IGRybV9n ZW1fZG1hYnVmX3Z1bm1hcCwKKwlETUFfQlVGX1NJTVBMRV9TR1RfRVhQX01BVENIKGRybV9nZW1f bWFwX2RtYV9idWYsCisJCQkJICAgICBkcm1fZ2VtX3VubWFwX2RtYV9idWYpLAogfTsKIAogLyoq CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fZG1hYnVmLmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fZG1hYnVmLmMKaW5kZXggZjRmMWM5 NzlkMWI5Y2EuLmExMTk2MjNhZWQyNTRiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9nZW0vaTkxNV9nZW1fZG1hYnVmLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5 MTVfZ2VtX2RtYWJ1Zi5jCkBAIC00LDYgKzQsNyBAQAogICovCiAKICNpbmNsdWRlIDxsaW51eC9k bWEtYnVmLmg+CisjaW5jbHVkZSA8bGludXgvZG1hLWJ1Zi1tYXBwaW5nLmg+CiAjaW5jbHVkZSA8 bGludXgvaGlnaG1lbS5oPgogI2luY2x1ZGUgPGxpbnV4L2RtYS1yZXN2Lmg+CiAjaW5jbHVkZSA8 bGludXgvbW9kdWxlLmg+CkBAIC01Miw3ICs1Myw4IEBAIHN0YXRpYyBzdHJ1Y3Qgc2dfdGFibGUg Kmk5MTVfZ2VtX21hcF9kbWFfYnVmKHN0cnVjdCBkbWFfYnVmX2F0dGFjaG1lbnQgKmF0dGFjaCwK IAkJZHN0ID0gc2dfbmV4dChkc3QpOwogCX0KIAotCXJldCA9IGRtYV9tYXBfc2d0YWJsZShhdHRh Y2gtPmRldiwgc2d0LCBkaXIsIERNQV9BVFRSX1NLSVBfQ1BVX1NZTkMpOworCXJldCA9IGRtYV9t YXBfc2d0YWJsZShkbWFfYnVmX3NndF9kbWFfZGV2aWNlKGF0dGFjaCksIHNndCwgZGlyLAorCQkJ ICAgICAgRE1BX0FUVFJfU0tJUF9DUFVfU1lOQyk7CiAJaWYgKHJldCkKIAkJZ290byBlcnJfZnJl ZV9zZzsKIApAQCAtMjAzLDE0ICsyMDUsMTQgQEAgc3RhdGljIHZvaWQgaTkxNV9nZW1fZG1hYnVm X2RldGFjaChzdHJ1Y3QgZG1hX2J1ZiAqZG1hYnVmLAogc3RhdGljIGNvbnN0IHN0cnVjdCBkbWFf YnVmX29wcyBpOTE1X2RtYWJ1Zl9vcHMgPSAgewogCS5hdHRhY2ggPSBpOTE1X2dlbV9kbWFidWZf YXR0YWNoLAogCS5kZXRhY2ggPSBpOTE1X2dlbV9kbWFidWZfZGV0YWNoLAotCS5tYXBfZG1hX2J1 ZiA9IGk5MTVfZ2VtX21hcF9kbWFfYnVmLAotCS51bm1hcF9kbWFfYnVmID0gZHJtX2dlbV91bm1h cF9kbWFfYnVmLAogCS5yZWxlYXNlID0gZHJtX2dlbV9kbWFidWZfcmVsZWFzZSwKIAkubW1hcCA9 IGk5MTVfZ2VtX2RtYWJ1Zl9tbWFwLAogCS52bWFwID0gaTkxNV9nZW1fZG1hYnVmX3ZtYXAsCiAJ LnZ1bm1hcCA9IGk5MTVfZ2VtX2RtYWJ1Zl92dW5tYXAsCiAJLmJlZ2luX2NwdV9hY2Nlc3MgPSBp OTE1X2dlbV9iZWdpbl9jcHVfYWNjZXNzLAogCS5lbmRfY3B1X2FjY2VzcyA9IGk5MTVfZ2VtX2Vu ZF9jcHVfYWNjZXNzLAorCURNQV9CVUZfU0lNUExFX1NHVF9FWFBfTUFUQ0goaTkxNV9nZW1fbWFw X2RtYV9idWYsCisJCQkJICAgICBkcm1fZ2VtX3VubWFwX2RtYV9idWYpLAogfTsKIAogc3RydWN0 IGRtYV9idWYgKmk5MTVfZ2VtX3ByaW1lX2V4cG9ydChzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKmdl bV9vYmosIGludCBmbGFncykKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9z ZWxmdGVzdHMvbW9ja19kbWFidWYuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9zZWxmdGVz dHMvbW9ja19kbWFidWYuYwppbmRleCA1Y2Q1OGUwZjBkY2Y2NC4uOTNhMDkxMjgwYmFmOWUgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9zZWxmdGVzdHMvbW9ja19kbWFidWYu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vc2VsZnRlc3RzL21vY2tfZG1hYnVmLmMK QEAgLTQsNiArNCw3IEBACiAgKiBDb3B5cmlnaHQgwqkgMjAxNiBJbnRlbCBDb3Jwb3JhdGlvbgog ICovCiAKKyNpbmNsdWRlIDxsaW51eC9kbWEtYnVmLW1hcHBpbmcuaD4KICNpbmNsdWRlIDxsaW51 eC92bWFsbG9jLmg+CiAjaW5jbHVkZSAibW9ja19kbWFidWYuaCIKIApAQCAtMjksNyArMzAsNyBA QCBzdGF0aWMgc3RydWN0IHNnX3RhYmxlICptb2NrX21hcF9kbWFfYnVmKHN0cnVjdCBkbWFfYnVm X2F0dGFjaG1lbnQgKmF0dGFjaG1lbnQsCiAJCXNnID0gc2dfbmV4dChzZyk7CiAJfQogCi0JZXJy ID0gZG1hX21hcF9zZ3RhYmxlKGF0dGFjaG1lbnQtPmRldiwgc3QsIGRpciwgMCk7CisJZXJyID0g ZG1hX21hcF9zZ3RhYmxlKGRtYV9idWZfc2d0X2RtYV9kZXZpY2UoYXR0YWNobWVudCksIHN0LCBk aXIsIDApOwogCWlmIChlcnIpCiAJCWdvdG8gZXJyX3N0OwogCkBAIC00Niw3ICs0Nyw3IEBAIHN0 YXRpYyB2b2lkIG1vY2tfdW5tYXBfZG1hX2J1ZihzdHJ1Y3QgZG1hX2J1Zl9hdHRhY2htZW50ICph dHRhY2htZW50LAogCQkJICAgICAgIHN0cnVjdCBzZ190YWJsZSAqc3QsCiAJCQkgICAgICAgZW51 bSBkbWFfZGF0YV9kaXJlY3Rpb24gZGlyKQogewotCWRtYV91bm1hcF9zZ3RhYmxlKGF0dGFjaG1l bnQtPmRldiwgc3QsIGRpciwgMCk7CisJZG1hX3VubWFwX3NndGFibGUoZG1hX2J1Zl9zZ3RfZG1h X2RldmljZShhdHRhY2htZW50KSwgc3QsIGRpciwgMCk7CiAJc2dfZnJlZV90YWJsZShzdCk7CiAJ a2ZyZWUoc3QpOwogfQpAQCAtODgsMTIgKzg5LDExIEBAIHN0YXRpYyBpbnQgbW9ja19kbWFidWZf bW1hcChzdHJ1Y3QgZG1hX2J1ZiAqZG1hX2J1Ziwgc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEp CiB9CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZG1hX2J1Zl9vcHMgbW9ja19kbWFidWZfb3BzID0g IHsKLQkubWFwX2RtYV9idWYgPSBtb2NrX21hcF9kbWFfYnVmLAotCS51bm1hcF9kbWFfYnVmID0g bW9ja191bm1hcF9kbWFfYnVmLAogCS5yZWxlYXNlID0gbW9ja19kbWFidWZfcmVsZWFzZSwKIAku bW1hcCA9IG1vY2tfZG1hYnVmX21tYXAsCiAJLnZtYXAgPSBtb2NrX2RtYWJ1Zl92bWFwLAogCS52 dW5tYXAgPSBtb2NrX2RtYWJ1Zl92dW5tYXAsCisJRE1BX0JVRl9TSU1QTEVfU0dUX0VYUF9NQVRD SChtb2NrX21hcF9kbWFfYnVmLCBtb2NrX3VubWFwX2RtYV9idWYpLAogfTsKIAogc3RhdGljIHN0 cnVjdCBkbWFfYnVmICptb2NrX2RtYWJ1ZihpbnQgbnBhZ2VzKQpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL21zbS9tc21fZ2VtX3ByaW1lLmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9n ZW1fcHJpbWUuYwppbmRleCAwMzZkMzRjNjc0ZDlhMi4uZWQ3YTliZmQzM2MyODggMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2dlbV9wcmltZS5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9tc20vbXNtX2dlbV9wcmltZS5jCkBAIC01LDYgKzUsNyBAQAogICovCiAKICNpbmNsdWRl IDxsaW51eC9kbWEtYnVmLmg+CisjaW5jbHVkZSA8bGludXgvZG1hLWJ1Zi1tYXBwaW5nLmg+CiAK ICNpbmNsdWRlIDxkcm0vZHJtX2Rydi5oPgogI2luY2x1ZGUgPGRybS9kcm1fcHJpbWUuaD4KQEAg LTU0LDEyICs1NSwxMiBAQCBzdGF0aWMgdm9pZCBtc21fZ2VtX2RtYWJ1Zl9yZWxlYXNlKHN0cnVj dCBkbWFfYnVmICpkbWFfYnVmKQogc3RhdGljIGNvbnN0IHN0cnVjdCBkbWFfYnVmX29wcyBtc21f Z2VtX3ByaW1lX2RtYWJ1Zl9vcHMgPSAgewogCS5hdHRhY2ggPSBkcm1fZ2VtX21hcF9hdHRhY2gs CiAJLmRldGFjaCA9IGRybV9nZW1fbWFwX2RldGFjaCwKLQkubWFwX2RtYV9idWYgPSBkcm1fZ2Vt X21hcF9kbWFfYnVmLAotCS51bm1hcF9kbWFfYnVmID0gZHJtX2dlbV91bm1hcF9kbWFfYnVmLAog CS5yZWxlYXNlID0gbXNtX2dlbV9kbWFidWZfcmVsZWFzZSwKIAkubW1hcCA9IGRybV9nZW1fZG1h YnVmX21tYXAsCiAJLnZtYXAgPSBkcm1fZ2VtX2RtYWJ1Zl92bWFwLAogCS52dW5tYXAgPSBkcm1f Z2VtX2RtYWJ1Zl92dW5tYXAsCisJRE1BX0JVRl9TSU1QTEVfU0dUX0VYUF9NQVRDSChkcm1fZ2Vt X21hcF9kbWFfYnVmLAorCQkJCSAgICAgZHJtX2dlbV91bm1hcF9kbWFfYnVmKSwKIH07CiAKIHN0 cnVjdCBkcm1fZ2VtX29iamVjdCAqbXNtX2dlbV9wcmltZV9pbXBvcnQoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwKQEAgLTEzMiwzICsxMzMsNSBAQCB2b2lkIG1zbV9nZW1fcHJpbWVfdW5waW4oc3Ry dWN0IGRybV9nZW1fb2JqZWN0ICpvYmopCiAKIAltc21fZ2VtX3VucGluX3BhZ2VzX2xvY2tlZChv YmopOwogfQorCitNT0RVTEVfSU1QT1JUX05TKCJETUFfQlVGIik7CmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2dlbV9kbWFidWYuYyBiL2RyaXZlcnMvZ3B1L2RybS9v bWFwZHJtL29tYXBfZ2VtX2RtYWJ1Zi5jCmluZGV4IDMwY2YxY2RjMWFhM2M4Li4yM2JlYWVlZmFi NjdkNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9nZW1fZG1hYnVm LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9nZW1fZG1hYnVmLmMKQEAgLTUs NiArNSw3IEBACiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L2RtYS1idWYuaD4KKyNpbmNsdWRlIDxs aW51eC9kbWEtYnVmLW1hcHBpbmcuaD4KICNpbmNsdWRlIDxsaW51eC9oaWdobWVtLmg+CiAKICNp bmNsdWRlIDxkcm0vZHJtX3ByaW1lLmg+CkBAIC02OSwxMiArNzAsMTIgQEAgc3RhdGljIGludCBv bWFwX2dlbV9kbWFidWZfbW1hcChzdHJ1Y3QgZG1hX2J1ZiAqYnVmZmVyLAogfQogCiBzdGF0aWMg Y29uc3Qgc3RydWN0IGRtYV9idWZfb3BzIG9tYXBfZG1hYnVmX29wcyA9IHsKLQkubWFwX2RtYV9i dWYgPSBvbWFwX2dlbV9tYXBfZG1hX2J1ZiwKLQkudW5tYXBfZG1hX2J1ZiA9IG9tYXBfZ2VtX3Vu bWFwX2RtYV9idWYsCiAJLnJlbGVhc2UgPSBkcm1fZ2VtX2RtYWJ1Zl9yZWxlYXNlLAogCS5iZWdp bl9jcHVfYWNjZXNzID0gb21hcF9nZW1fZG1hYnVmX2JlZ2luX2NwdV9hY2Nlc3MsCiAJLmVuZF9j cHVfYWNjZXNzID0gb21hcF9nZW1fZG1hYnVmX2VuZF9jcHVfYWNjZXNzLAogCS5tbWFwID0gb21h cF9nZW1fZG1hYnVmX21tYXAsCisJRE1BX0JVRl9TSU1QTEVfU0dUX0VYUF9NQVRDSChvbWFwX2dl bV9tYXBfZG1hX2J1ZiwKKwkJCQkgICAgIG9tYXBfZ2VtX3VubWFwX2RtYV9idWYpLAogfTsKIAog c3RydWN0IGRtYV9idWYgKm9tYXBfZ2VtX3ByaW1lX2V4cG9ydChzdHJ1Y3QgZHJtX2dlbV9vYmpl Y3QgKm9iaiwgaW50IGZsYWdzKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2dl bS5jIGIvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2dlbS5jCmluZGV4IDZiMTRmMWU5MTllYjZiLi4y NDRjMDE4MTlkNTZiNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2dlbS5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9nZW0uYwpAQCAtMTEsNiArMTEsNyBAQAogICovCiAK ICNpbmNsdWRlIDxsaW51eC9kbWEtYnVmLmg+CisjaW5jbHVkZSA8bGludXgvZG1hLWJ1Zi1tYXBw aW5nLmg+CiAjaW5jbHVkZSA8bGludXgvaW9tbXUuaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGUu aD4KICNpbmNsdWRlIDxsaW51eC92bWFsbG9jLmg+CkBAIC02MzUsNiArNjM2LDcgQEAgc3RhdGlj IHN0cnVjdCBzZ190YWJsZSAqCiB0ZWdyYV9nZW1fcHJpbWVfbWFwX2RtYV9idWYoc3RydWN0IGRt YV9idWZfYXR0YWNobWVudCAqYXR0YWNoLAogCQkJICAgIGVudW0gZG1hX2RhdGFfZGlyZWN0aW9u IGRpcikKIHsKKwlzdHJ1Y3QgZGV2aWNlICpkbWFfZGV2ID0gZG1hX2J1Zl9zZ3RfZG1hX2Rldmlj ZShhdHRhY2gpOwogCXN0cnVjdCBkcm1fZ2VtX29iamVjdCAqZ2VtID0gYXR0YWNoLT5kbWFidWYt PnByaXY7CiAJc3RydWN0IHRlZ3JhX2JvICpibyA9IHRvX3RlZ3JhX2JvKGdlbSk7CiAJc3RydWN0 IHNnX3RhYmxlICpzZ3Q7CkBAIC02NDgsMTIgKzY1MCwxMiBAQCB0ZWdyYV9nZW1fcHJpbWVfbWFw X2RtYV9idWYoc3RydWN0IGRtYV9idWZfYXR0YWNobWVudCAqYXR0YWNoLAogCQkJCQkgICAgICAw LCBnZW0tPnNpemUsIEdGUF9LRVJORUwpIDwgMCkKIAkJCWdvdG8gZnJlZTsKIAl9IGVsc2Ugewot CQlpZiAoZG1hX2dldF9zZ3RhYmxlKGF0dGFjaC0+ZGV2LCBzZ3QsIGJvLT52YWRkciwgYm8tPmlv dmEsCisJCWlmIChkbWFfZ2V0X3NndGFibGUoZG1hX2Rldiwgc2d0LCBiby0+dmFkZHIsIGJvLT5p b3ZhLAogCQkJCSAgICBnZW0tPnNpemUpIDwgMCkKIAkJCWdvdG8gZnJlZTsKIAl9CiAKLQlpZiAo ZG1hX21hcF9zZ3RhYmxlKGF0dGFjaC0+ZGV2LCBzZ3QsIGRpciwgMCkpCisJaWYgKGRtYV9tYXBf c2d0YWJsZShkbWFfZGV2LCBzZ3QsIGRpciwgMCkpCiAJCWdvdG8gZnJlZTsKIAogCXJldHVybiBz Z3Q7CkBAIC02NzIsNyArNjc0LDcgQEAgc3RhdGljIHZvaWQgdGVncmFfZ2VtX3ByaW1lX3VubWFw X2RtYV9idWYoc3RydWN0IGRtYV9idWZfYXR0YWNobWVudCAqYXR0YWNoLAogCXN0cnVjdCB0ZWdy YV9ibyAqYm8gPSB0b190ZWdyYV9ibyhnZW0pOwogCiAJaWYgKGJvLT5wYWdlcykKLQkJZG1hX3Vu bWFwX3NndGFibGUoYXR0YWNoLT5kZXYsIHNndCwgZGlyLCAwKTsKKwkJZG1hX3VubWFwX3NndGFi bGUoZG1hX2J1Zl9zZ3RfZG1hX2RldmljZShhdHRhY2gpLCBzZ3QsIGRpciwgMCk7CiAKIAlzZ19m cmVlX3RhYmxlKHNndCk7CiAJa2ZyZWUoc2d0KTsKQEAgLTc0NSwxNCArNzQ3LDE0IEBAIHN0YXRp YyB2b2lkIHRlZ3JhX2dlbV9wcmltZV92dW5tYXAoc3RydWN0IGRtYV9idWYgKmJ1Ziwgc3RydWN0 IGlvc3lzX21hcCAqbWFwKQogfQogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGRtYV9idWZfb3BzIHRl Z3JhX2dlbV9wcmltZV9kbWFidWZfb3BzID0gewotCS5tYXBfZG1hX2J1ZiA9IHRlZ3JhX2dlbV9w cmltZV9tYXBfZG1hX2J1ZiwKLQkudW5tYXBfZG1hX2J1ZiA9IHRlZ3JhX2dlbV9wcmltZV91bm1h cF9kbWFfYnVmLAogCS5yZWxlYXNlID0gdGVncmFfZ2VtX3ByaW1lX3JlbGVhc2UsCiAJLmJlZ2lu X2NwdV9hY2Nlc3MgPSB0ZWdyYV9nZW1fcHJpbWVfYmVnaW5fY3B1X2FjY2VzcywKIAkuZW5kX2Nw dV9hY2Nlc3MgPSB0ZWdyYV9nZW1fcHJpbWVfZW5kX2NwdV9hY2Nlc3MsCiAJLm1tYXAgPSB0ZWdy YV9nZW1fcHJpbWVfbW1hcCwKIAkudm1hcCA9IHRlZ3JhX2dlbV9wcmltZV92bWFwLAogCS52dW5t YXAgPSB0ZWdyYV9nZW1fcHJpbWVfdnVubWFwLAorCURNQV9CVUZfU0lNUExFX1NHVF9FWFBfTUFU Q0godGVncmFfZ2VtX3ByaW1lX21hcF9kbWFfYnVmLAorCQkJCSAgICAgdGVncmFfZ2VtX3ByaW1l X3VubWFwX2RtYV9idWYpLAogfTsKIAogc3RydWN0IGRtYV9idWYgKnRlZ3JhX2dlbV9wcmltZV9l eHBvcnQoc3RydWN0IGRybV9nZW1fb2JqZWN0ICpnZW0sCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vdmlydGlvL3ZpcnRncHVfcHJpbWUuYyBiL2RyaXZlcnMvZ3B1L2RybS92aXJ0aW8vdmly dGdwdV9wcmltZS5jCmluZGV4IGNlNDkyODIxOThjYmY2Li5kN2UxZjc0MWY5NDFhMyAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL3ZpcnRpby92aXJ0Z3B1X3ByaW1lLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL3ZpcnRpby92aXJ0Z3B1X3ByaW1lLmMKQEAgLTIzLDYgKzIzLDcgQEAKICAqLwog CiAjaW5jbHVkZSA8ZHJtL2RybV9wcmltZS5oPgorI2luY2x1ZGUgPGxpbnV4L2RtYS1idWYtbWFw cGluZy5oPgogI2luY2x1ZGUgPGxpbnV4L3ZpcnRpb19kbWFfYnVmLmg+CiAKICNpbmNsdWRlICJ2 aXJ0Z3B1X2Rydi5oIgpAQCAtNTMsNyArNTQsOCBAQCB2aXJ0Z3B1X2dlbV9tYXBfZG1hX2J1Zihz dHJ1Y3QgZG1hX2J1Zl9hdHRhY2htZW50ICphdHRhY2gsCiAJc3RydWN0IHZpcnRpb19ncHVfb2Jq ZWN0ICpibyA9IGdlbV90b192aXJ0aW9fZ3B1X29iaihvYmopOwogCiAJaWYgKHZpcnRpb19ncHVf aXNfdnJhbShibykpCi0JCXJldHVybiB2aXJ0aW9fZ3B1X3ZyYW1fbWFwX2RtYV9idWYoYm8sIGF0 dGFjaC0+ZGV2LCBkaXIpOworCQlyZXR1cm4gdmlydGlvX2dwdV92cmFtX21hcF9kbWFfYnVmKAor CQkJYm8sIGRtYV9idWZfc2d0X2RtYV9kZXZpY2UoYXR0YWNoKSwgZGlyKTsKIAogCXJldHVybiBk cm1fZ2VtX21hcF9kbWFfYnVmKGF0dGFjaCwgZGlyKTsKIH0KQEAgLTY2LDcgKzY4LDggQEAgc3Rh dGljIHZvaWQgdmlydGdwdV9nZW1fdW5tYXBfZG1hX2J1ZihzdHJ1Y3QgZG1hX2J1Zl9hdHRhY2ht ZW50ICphdHRhY2gsCiAJc3RydWN0IHZpcnRpb19ncHVfb2JqZWN0ICpibyA9IGdlbV90b192aXJ0 aW9fZ3B1X29iaihvYmopOwogCiAJaWYgKHZpcnRpb19ncHVfaXNfdnJhbShibykpIHsKLQkJdmly dGlvX2dwdV92cmFtX3VubWFwX2RtYV9idWYoYXR0YWNoLT5kZXYsIHNndCwgZGlyKTsKKwkJdmly dGlvX2dwdV92cmFtX3VubWFwX2RtYV9idWYoZG1hX2J1Zl9zZ3RfZG1hX2RldmljZShhdHRhY2gp LAorCQkJCQkgICAgICBzZ3QsIGRpcik7CiAJCXJldHVybjsKIAl9CiAKQEAgLTc3LDEyICs4MCwx MiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHZpcnRpb19kbWFfYnVmX29wcyB2aXJ0Z3B1X2RtYWJ1 Zl9vcHMgPSAgewogCS5vcHMgPSB7CiAJCS5hdHRhY2ggPSB2aXJ0aW9fZG1hX2J1Zl9hdHRhY2gs CiAJCS5kZXRhY2ggPSBkcm1fZ2VtX21hcF9kZXRhY2gsCi0JCS5tYXBfZG1hX2J1ZiA9IHZpcnRn cHVfZ2VtX21hcF9kbWFfYnVmLAotCQkudW5tYXBfZG1hX2J1ZiA9IHZpcnRncHVfZ2VtX3VubWFw X2RtYV9idWYsCiAJCS5yZWxlYXNlID0gZHJtX2dlbV9kbWFidWZfcmVsZWFzZSwKIAkJLm1tYXAg PSBkcm1fZ2VtX2RtYWJ1Zl9tbWFwLAogCQkudm1hcCA9IGRybV9nZW1fZG1hYnVmX3ZtYXAsCiAJ CS52dW5tYXAgPSBkcm1fZ2VtX2RtYWJ1Zl92dW5tYXAsCisJCURNQV9CVUZfU0lNUExFX1NHVF9F WFBfTUFUQ0godmlydGdwdV9nZW1fbWFwX2RtYV9idWYsCisJCQkJCSAgICAgdmlydGdwdV9nZW1f dW5tYXBfZG1hX2J1ZiksCiAJfSwKIAkuZGV2aWNlX2F0dGFjaCA9IGRybV9nZW1fbWFwX2F0dGFj aCwKIAkuZ2V0X3V1aWQgPSB2aXJ0Z3B1X3ZpcnRpb19nZXRfdXVpZCwKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvaW9tbXUvaW9tbXVmZC9zZWxmdGVzdC5jIGIvZHJpdmVycy9pb21tdS9pb21tdWZkL3Nl bGZ0ZXN0LmMKaW5kZXggNTUwZmYzNmRlYzNhMzUuLjdhYTZhNThhNTcwNWY3IDEwMDY0NAotLS0g YS9kcml2ZXJzL2lvbW11L2lvbW11ZmQvc2VsZnRlc3QuYworKysgYi9kcml2ZXJzL2lvbW11L2lv bW11ZmQvc2VsZnRlc3QuYwpAQCAtNiw2ICs2LDcgQEAKICNpbmNsdWRlIDxsaW51eC9hbm9uX2lu b2Rlcy5oPgogI2luY2x1ZGUgPGxpbnV4L2RlYnVnZnMuaD4KICNpbmNsdWRlIDxsaW51eC9kbWEt YnVmLmg+CisjaW5jbHVkZSA8bGludXgvZG1hLWJ1Zi1tYXBwaW5nLmg+CiAjaW5jbHVkZSA8bGlu dXgvZG1hLXJlc3YuaD4KICNpbmNsdWRlIDxsaW51eC9mYXVsdC1pbmplY3QuaD4KICNpbmNsdWRl IDxsaW51eC9maWxlLmg+CkBAIC0xOTYxLDE3ICsxOTYyLDYgQEAgc3RydWN0IGlvbW11ZmRfdGVz dF9kbWFfYnVmIHsKIAlib29sIHJldm9rZWQ7CiB9OwogCi1zdGF0aWMgaW50IGlvbW11ZmRfdGVz dF9kbWFfYnVmX2F0dGFjaChzdHJ1Y3QgZG1hX2J1ZiAqZG1hYnVmLAotCQkJCSAgICAgICBzdHJ1 Y3QgZG1hX2J1Zl9hdHRhY2htZW50ICphdHRhY2htZW50KQotewotCXJldHVybiAwOwotfQotCi1z dGF0aWMgdm9pZCBpb21tdWZkX3Rlc3RfZG1hX2J1Zl9kZXRhY2goc3RydWN0IGRtYV9idWYgKmRt YWJ1ZiwKLQkJCQkJc3RydWN0IGRtYV9idWZfYXR0YWNobWVudCAqYXR0YWNobWVudCkKLXsKLX0K LQogc3RhdGljIHN0cnVjdCBzZ190YWJsZSAqCiBpb21tdWZkX3Rlc3RfZG1hX2J1Zl9tYXAoc3Ry dWN0IGRtYV9idWZfYXR0YWNobWVudCAqYXR0YWNobWVudCwKIAkJCSBlbnVtIGRtYV9kYXRhX2Rp cmVjdGlvbiBkaXIpCkBAIC0xOTk0LDExICsxOTg0LDkgQEAgc3RhdGljIHZvaWQgaW9tbXVmZF90 ZXN0X2RtYV9idWZfcmVsZWFzZShzdHJ1Y3QgZG1hX2J1ZiAqZG1hYnVmKQogfQogCiBzdGF0aWMg Y29uc3Qgc3RydWN0IGRtYV9idWZfb3BzIGlvbW11ZmRfdGVzdF9kbWFidWZfb3BzID0gewotCS5h dHRhY2ggPSBpb21tdWZkX3Rlc3RfZG1hX2J1Zl9hdHRhY2gsCi0JLmRldGFjaCA9IGlvbW11ZmRf dGVzdF9kbWFfYnVmX2RldGFjaCwKLQkubWFwX2RtYV9idWYgPSBpb21tdWZkX3Rlc3RfZG1hX2J1 Zl9tYXAsCiAJLnJlbGVhc2UgPSBpb21tdWZkX3Rlc3RfZG1hX2J1Zl9yZWxlYXNlLAotCS51bm1h cF9kbWFfYnVmID0gaW9tbXVmZF90ZXN0X2RtYV9idWZfdW5tYXAsCisJRE1BX0JVRl9TSU1QTEVf U0dUX0VYUF9NQVRDSChpb21tdWZkX3Rlc3RfZG1hX2J1Zl9tYXAsCisJCQkJICAgICBpb21tdWZk X3Rlc3RfZG1hX2J1Zl91bm1hcCksCiB9OwogCiBpbnQgaW9tbXVmZF90ZXN0X2RtYV9idWZfaW9t bXVmZF9tYXAoc3RydWN0IGRtYV9idWZfYXR0YWNobWVudCAqYXR0YWNobWVudCwKZGlmZiAtLWdp dCBhL2RyaXZlcnMvbWVkaWEvY29tbW9uL3ZpZGVvYnVmMi92aWRlb2J1ZjItZG1hLWNvbnRpZy5j IGIvZHJpdmVycy9tZWRpYS9jb21tb24vdmlkZW9idWYyL3ZpZGVvYnVmMi1kbWEtY29udGlnLmMK aW5kZXggNzEyM2M1ZmFlOTJjZWUuLjdhM2JjMzE2OTliYjkwIDEwMDY0NAotLS0gYS9kcml2ZXJz L21lZGlhL2NvbW1vbi92aWRlb2J1ZjIvdmlkZW9idWYyLWRtYS1jb250aWcuYworKysgYi9kcml2 ZXJzL21lZGlhL2NvbW1vbi92aWRlb2J1ZjIvdmlkZW9idWYyLWRtYS1jb250aWcuYwpAQCAtMTEs NiArMTEsNyBAQAogICovCiAKICNpbmNsdWRlIDxsaW51eC9kbWEtYnVmLmg+CisjaW5jbHVkZSA8 bGludXgvZG1hLWJ1Zi1tYXBwaW5nLmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5j bHVkZSA8bGludXgvcmVmY291bnQuaD4KICNpbmNsdWRlIDxsaW51eC9zY2F0dGVybGlzdC5oPgpA QCAtMzcyLDggKzM3Myw4IEBAIHN0YXRpYyB2b2lkIHZiMl9kY19kbWFidWZfb3BzX2RldGFjaChz dHJ1Y3QgZG1hX2J1ZiAqZGJ1ZiwKIAkJICogbWVtb3J5IGxvY2F0aW9ucyBkbyBub3QgcmVxdWly ZSBhbnkgZXhwbGljaXQgY2FjaGUKIAkJICogbWFpbnRlbmFuY2UgcHJpb3Igb3IgYWZ0ZXIgYmVp bmcgdXNlZCBieSB0aGUgZGV2aWNlLgogCQkgKi8KLQkJZG1hX3VubWFwX3NndGFibGUoZGJfYXR0 YWNoLT5kZXYsIHNndCwgYXR0YWNoLT5kbWFfZGlyLAotCQkJCSAgRE1BX0FUVFJfU0tJUF9DUFVf U1lOQyk7CisJCWRtYV91bm1hcF9zZ3RhYmxlKGRtYV9idWZfc2d0X2RtYV9kZXZpY2UoZGJfYXR0 YWNoKSwgc2d0LAorCQkJCSAgYXR0YWNoLT5kbWFfZGlyLCBETUFfQVRUUl9TS0lQX0NQVV9TWU5D KTsKIAlzZ19mcmVlX3RhYmxlKHNndCk7CiAJa2ZyZWUoYXR0YWNoKTsKIAlkYl9hdHRhY2gtPnBy aXYgPSBOVUxMOwpAQCAtMzkyLDggKzM5Myw4IEBAIHN0YXRpYyBzdHJ1Y3Qgc2dfdGFibGUgKnZi Ml9kY19kbWFidWZfb3BzX21hcCgKIAogCS8qIHJlbGVhc2UgYW55IHByZXZpb3VzIGNhY2hlICov CiAJaWYgKGF0dGFjaC0+ZG1hX2RpciAhPSBETUFfTk9ORSkgewotCQlkbWFfdW5tYXBfc2d0YWJs ZShkYl9hdHRhY2gtPmRldiwgc2d0LCBhdHRhY2gtPmRtYV9kaXIsCi0JCQkJICBETUFfQVRUUl9T S0lQX0NQVV9TWU5DKTsKKwkJZG1hX3VubWFwX3NndGFibGUoZG1hX2J1Zl9zZ3RfZG1hX2Rldmlj ZShkYl9hdHRhY2gpLCBzZ3QsCisJCQkJICBhdHRhY2gtPmRtYV9kaXIsIERNQV9BVFRSX1NLSVBf Q1BVX1NZTkMpOwogCQlhdHRhY2gtPmRtYV9kaXIgPSBETUFfTk9ORTsKIAl9CiAKQEAgLTQwMSw3 ICs0MDIsNyBAQCBzdGF0aWMgc3RydWN0IHNnX3RhYmxlICp2YjJfZGNfZG1hYnVmX29wc19tYXAo CiAJICogbWFwcGluZyB0byB0aGUgY2xpZW50IHdpdGggbmV3IGRpcmVjdGlvbiwgbm8gY2FjaGUg c3luYwogCSAqIHJlcXVpcmVkIHNlZSBjb21tZW50IGluIHZiMl9kY19kbWFidWZfb3BzX2RldGFj aCgpCiAJICovCi0JaWYgKGRtYV9tYXBfc2d0YWJsZShkYl9hdHRhY2gtPmRldiwgc2d0LCBkbWFf ZGlyLAorCWlmIChkbWFfbWFwX3NndGFibGUoZG1hX2J1Zl9zZ3RfZG1hX2RldmljZShkYl9hdHRh Y2gpLCBzZ3QsIGRtYV9kaXIsCiAJCQkgICAgRE1BX0FUVFJfU0tJUF9DUFVfU1lOQykpIHsKIAkJ cHJfZXJyKCJmYWlsZWQgdG8gbWFwIHNjYXR0ZXJsaXN0XG4iKTsKIAkJcmV0dXJuIEVSUl9QVFIo LUVJTyk7CkBAIC00NjIsMTMgKzQ2MywxMyBAQCBzdGF0aWMgaW50IHZiMl9kY19kbWFidWZfb3Bz X21tYXAoc3RydWN0IGRtYV9idWYgKmRidWYsCiBzdGF0aWMgY29uc3Qgc3RydWN0IGRtYV9idWZf b3BzIHZiMl9kY19kbWFidWZfb3BzID0gewogCS5hdHRhY2ggPSB2YjJfZGNfZG1hYnVmX29wc19h dHRhY2gsCiAJLmRldGFjaCA9IHZiMl9kY19kbWFidWZfb3BzX2RldGFjaCwKLQkubWFwX2RtYV9i dWYgPSB2YjJfZGNfZG1hYnVmX29wc19tYXAsCi0JLnVubWFwX2RtYV9idWYgPSB2YjJfZGNfZG1h YnVmX29wc191bm1hcCwKIAkuYmVnaW5fY3B1X2FjY2VzcyA9IHZiMl9kY19kbWFidWZfb3BzX2Jl Z2luX2NwdV9hY2Nlc3MsCiAJLmVuZF9jcHVfYWNjZXNzID0gdmIyX2RjX2RtYWJ1Zl9vcHNfZW5k X2NwdV9hY2Nlc3MsCiAJLnZtYXAgPSB2YjJfZGNfZG1hYnVmX29wc192bWFwLAogCS5tbWFwID0g dmIyX2RjX2RtYWJ1Zl9vcHNfbW1hcCwKIAkucmVsZWFzZSA9IHZiMl9kY19kbWFidWZfb3BzX3Jl bGVhc2UsCisJRE1BX0JVRl9TSU1QTEVfU0dUX0VYUF9NQVRDSCh2YjJfZGNfZG1hYnVmX29wc19t YXAsCisJCQkJICAgICB2YjJfZGNfZG1hYnVmX29wc191bm1hcCksCiB9OwogCiBzdGF0aWMgc3Ry dWN0IHNnX3RhYmxlICp2YjJfZGNfZ2V0X2Jhc2Vfc2d0KHN0cnVjdCB2YjJfZGNfYnVmICpidWYp CmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL2NvbW1vbi92aWRlb2J1ZjIvdmlkZW9idWYyLWRt YS1zZy5jIGIvZHJpdmVycy9tZWRpYS9jb21tb24vdmlkZW9idWYyL3ZpZGVvYnVmMi1kbWEtc2cu YwppbmRleCBiM2JmMjE3M2MxNGUxYi4uMDNhODM2ZGNlNDRmOTAgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvbWVkaWEvY29tbW9uL3ZpZGVvYnVmMi92aWRlb2J1ZjItZG1hLXNnLmMKKysrIGIvZHJpdmVy cy9tZWRpYS9jb21tb24vdmlkZW9idWYyL3ZpZGVvYnVmMi1kbWEtc2cuYwpAQCAtMTAsNiArMTAs NyBAQAogICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KICAqLwogCisjaW5jbHVkZSA8 bGludXgvZG1hLWJ1Zi1tYXBwaW5nLmg+CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5j bHVkZSA8bGludXgvbW0uaD4KICNpbmNsdWRlIDxsaW51eC9yZWZjb3VudC5oPgpAQCAtNDE2LDcg KzQxNyw4IEBAIHN0YXRpYyB2b2lkIHZiMl9kbWFfc2dfZG1hYnVmX29wc19kZXRhY2goc3RydWN0 IGRtYV9idWYgKmRidWYsCiAKIAkvKiByZWxlYXNlIHRoZSBzY2F0dGVybGlzdCBjYWNoZSAqLwog CWlmIChhdHRhY2gtPmRtYV9kaXIgIT0gRE1BX05PTkUpCi0JCWRtYV91bm1hcF9zZ3RhYmxlKGRi X2F0dGFjaC0+ZGV2LCBzZ3QsIGF0dGFjaC0+ZG1hX2RpciwgMCk7CisJCWRtYV91bm1hcF9zZ3Rh YmxlKGRtYV9idWZfc2d0X2RtYV9kZXZpY2UoZGJfYXR0YWNoKSwgc2d0LAorCQkJCSAgYXR0YWNo LT5kbWFfZGlyLCAwKTsKIAlzZ19mcmVlX3RhYmxlKHNndCk7CiAJa2ZyZWUoYXR0YWNoKTsKIAlk Yl9hdHRhY2gtPnByaXYgPSBOVUxMOwpAQCAtNDM1LDEyICs0MzcsMTQgQEAgc3RhdGljIHN0cnVj dCBzZ190YWJsZSAqdmIyX2RtYV9zZ19kbWFidWZfb3BzX21hcCgKIAogCS8qIHJlbGVhc2UgYW55 IHByZXZpb3VzIGNhY2hlICovCiAJaWYgKGF0dGFjaC0+ZG1hX2RpciAhPSBETUFfTk9ORSkgewot CQlkbWFfdW5tYXBfc2d0YWJsZShkYl9hdHRhY2gtPmRldiwgc2d0LCBhdHRhY2gtPmRtYV9kaXIs IDApOworCQlkbWFfdW5tYXBfc2d0YWJsZShkbWFfYnVmX3NndF9kbWFfZGV2aWNlKGRiX2F0dGFj aCksIHNndCwKKwkJCQkgIGF0dGFjaC0+ZG1hX2RpciwgMCk7CiAJCWF0dGFjaC0+ZG1hX2RpciA9 IERNQV9OT05FOwogCX0KIAogCS8qIG1hcHBpbmcgdG8gdGhlIGNsaWVudCB3aXRoIG5ldyBkaXJl Y3Rpb24gKi8KLQlpZiAoZG1hX21hcF9zZ3RhYmxlKGRiX2F0dGFjaC0+ZGV2LCBzZ3QsIGRtYV9k aXIsIDApKSB7CisJaWYgKGRtYV9tYXBfc2d0YWJsZShkbWFfYnVmX3NndF9kbWFfZGV2aWNlKGRi X2F0dGFjaCksIHNndCwgZG1hX2RpciwKKwkJCSAgICAwKSkgewogCQlwcl9lcnIoImZhaWxlZCB0 byBtYXAgc2NhdHRlcmxpc3RcbiIpOwogCQlyZXR1cm4gRVJSX1BUUigtRUlPKTsKIAl9CkBAIC01 MDksMTMgKzUxMywxMyBAQCBzdGF0aWMgaW50IHZiMl9kbWFfc2dfZG1hYnVmX29wc19tbWFwKHN0 cnVjdCBkbWFfYnVmICpkYnVmLAogc3RhdGljIGNvbnN0IHN0cnVjdCBkbWFfYnVmX29wcyB2YjJf ZG1hX3NnX2RtYWJ1Zl9vcHMgPSB7CiAJLmF0dGFjaCA9IHZiMl9kbWFfc2dfZG1hYnVmX29wc19h dHRhY2gsCiAJLmRldGFjaCA9IHZiMl9kbWFfc2dfZG1hYnVmX29wc19kZXRhY2gsCi0JLm1hcF9k bWFfYnVmID0gdmIyX2RtYV9zZ19kbWFidWZfb3BzX21hcCwKLQkudW5tYXBfZG1hX2J1ZiA9IHZi Ml9kbWFfc2dfZG1hYnVmX29wc191bm1hcCwKIAkuYmVnaW5fY3B1X2FjY2VzcyA9IHZiMl9kbWFf c2dfZG1hYnVmX29wc19iZWdpbl9jcHVfYWNjZXNzLAogCS5lbmRfY3B1X2FjY2VzcyA9IHZiMl9k bWFfc2dfZG1hYnVmX29wc19lbmRfY3B1X2FjY2VzcywKIAkudm1hcCA9IHZiMl9kbWFfc2dfZG1h YnVmX29wc192bWFwLAogCS5tbWFwID0gdmIyX2RtYV9zZ19kbWFidWZfb3BzX21tYXAsCiAJLnJl bGVhc2UgPSB2YjJfZG1hX3NnX2RtYWJ1Zl9vcHNfcmVsZWFzZSwKKwlETUFfQlVGX1NJTVBMRV9T R1RfRVhQX01BVENIKHZiMl9kbWFfc2dfZG1hYnVmX29wc19tYXAsCisJCQkJICAgICB2YjJfZG1h X3NnX2RtYWJ1Zl9vcHNfdW5tYXApLAogfTsKIAogc3RhdGljIHN0cnVjdCBkbWFfYnVmICp2YjJf ZG1hX3NnX2dldF9kbWFidWYoc3RydWN0IHZiMl9idWZmZXIgKnZiLApkaWZmIC0tZ2l0IGEvZHJp dmVycy9tZWRpYS9jb21tb24vdmlkZW9idWYyL3ZpZGVvYnVmMi12bWFsbG9jLmMgYi9kcml2ZXJz L21lZGlhL2NvbW1vbi92aWRlb2J1ZjIvdmlkZW9idWYyLXZtYWxsb2MuYwppbmRleCAzZjc3NzA2 OGNkMzRiNy4uYjk4ZDA2N2FjZmZlNWQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbWVkaWEvY29tbW9u L3ZpZGVvYnVmMi92aWRlb2J1ZjItdm1hbGxvYy5jCisrKyBiL2RyaXZlcnMvbWVkaWEvY29tbW9u L3ZpZGVvYnVmMi92aWRlb2J1ZjItdm1hbGxvYy5jCkBAIC0xMCw2ICsxMCw3IEBACiAgKiB0aGUg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgogICovCiAKKyNpbmNsdWRlIDxsaW51eC9kbWEtYnVm LW1hcHBpbmcuaD4KICNpbmNsdWRlIDxsaW51eC9pby5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVs ZS5oPgogI2luY2x1ZGUgPGxpbnV4L21tLmg+CkBAIC0yNjEsNyArMjYyLDggQEAgc3RhdGljIHZv aWQgdmIyX3ZtYWxsb2NfZG1hYnVmX29wc19kZXRhY2goc3RydWN0IGRtYV9idWYgKmRidWYsCiAK IAkvKiByZWxlYXNlIHRoZSBzY2F0dGVybGlzdCBjYWNoZSAqLwogCWlmIChhdHRhY2gtPmRtYV9k aXIgIT0gRE1BX05PTkUpCi0JCWRtYV91bm1hcF9zZ3RhYmxlKGRiX2F0dGFjaC0+ZGV2LCBzZ3Qs IGF0dGFjaC0+ZG1hX2RpciwgMCk7CisJCWRtYV91bm1hcF9zZ3RhYmxlKGRtYV9idWZfc2d0X2Rt YV9kZXZpY2UoZGJfYXR0YWNoKSwgc2d0LAorCQkJCSAgYXR0YWNoLT5kbWFfZGlyLCAwKTsKIAlz Z19mcmVlX3RhYmxlKHNndCk7CiAJa2ZyZWUoYXR0YWNoKTsKIAlkYl9hdHRhY2gtPnByaXYgPSBO VUxMOwpAQCAtMjcwLDYgKzI3Miw3IEBAIHN0YXRpYyB2b2lkIHZiMl92bWFsbG9jX2RtYWJ1Zl9v cHNfZGV0YWNoKHN0cnVjdCBkbWFfYnVmICpkYnVmLAogc3RhdGljIHN0cnVjdCBzZ190YWJsZSAq dmIyX3ZtYWxsb2NfZG1hYnVmX29wc19tYXAoCiAJc3RydWN0IGRtYV9idWZfYXR0YWNobWVudCAq ZGJfYXR0YWNoLCBlbnVtIGRtYV9kYXRhX2RpcmVjdGlvbiBkbWFfZGlyKQogeworCXN0cnVjdCBk ZXZpY2UgKmRtYV9kZXYgPSBkbWFfYnVmX3NndF9kbWFfZGV2aWNlKGRiX2F0dGFjaCk7CiAJc3Ry dWN0IHZiMl92bWFsbG9jX2F0dGFjaG1lbnQgKmF0dGFjaCA9IGRiX2F0dGFjaC0+cHJpdjsKIAlz dHJ1Y3Qgc2dfdGFibGUgKnNndDsKIApAQCAtMjgwLDEyICsyODMsMTIgQEAgc3RhdGljIHN0cnVj dCBzZ190YWJsZSAqdmIyX3ZtYWxsb2NfZG1hYnVmX29wc19tYXAoCiAKIAkvKiByZWxlYXNlIGFu eSBwcmV2aW91cyBjYWNoZSAqLwogCWlmIChhdHRhY2gtPmRtYV9kaXIgIT0gRE1BX05PTkUpIHsK LQkJZG1hX3VubWFwX3NndGFibGUoZGJfYXR0YWNoLT5kZXYsIHNndCwgYXR0YWNoLT5kbWFfZGly LCAwKTsKKwkJZG1hX3VubWFwX3NndGFibGUoZG1hX2Rldiwgc2d0LCBhdHRhY2gtPmRtYV9kaXIs IDApOwogCQlhdHRhY2gtPmRtYV9kaXIgPSBETUFfTk9ORTsKIAl9CiAKIAkvKiBtYXBwaW5nIHRv IHRoZSBjbGllbnQgd2l0aCBuZXcgZGlyZWN0aW9uICovCi0JaWYgKGRtYV9tYXBfc2d0YWJsZShk Yl9hdHRhY2gtPmRldiwgc2d0LCBkbWFfZGlyLCAwKSkgeworCWlmIChkbWFfbWFwX3NndGFibGUo ZG1hX2Rldiwgc2d0LCBkbWFfZGlyLCAwKSkgewogCQlwcl9lcnIoImZhaWxlZCB0byBtYXAgc2Nh dHRlcmxpc3RcbiIpOwogCQlyZXR1cm4gRVJSX1BUUigtRUlPKTsKIAl9CkBAIC0zMjYsMTEgKzMy OSwxMSBAQCBzdGF0aWMgaW50IHZiMl92bWFsbG9jX2RtYWJ1Zl9vcHNfbW1hcChzdHJ1Y3QgZG1h X2J1ZiAqZGJ1ZiwKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZG1hX2J1Zl9vcHMgdmIyX3ZtYWxsb2Nf ZG1hYnVmX29wcyA9IHsKIAkuYXR0YWNoID0gdmIyX3ZtYWxsb2NfZG1hYnVmX29wc19hdHRhY2gs CiAJLmRldGFjaCA9IHZiMl92bWFsbG9jX2RtYWJ1Zl9vcHNfZGV0YWNoLAotCS5tYXBfZG1hX2J1 ZiA9IHZiMl92bWFsbG9jX2RtYWJ1Zl9vcHNfbWFwLAotCS51bm1hcF9kbWFfYnVmID0gdmIyX3Zt YWxsb2NfZG1hYnVmX29wc191bm1hcCwKIAkudm1hcCA9IHZiMl92bWFsbG9jX2RtYWJ1Zl9vcHNf dm1hcCwKIAkubW1hcCA9IHZiMl92bWFsbG9jX2RtYWJ1Zl9vcHNfbW1hcCwKIAkucmVsZWFzZSA9 IHZiMl92bWFsbG9jX2RtYWJ1Zl9vcHNfcmVsZWFzZSwKKwlETUFfQlVGX1NJTVBMRV9TR1RfRVhQ X01BVENIKHZiMl92bWFsbG9jX2RtYWJ1Zl9vcHNfbWFwLAorCQkJCSAgICAgdmIyX3ZtYWxsb2Nf ZG1hYnVmX29wc191bm1hcCksCiB9OwogCiBzdGF0aWMgc3RydWN0IGRtYV9idWYgKnZiMl92bWFs bG9jX2dldF9kbWFidWYoc3RydWN0IHZiMl9idWZmZXIgKnZiLApkaWZmIC0tZ2l0IGEvZHJpdmVy cy9taXNjL2Zhc3RycGMuYyBiL2RyaXZlcnMvbWlzYy9mYXN0cnBjLmMKaW5kZXggZWU2NTJlZjAx NTM0YTguLjJlYTU3MTcwZTU2YjNlIDEwMDY0NAotLS0gYS9kcml2ZXJzL21pc2MvZmFzdHJwYy5j CisrKyBiL2RyaXZlcnMvbWlzYy9mYXN0cnBjLmMKQEAgLTUsNiArNSw3IEBACiAjaW5jbHVkZSA8 bGludXgvY29tcGxldGlvbi5oPgogI2luY2x1ZGUgPGxpbnV4L2RldmljZS5oPgogI2luY2x1ZGUg PGxpbnV4L2RtYS1idWYuaD4KKyNpbmNsdWRlIDxsaW51eC9kbWEtYnVmLW1hcHBpbmcuaD4KICNp bmNsdWRlIDxsaW51eC9kbWEtbWFwcGluZy5oPgogI2luY2x1ZGUgPGxpbnV4L2RtYS1yZXN2Lmg+ CiAjaW5jbHVkZSA8bGludXgvaWRyLmg+CkBAIC02NTIsNyArNjUzLDggQEAgZmFzdHJwY19tYXBf ZG1hX2J1ZihzdHJ1Y3QgZG1hX2J1Zl9hdHRhY2htZW50ICphdHRhY2htZW50LAogCiAJdGFibGUg PSAmYS0+c2d0OwogCi0JcmV0ID0gZG1hX21hcF9zZ3RhYmxlKGF0dGFjaG1lbnQtPmRldiwgdGFi bGUsIGRpciwgMCk7CisJcmV0ID0gZG1hX21hcF9zZ3RhYmxlKGRtYV9idWZfc2d0X2RtYV9kZXZp Y2UoYXR0YWNobWVudCksIHRhYmxlLCBkaXIsCisJCQkgICAgICAwKTsKIAlpZiAocmV0KQogCQl0 YWJsZSA9IEVSUl9QVFIocmV0KTsKIAlyZXR1cm4gdGFibGU7CkBAIC02NjIsNyArNjY0LDcgQEAg c3RhdGljIHZvaWQgZmFzdHJwY191bm1hcF9kbWFfYnVmKHN0cnVjdCBkbWFfYnVmX2F0dGFjaG1l bnQgKmF0dGFjaCwKIAkJCQkgIHN0cnVjdCBzZ190YWJsZSAqdGFibGUsCiAJCQkJICBlbnVtIGRt YV9kYXRhX2RpcmVjdGlvbiBkaXIpCiB7Ci0JZG1hX3VubWFwX3NndGFibGUoYXR0YWNoLT5kZXYs IHRhYmxlLCBkaXIsIDApOworCWRtYV91bm1hcF9zZ3RhYmxlKGRtYV9idWZfc2d0X2RtYV9kZXZp Y2UoYXR0YWNoKSwgdGFibGUsIGRpciwgMCk7CiB9CiAKIHN0YXRpYyB2b2lkIGZhc3RycGNfcmVs ZWFzZShzdHJ1Y3QgZG1hX2J1ZiAqZG1hYnVmKQpAQCAtNjkxLDcgKzY5Myw3IEBAIHN0YXRpYyBp bnQgZmFzdHJwY19kbWFfYnVmX2F0dGFjaChzdHJ1Y3QgZG1hX2J1ZiAqZG1hYnVmLAogCQlyZXR1 cm4gLUVJTlZBTDsKIAl9CiAKLQlhLT5kZXYgPSBhdHRhY2htZW50LT5kZXY7CisJYS0+ZGV2ID0g ZG1hX2J1Zl9zZ3RfZG1hX2RldmljZShhdHRhY2htZW50KTsKIAlJTklUX0xJU1RfSEVBRCgmYS0+ bm9kZSk7CiAJYXR0YWNobWVudC0+cHJpdiA9IGE7CiAKQEAgLTczOSwxMSArNzQxLDExIEBAIHN0 YXRpYyBpbnQgZmFzdHJwY19tbWFwKHN0cnVjdCBkbWFfYnVmICpkbWFidWYsCiBzdGF0aWMgY29u c3Qgc3RydWN0IGRtYV9idWZfb3BzIGZhc3RycGNfZG1hX2J1Zl9vcHMgPSB7CiAJLmF0dGFjaCA9 IGZhc3RycGNfZG1hX2J1Zl9hdHRhY2gsCiAJLmRldGFjaCA9IGZhc3RycGNfZG1hX2J1Zl9kZXRh dGNoLAotCS5tYXBfZG1hX2J1ZiA9IGZhc3RycGNfbWFwX2RtYV9idWYsCi0JLnVubWFwX2RtYV9i dWYgPSBmYXN0cnBjX3VubWFwX2RtYV9idWYsCiAJLm1tYXAgPSBmYXN0cnBjX21tYXAsCiAJLnZt YXAgPSBmYXN0cnBjX3ZtYXAsCiAJLnJlbGVhc2UgPSBmYXN0cnBjX3JlbGVhc2UsCisJRE1BX0JV Rl9TSU1QTEVfU0dUX0VYUF9NQVRDSChmYXN0cnBjX21hcF9kbWFfYnVmLAorCQkJCSAgICAgZmFz dHJwY191bm1hcF9kbWFfYnVmKSwKIH07CiAKIHN0YXRpYyBpbnQgZmFzdHJwY19tYXBfYXR0YWNo KHN0cnVjdCBmYXN0cnBjX3VzZXIgKmZsLCBpbnQgZmQsCmRpZmYgLS1naXQgYS9kcml2ZXJzL3Rl ZS90ZWVfaGVhcC5jIGIvZHJpdmVycy90ZWUvdGVlX2hlYXAuYwppbmRleCBkOGQ3NzM1Y2RmZmI5 Yi4uNDg5NDhkMzliOTQ5NjEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdGVlL3RlZV9oZWFwLmMKKysr IGIvZHJpdmVycy90ZWUvdGVlX2hlYXAuYwpAQCAtNCw2ICs0LDcgQEAKICAqLwogCiAjaW5jbHVk ZSA8bGludXgvZG1hLWJ1Zi5oPgorI2luY2x1ZGUgPGxpbnV4L2RtYS1idWYtbWFwcGluZy5oPgog I2luY2x1ZGUgPGxpbnV4L2RtYS1oZWFwLmg+CiAjaW5jbHVkZSA8bGludXgvZ2VuYWxsb2MuaD4K ICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KQEAgLTEwNCw3ICsxMDUsNyBAQCBzdGF0aWMgaW50 IHRlZV9oZWFwX2F0dGFjaChzdHJ1Y3QgZG1hX2J1ZiAqZG1hYnVmLAogCQlyZXR1cm4gcmV0Owog CX0KIAotCWEtPmRldiA9IGF0dGFjaG1lbnQtPmRldjsKKwlhLT5kZXYgPSBkbWFfYnVmX3NndF9k bWFfZGV2aWNlKGF0dGFjaG1lbnQpOwogCWF0dGFjaG1lbnQtPnByaXYgPSBhOwogCiAJcmV0dXJu IDA7CkBAIC0xMjYsOCArMTI3LDggQEAgdGVlX2hlYXBfbWFwX2RtYV9idWYoc3RydWN0IGRtYV9i dWZfYXR0YWNobWVudCAqYXR0YWNobWVudCwKIAlzdHJ1Y3QgdGVlX2hlYXBfYXR0YWNobWVudCAq YSA9IGF0dGFjaG1lbnQtPnByaXY7CiAJaW50IHJldDsKIAotCXJldCA9IGRtYV9tYXBfc2d0YWJs ZShhdHRhY2htZW50LT5kZXYsICZhLT50YWJsZSwgZGlyZWN0aW9uLAotCQkJICAgICAgRE1BX0FU VFJfU0tJUF9DUFVfU1lOQyk7CisJcmV0ID0gZG1hX21hcF9zZ3RhYmxlKGRtYV9idWZfc2d0X2Rt YV9kZXZpY2UoYXR0YWNobWVudCksICZhLT50YWJsZSwKKwkJCSAgICAgIGRpcmVjdGlvbiwgRE1B X0FUVFJfU0tJUF9DUFVfU1lOQyk7CiAJaWYgKHJldCkKIAkJcmV0dXJuIEVSUl9QVFIocmV0KTsK IApAQCAtMTQyLDcgKzE0Myw3IEBAIHN0YXRpYyB2b2lkIHRlZV9oZWFwX3VubWFwX2RtYV9idWYo c3RydWN0IGRtYV9idWZfYXR0YWNobWVudCAqYXR0YWNobWVudCwKIAogCVdBUk5fT04oJmEtPnRh YmxlICE9IHRhYmxlKTsKIAotCWRtYV91bm1hcF9zZ3RhYmxlKGF0dGFjaG1lbnQtPmRldiwgdGFi bGUsIGRpcmVjdGlvbiwKKwlkbWFfdW5tYXBfc2d0YWJsZShkbWFfYnVmX3NndF9kbWFfZGV2aWNl KGF0dGFjaG1lbnQpLCB0YWJsZSwgZGlyZWN0aW9uLAogCQkJICBETUFfQVRUUl9TS0lQX0NQVV9T WU5DKTsKIH0KIApAQCAtMTYwLDkgKzE2MSw5IEBAIHN0YXRpYyB2b2lkIHRlZV9oZWFwX2J1Zl9m cmVlKHN0cnVjdCBkbWFfYnVmICpkbWFidWYpCiBzdGF0aWMgY29uc3Qgc3RydWN0IGRtYV9idWZf b3BzIHRlZV9oZWFwX2J1Zl9vcHMgPSB7CiAJLmF0dGFjaCA9IHRlZV9oZWFwX2F0dGFjaCwKIAku ZGV0YWNoID0gdGVlX2hlYXBfZGV0YWNoLAotCS5tYXBfZG1hX2J1ZiA9IHRlZV9oZWFwX21hcF9k bWFfYnVmLAotCS51bm1hcF9kbWFfYnVmID0gdGVlX2hlYXBfdW5tYXBfZG1hX2J1ZiwKIAkucmVs ZWFzZSA9IHRlZV9oZWFwX2J1Zl9mcmVlLAorCURNQV9CVUZfU0lNUExFX1NHVF9FWFBfTUFUQ0go dGVlX2hlYXBfbWFwX2RtYV9idWYsCisJCQkJICAgICB0ZWVfaGVhcF91bm1hcF9kbWFfYnVmKSwK IH07CiAKIHN0YXRpYyBzdHJ1Y3QgZG1hX2J1ZiAqdGVlX2RtYV9oZWFwX2FsbG9jKHN0cnVjdCBk bWFfaGVhcCAqaGVhcCwKZGlmZiAtLWdpdCBhL2RyaXZlcnMveGVuL2dudGRldi1kbWFidWYuYyBi L2RyaXZlcnMveGVuL2dudGRldi1kbWFidWYuYwppbmRleCA1NTA5ODBkZDNiMGJjNC4uOTFhMzFh MjJiYTk4YWEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMveGVuL2dudGRldi1kbWFidWYuYworKysgYi9k cml2ZXJzL3hlbi9nbnRkZXYtZG1hYnVmLmMKQEAgLTExLDYgKzExLDcgQEAKICNpbmNsdWRlIDxs aW51eC9rZXJuZWwuaD4KICNpbmNsdWRlIDxsaW51eC9lcnJuby5oPgogI2luY2x1ZGUgPGxpbnV4 L2RtYS1idWYuaD4KKyNpbmNsdWRlIDxsaW51eC9kbWEtYnVmLW1hcHBpbmcuaD4KICNpbmNsdWRl IDxsaW51eC9kbWEtZGlyZWN0Lmg+CiAjaW5jbHVkZSA8bGludXgvc2xhYi5oPgogI2luY2x1ZGUg PGxpbnV4L3R5cGVzLmg+CkBAIC0yNDIsOSArMjQzLDEwIEBAIHN0YXRpYyB2b2lkIGRtYWJ1Zl9l eHBfb3BzX2RldGFjaChzdHJ1Y3QgZG1hX2J1ZiAqZG1hX2J1ZiwKIAogCQlpZiAoc2d0KSB7CiAJ CQlpZiAoZ250ZGV2X2RtYWJ1Zl9hdHRhY2gtPmRpciAhPSBETUFfTk9ORSkKLQkJCQlkbWFfdW5t YXBfc2d0YWJsZShhdHRhY2gtPmRldiwgc2d0LAotCQkJCQkJICBnbnRkZXZfZG1hYnVmX2F0dGFj aC0+ZGlyLAotCQkJCQkJICBETUFfQVRUUl9TS0lQX0NQVV9TWU5DKTsKKwkJCQlkbWFfdW5tYXBf c2d0YWJsZSgKKwkJCQkJZG1hX2J1Zl9zZ3RfZG1hX2RldmljZShhdHRhY2gpLCBzZ3QsCisJCQkJ CWdudGRldl9kbWFidWZfYXR0YWNoLT5kaXIsCisJCQkJCURNQV9BVFRSX1NLSVBfQ1BVX1NZTkMp OwogCQkJc2dfZnJlZV90YWJsZShzZ3QpOwogCQl9CiAKQEAgLTI1OCwxMiArMjYwLDEzIEBAIHN0 YXRpYyBzdHJ1Y3Qgc2dfdGFibGUgKgogZG1hYnVmX2V4cF9vcHNfbWFwX2RtYV9idWYoc3RydWN0 IGRtYV9idWZfYXR0YWNobWVudCAqYXR0YWNoLAogCQkJICAgZW51bSBkbWFfZGF0YV9kaXJlY3Rp b24gZGlyKQogeworCXN0cnVjdCBkZXZpY2UgKmRtYV9kZXYgPSBkbWFfYnVmX3NndF9kbWFfZGV2 aWNlKGF0dGFjaCk7CiAJc3RydWN0IGdudGRldl9kbWFidWZfYXR0YWNobWVudCAqZ250ZGV2X2Rt YWJ1Zl9hdHRhY2ggPSBhdHRhY2gtPnByaXY7CiAJc3RydWN0IGdudGRldl9kbWFidWYgKmdudGRl dl9kbWFidWYgPSBhdHRhY2gtPmRtYWJ1Zi0+cHJpdjsKIAlzdHJ1Y3Qgc2dfdGFibGUgKnNndDsK IAogCXByX2RlYnVnKCJNYXBwaW5nICVkIHBhZ2VzIGZvciBkZXYgJXBcbiIsIGdudGRldl9kbWFi dWYtPm5yX3BhZ2VzLAotCQkgYXR0YWNoLT5kZXYpOworCQkgZG1hX2Rldik7CiAKIAlpZiAoZGly ID09IERNQV9OT05FIHx8ICFnbnRkZXZfZG1hYnVmX2F0dGFjaCkKIAkJcmV0dXJuIEVSUl9QVFIo LUVJTlZBTCk7CkBAIC0yODIsNyArMjg1LDcgQEAgZG1hYnVmX2V4cF9vcHNfbWFwX2RtYV9idWYo c3RydWN0IGRtYV9idWZfYXR0YWNobWVudCAqYXR0YWNoLAogCXNndCA9IGRtYWJ1Zl9wYWdlc190 b19zZ3QoZ250ZGV2X2RtYWJ1Zi0+cGFnZXMsCiAJCQkJICBnbnRkZXZfZG1hYnVmLT5ucl9wYWdl cyk7CiAJaWYgKCFJU19FUlIoc2d0KSkgewotCQlpZiAoZG1hX21hcF9zZ3RhYmxlKGF0dGFjaC0+ ZGV2LCBzZ3QsIGRpciwKKwkJaWYgKGRtYV9tYXBfc2d0YWJsZShkbWFfZGV2LCBzZ3QsIGRpciwK IAkJCQkgICAgRE1BX0FUVFJfU0tJUF9DUFVfU1lOQykpIHsKIAkJCXNnX2ZyZWVfdGFibGUoc2d0 KTsKIAkJCWtmcmVlKHNndCk7CkBAIC0yOTMsNyArMjk2LDcgQEAgZG1hYnVmX2V4cF9vcHNfbWFw X2RtYV9idWYoc3RydWN0IGRtYV9idWZfYXR0YWNobWVudCAqYXR0YWNoLAogCQl9CiAJfQogCWlm IChJU19FUlIoc2d0KSkKLQkJcHJfZGVidWcoIkZhaWxlZCB0byBtYXAgc2cgdGFibGUgZm9yIGRl diAlcFxuIiwgYXR0YWNoLT5kZXYpOworCQlwcl9kZWJ1ZygiRmFpbGVkIHRvIG1hcCBzZyB0YWJs ZSBmb3IgZGV2ICVwXG4iLCBkbWFfZGV2KTsKIAlyZXR1cm4gc2d0OwogfQogCkBAIC0zMzksOSAr MzQyLDkgQEAgc3RhdGljIHZvaWQgZG1hYnVmX2V4cF9vcHNfcmVsZWFzZShzdHJ1Y3QgZG1hX2J1 ZiAqZG1hX2J1ZikKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZG1hX2J1Zl9vcHMgZG1hYnVmX2V4cF9v cHMgPSAgewogCS5hdHRhY2ggPSBkbWFidWZfZXhwX29wc19hdHRhY2gsCiAJLmRldGFjaCA9IGRt YWJ1Zl9leHBfb3BzX2RldGFjaCwKLQkubWFwX2RtYV9idWYgPSBkbWFidWZfZXhwX29wc19tYXBf ZG1hX2J1ZiwKLQkudW5tYXBfZG1hX2J1ZiA9IGRtYWJ1Zl9leHBfb3BzX3VubWFwX2RtYV9idWYs CiAJLnJlbGVhc2UgPSBkbWFidWZfZXhwX29wc19yZWxlYXNlLAorCURNQV9CVUZfU0lNUExFX1NH VF9FWFBfTUFUQ0goZG1hYnVmX2V4cF9vcHNfbWFwX2RtYV9idWYsCisJCQkJICAgICBkbWFidWZf ZXhwX29wc191bm1hcF9kbWFfYnVmKSwKIH07CiAKIHN0cnVjdCBnbnRkZXZfZG1hYnVmX2V4cG9y dF9hcmdzIHsKZGlmZiAtLWdpdCBhL3NhbXBsZXMvdmZpby1tZGV2L21ib2Nocy5jIGIvc2FtcGxl cy92ZmlvLW1kZXYvbWJvY2hzLmMKaW5kZXggNjRlYTE5MjUzZWUzYWQuLmMyZWFhMTRiOWRkZDY0 IDEwMDY0NAotLS0gYS9zYW1wbGVzL3ZmaW8tbWRldi9tYm9jaHMuYworKysgYi9zYW1wbGVzL3Zm aW8tbWRldi9tYm9jaHMuYwpAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3BjaS5o PgogI2luY2x1ZGUgPGxpbnV4L2RtYS1idWYuaD4KICNpbmNsdWRlIDxsaW51eC9oaWdobWVtLmg+ CisjaW5jbHVkZSA8bGludXgvZG1hLWJ1Zi1tYXBwaW5nLmg+CiAjaW5jbHVkZSA8ZHJtL2RybV9m b3VyY2MuaD4KICNpbmNsdWRlIDxkcm0vZHJtX3JlY3QuaD4KICNpbmNsdWRlIDxkcm0vZHJtX21v ZGVzZXRfbG9jay5oPgpAQCAtODcyLDcgKzg3Myw3IEBAIHN0YXRpYyBzdHJ1Y3Qgc2dfdGFibGUg Km1ib2Noc19tYXBfZG1hYnVmKHN0cnVjdCBkbWFfYnVmX2F0dGFjaG1lbnQgKmF0LAogCWlmIChz Z19hbGxvY190YWJsZV9mcm9tX3BhZ2VzKHNnLCBkbWFidWYtPnBhZ2VzLCBkbWFidWYtPnBhZ2Vj b3VudCwKIAkJCQkgICAgICAwLCBkbWFidWYtPm1vZGUuc2l6ZSwgR0ZQX0tFUk5FTCkgPCAwKQog CQlnb3RvIGVycjI7Ci0JaWYgKGRtYV9tYXBfc2d0YWJsZShhdC0+ZGV2LCBzZywgZGlyZWN0aW9u LCAwKSkKKwlpZiAoZG1hX21hcF9zZ3RhYmxlKGRtYV9idWZfc2d0X2RtYV9kZXZpY2UoYXQpLCBz ZywgZGlyZWN0aW9uLCAwKSkKIAkJZ290byBlcnIzOwogCiAJcmV0dXJuIHNnOwpAQCAtODk0LDcg Kzg5NSw3IEBAIHN0YXRpYyB2b2lkIG1ib2Noc191bm1hcF9kbWFidWYoc3RydWN0IGRtYV9idWZf YXR0YWNobWVudCAqYXQsCiAKIAlkZXZfZGJnKGRldiwgIiVzOiAlZFxuIiwgX19mdW5jX18sIGRt YWJ1Zi0+aWQpOwogCi0JZG1hX3VubWFwX3NndGFibGUoYXQtPmRldiwgc2csIGRpcmVjdGlvbiwg MCk7CisJZG1hX3VubWFwX3NndGFibGUoZG1hX2J1Zl9zZ3RfZG1hX2RldmljZShhdCksIHNnLCBk aXJlY3Rpb24sIDApOwogCXNnX2ZyZWVfdGFibGUoc2cpOwogCWtmcmVlKHNnKTsKIH0KQEAgLTkx OCwxMSArOTE5LDEwIEBAIHN0YXRpYyB2b2lkIG1ib2Noc19yZWxlYXNlX2RtYWJ1ZihzdHJ1Y3Qg ZG1hX2J1ZiAqYnVmKQogCW11dGV4X3VubG9jaygmbWRldl9zdGF0ZS0+b3BzX2xvY2spOwogfQog Ci1zdGF0aWMgc3RydWN0IGRtYV9idWZfb3BzIG1ib2Noc19kbWFidWZfb3BzID0gewotCS5tYXBf ZG1hX2J1ZgkgID0gbWJvY2hzX21hcF9kbWFidWYsCi0JLnVubWFwX2RtYV9idWYJICA9IG1ib2No c191bm1hcF9kbWFidWYsCitzdGF0aWMgY29uc3Qgc3RydWN0IGRtYV9idWZfb3BzIG1ib2Noc19k bWFidWZfb3BzID0gewogCS5yZWxlYXNlCSAgPSBtYm9jaHNfcmVsZWFzZV9kbWFidWYsCiAJLm1t YXAJCSAgPSBtYm9jaHNfbW1hcF9kbWFidWYsCisJRE1BX0JVRl9TSU1QTEVfU0dUX0VYUF9NQVRD SChtYm9jaHNfbWFwX2RtYWJ1ZiwgbWJvY2hzX3VubWFwX2RtYWJ1ZiksCiB9OwogCiBzdGF0aWMg c3RydWN0IG1ib2Noc19kbWFidWYgKm1ib2Noc19kbWFidWZfYWxsb2Moc3RydWN0IG1kZXZfc3Rh dGUgKm1kZXZfc3RhdGUsCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvZnNsL2ZzbF9hc3JjX20ybS5j IGIvc291bmQvc29jL2ZzbC9mc2xfYXNyY19tMm0uYwppbmRleCBmNDY4ODFmNzFlNDMwNy4uZmVm NmE1N2ZjNzM1NGEgMTAwNjQ0Ci0tLSBhL3NvdW5kL3NvYy9mc2wvZnNsX2FzcmNfbTJtLmMKKysr IGIvc291bmQvc29jL2ZzbC9mc2xfYXNyY19tMm0uYwpAQCAtNyw2ICs3LDcgQEAKIAogI2luY2x1 ZGUgPGxpbnV4L2RtYS9pbXgtZG1hLmg+CiAjaW5jbHVkZSA8bGludXgvZG1hLWJ1Zi5oPgorI2lu Y2x1ZGUgPGxpbnV4L2RtYS1idWYtbWFwcGluZy5oPgogI2luY2x1ZGUgPGxpbnV4L2RtYS1tYXBw aW5nLmg+CiAjaW5jbHVkZSA8bGludXgvcG1fcnVudGltZS5oPgogI2luY2x1ZGUgPHNvdW5kL2Fz b3VuZC5oPgpAQCAtNDExLDYgKzQxMiw3IEBAIHN0YXRpYyBpbnQgZnNsX2FzcmNfbTJtX21tYXAo c3RydWN0IGRtYV9idWYgKmRtYWJ1Ziwgc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEpCiBzdGF0 aWMgc3RydWN0IHNnX3RhYmxlICpmc2xfYXNyY19tMm1fbWFwX2RtYV9idWYoc3RydWN0IGRtYV9i dWZfYXR0YWNobWVudCAqYXR0YWNobWVudCwKIAkJCQkJCSBlbnVtIGRtYV9kYXRhX2RpcmVjdGlv biBkaXJlY3Rpb24pCiB7CisJc3RydWN0IGRldmljZSAqZG1hX2RldiA9IGRtYV9idWZfc2d0X2Rt YV9kZXZpY2UoYXR0YWNobWVudCk7CiAJc3RydWN0IHNuZF9kbWFfYnVmZmVyICpkbWFiID0gYXR0 YWNobWVudC0+ZG1hYnVmLT5wcml2OwogCXN0cnVjdCBzZ190YWJsZSAqc2d0OwogCkBAIC00MTgs MTAgKzQyMCwxMCBAQCBzdGF0aWMgc3RydWN0IHNnX3RhYmxlICpmc2xfYXNyY19tMm1fbWFwX2Rt YV9idWYoc3RydWN0IGRtYV9idWZfYXR0YWNobWVudCAqYXR0YQogCWlmICghc2d0KQogCQlyZXR1 cm4gTlVMTDsKIAotCWlmIChkbWFfZ2V0X3NndGFibGUoYXR0YWNobWVudC0+ZGV2LCBzZ3QsIGRt YWItPmFyZWEsIGRtYWItPmFkZHIsIGRtYWItPmJ5dGVzKSA8IDApCisJaWYgKGRtYV9nZXRfc2d0 YWJsZShkbWFfZGV2LCBzZ3QsIGRtYWItPmFyZWEsIGRtYWItPmFkZHIsIGRtYWItPmJ5dGVzKSA8 IDApCiAJCWdvdG8gZnJlZTsKIAotCWlmIChkbWFfbWFwX3NndGFibGUoYXR0YWNobWVudC0+ZGV2 LCBzZ3QsIGRpcmVjdGlvbiwgMCkpCisJaWYgKGRtYV9tYXBfc2d0YWJsZShkbWFfZGV2LCBzZ3Qs IGRpcmVjdGlvbiwgMCkpCiAJCWdvdG8gZnJlZTsKIAogCXJldHVybiBzZ3Q7CkBAIC00MzYsNyAr NDM4LDcgQEAgc3RhdGljIHZvaWQgZnNsX2FzcmNfbTJtX3VubWFwX2RtYV9idWYoc3RydWN0IGRt YV9idWZfYXR0YWNobWVudCAqYXR0YWNobWVudCwKIAkJCQkgICAgICAgc3RydWN0IHNnX3RhYmxl ICp0YWJsZSwKIAkJCQkgICAgICAgZW51bSBkbWFfZGF0YV9kaXJlY3Rpb24gZGlyZWN0aW9uKQog ewotCWRtYV91bm1hcF9zZ3RhYmxlKGF0dGFjaG1lbnQtPmRldiwgdGFibGUsIGRpcmVjdGlvbiwg MCk7CisJZG1hX3VubWFwX3NndGFibGUoZG1hX2J1Zl9zZ3RfZG1hX2RldmljZShhdHRhY2htZW50 KSwgdGFibGUsIGRpcmVjdGlvbiwgMCk7CiB9CiAKIHN0YXRpYyB2b2lkIGZzbF9hc3JjX20ybV9y ZWxlYXNlKHN0cnVjdCBkbWFfYnVmICpkbWFidWYpCkBAIC00NDYsOSArNDQ4LDkgQEAgc3RhdGlj IHZvaWQgZnNsX2FzcmNfbTJtX3JlbGVhc2Uoc3RydWN0IGRtYV9idWYgKmRtYWJ1ZikKIAogc3Rh dGljIGNvbnN0IHN0cnVjdCBkbWFfYnVmX29wcyBmc2xfYXNyY19tMm1fZG1hX2J1Zl9vcHMgPSB7 CiAJLm1tYXAgPSBmc2xfYXNyY19tMm1fbW1hcCwKLQkubWFwX2RtYV9idWYgPSBmc2xfYXNyY19t Mm1fbWFwX2RtYV9idWYsCi0JLnVubWFwX2RtYV9idWYgPSBmc2xfYXNyY19tMm1fdW5tYXBfZG1h X2J1ZiwKIAkucmVsZWFzZSA9IGZzbF9hc3JjX20ybV9yZWxlYXNlLAorCURNQV9CVUZfU0lNUExF X1NHVF9FWFBfTUFUQ0goZnNsX2FzcmNfbTJtX21hcF9kbWFfYnVmLAorCQkJCSAgICAgZnNsX2Fz cmNfbTJtX3VubWFwX2RtYV9idWYpLAogfTsKIAogc3RhdGljIGludCBmc2xfYXNyY19tMm1fY29t cF90YXNrX2NyZWF0ZShzdHJ1Y3Qgc25kX2NvbXByX3N0cmVhbSAqc3RyZWFtLAotLSAKMi40My4w Cgo=