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 A3570CD3427 for ; Sat, 2 May 2026 01:15:07 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id F41E610E281; Sat, 2 May 2026 01:15:06 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=Nvidia.com header.i=@Nvidia.com header.b="OiIFylJb"; dkim-atps=neutral Received: from BL2PR02CU003.outbound.protection.outlook.com (mail-eastusazon11011067.outbound.protection.outlook.com [52.101.52.67]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9FEFF10E281 for ; Sat, 2 May 2026 01:15:05 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=fdjw4+6AjKtCp65F10ASBtSPeV2NDo/OtP9aPDdm7PfNw39JQOAtViFLINLRKEKLZ/rOaJBPr+9vkHdGIAsK0IOo2hO5JLCfVuQHNvW23tEHhzH1t7KyPeQd2/Kb/3Lrt9cMrfaayW3MCIHKj3ohPMW4VZciQcWaockc23hCYfbw4nk3doTn3yH6a1MQeB8cKLrtrz1NssVXu1QaTTnkf6gP8eKA64Mgq6xv5ON2o7IFWBedScXevgi/xayA5eI6Bu8SiwJlaLc5z26g/BnvwfwsLZXNfFKmFDI9dEgJv6QpWAVL3zlPwMvFDPedaY2a5q5c6UwSlmfTWd5zxoYZFg== 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=K3dy2F9KnrrZgt4gqXd43VcGQMc/ozOn7KR344/KtHo=; b=iVXz3D0IwRQu8soKF0/08xmKGYEyXvc6++eU9cRSAcYm90PCqFj/ecbTm0TFL21/BYE1yM2kb1fTi6Bshp5+Ppg5ULJsvhbGDW5HZXC1BxHE7tETbun7CEk/FMwXncL2DCIiXxqeibsk1OhKI06PvDjib1cimnnotE0J/dZorvrsr+UTD9RYSraQ+pCfE4LwueKCshSQWt/j09LfyBokxjX7GJyMg2ApjzsQ+fUFuOfai0sLvbvktfvnWX9x4a73QW3dcDON0KD9ajsJGDOttKrF02rMq+ScsWK+mew3PIZH9UweaJ6eWNy2wsU6I6w2AoPLkfCSWEOpM1vd7XG20Q== 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=K3dy2F9KnrrZgt4gqXd43VcGQMc/ozOn7KR344/KtHo=; b=OiIFylJbDuACrEAeSEcq3kSS4PDAhpEY/jy8XQ9Uo0CBpMRvjnOwbn8lcppOoSoLafRsax1h9CcPzmkFmgXZRVoyedd8Tt/Aszjz59AxoCETB7oevCQSd/UJGxjzSLytv1rZXqxcQIq82zHe5CYS5IDMXXpTOnD3CBVkjGUN/QVQxUfVmfX/94pG41trE2RWKSp5t/eKyEATx4H2KuSY01VL4Fwl0KbJoShSkv2DbZICWT1AsCDn6uiBOjnGZBXZZFM2PbFLJTFTn16svgeLuXk4RIAGYGfIk0yZy8UxZIWbN1+XLrggrneJD8XfwHWvrDFhx0LZfHjyAhR86CsUfQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from PH8PR12MB7277.namprd12.prod.outlook.com (2603:10b6:510:223::13) by PH8PR12MB8431.namprd12.prod.outlook.com (2603:10b6:510:25a::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9870.22; Sat, 2 May 2026 01:15:01 +0000 Received: from PH8PR12MB7277.namprd12.prod.outlook.com ([fe80::2920:e6d9:4461:e2b4]) by PH8PR12MB7277.namprd12.prod.outlook.com ([fe80::2920:e6d9:4461:e2b4%5]) with mapi id 15.20.9870.022; Sat, 2 May 2026 01:15:01 +0000 Message-ID: Date: Sat, 2 May 2026 11:14:54 +1000 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] mm/memory: Fix spurious warning when unmapping device-private/exclusive pages To: Alistair Popple , linux-mm@kvack.org Cc: Andrew Morton , aarsenovic@baylibre.com, dri-devel@lists.freedesktop.org, matthew.brost@intel.com, thomas.hellstrom@linux.intel.com, jhubbard@nvidia.com, david@kernel.org, stable@vger.kernel.org References: <20260501065116.2057242-1-apopple@nvidia.com> Content-Language: en-US From: Balbir Singh In-Reply-To: <20260501065116.2057242-1-apopple@nvidia.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-ClientProxiedBy: ME2PR01CA0238.ausprd01.prod.outlook.com (2603:10c6:220:19::34) To PH8PR12MB7277.namprd12.prod.outlook.com (2603:10b6:510:223::13) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PH8PR12MB7277:EE_|PH8PR12MB8431:EE_ X-MS-Office365-Filtering-Correlation-Id: 9502a725-656a-4f3d-e6ed-08dea7e83baf X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|366016|10070799003|1800799024|376014|18002099003|56012099003|22082099003; X-Microsoft-Antispam-Message-Info: m9F8YlUGC8hE5U3Mepy0Lkq4JfEY8RDXyH4BanMzFaDFD30eZc1PNJqcxigDsAKjqpOkZ0r48PypZIKYGaCdtBDjcZrpF12gNkcDQh//NtmNnNfmDsq13hExYyVNocvKGYrWpHom1i5C4AYDCLMphSI1BvwYw1bv/AksiqfcGtadi9i9ZrFT8/iGf6YM7TfLhkUBQgGz24BK3s+r88HdAFkDN18UUc1rzXRlMkjPJZpjqwTigJnTvG9DqvY7H406onGvr0B5XUTxqT8TNMPYZpHeh6204QkNst8vVfexFtmrpe47k6tcjrwRD5NAaqm9rrEBUns64YbL52Lt8NmwwwWX04hOoytk+3UopicMb32PvN2ofdM+Ql/0WnfCtV4TfOpDD1nTyr1z6jdm2dp/jQdXocPTh6Jiqf994ciqzA8u9+GUprwYJ4ajEiGLwxOEK6W9UH+GQNr1PRsTUr2l8psqJbqkPZQg3Rfc0E4/VJuZ517i6hiZvyP0TYWvkWJ3qbVE99+e+CHFDEK88yg3TaS6OrUOmQ85Ak42tnKzwvi4fLl+xGtYvFJt8DswIAEarKu9+YRDzArPDzkb0T9ACZkFZJZU7OdGWOidoCmp4xLnSM1+XpONVE6h+y5bOrWpYmjzgy1fo8RdduTzskpRfGvBXiEHOygnNwiLc/N6sMTgynEw8MddeyYPCLGSuE1v X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH8PR12MB7277.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(366016)(10070799003)(1800799024)(376014)(18002099003)(56012099003)(22082099003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?SHIrQTVrSU9VRWxiMHpoSFpaWVI5T1haRHpxaEtVbjlqS0tIc0Q1NGgxV3hp?= =?utf-8?B?YVFYQXRvblNYLzcwZktsb3FIR2tLNkpLbUpPTUZPUzl2L2pTNlpVYXFra3VD?= =?utf-8?B?OFMxUVBDZm5PMnVJeUpWL1N3cERXSzlJQlpHdS9TU2sxOHpSdmR0NTlwRXRt?= =?utf-8?B?Q01NY2VJdFBNbC9nUnBoWXZYZFJaYzlPTURtS0Y4TGQ3U0NXQkx4Z0Uwd0M1?= =?utf-8?B?SE84UzlhMXl5OG9nV0NVZmFTY3k4Z29XMkFnMkRqNFNiZG5waW54NmplUUpK?= =?utf-8?B?K3JyRHNpNHZKMWIwc2NJNHA1S2J1OXhFTStMaUFIT0I2YVY4SjAzc0t4VmFR?= =?utf-8?B?Q21MWjYrejFPUzJqUXlzV2FXaHM4bTdFdCtmMGZDK2RZSDdzOXJSUEFTQnA0?= =?utf-8?B?ZGVsMVJNWGdrditmQnIvS2JrQjVFUGh0UHgvUXdZdmpNN3d4UStYYmtCREp1?= =?utf-8?B?dWZQSjQrZHhnWG14ZzVaL1VWRm8yUW9tRzJBVnBNeDlCUS9kWnVkUzVnQUds?= =?utf-8?B?QjBqUWU3OHFwcm5GZllRMzFoWjgrNFZBQytDc3lMalR3bUJESE5QNTlKTGRq?= =?utf-8?B?bGNiNy9vUGxGTDNFREdseUQ5SStzSkhXQ0RScy85Q3htLzNHYXpCRiszeEFQ?= =?utf-8?B?WWdWaEpNYVpvZlhyRGw1M0JDdjBaWDNYNExmcDBockRYQTU2STRvYS9YUXBj?= =?utf-8?B?UXhZYjB0aUF2Smk1RDR1TnBHcGQxRzBZNlZLZ2RhNkZ6WFRUeG1xcEdiRW5H?= =?utf-8?B?MXk4OTQ2NHJ5Z24ySFRrQ0h4d09jc2FuYlRTVHRtZ05DSWdxR2lERmkxUEdJ?= =?utf-8?B?TTN2YWdkTHV5bWFWdWpQZ2JoS3Eya1VoZlVZTTFJZkJmMEluTVJFRVlyV01z?= =?utf-8?B?cXBGQ2x1aUNoMktydVVvQUdZNzlSL29FbmRodkxodElGMjhzSGxTM0FXK1RN?= =?utf-8?B?bVJRQVpNVkZOTWwvMGJFMHZ0MzA0dFBJNjVTYTljc3BwdmRnczBPeTNBb25r?= =?utf-8?B?d2pHeG96MTloWHZvcnNsWVhXV1ZlTmN6eXhqd3ZsV2tSUkQ3bE9nVUtuYXpv?= =?utf-8?B?YmVFOUZSUjdUa0ZHcjJiNVlBYktCV2FZZmhpclNZV25oTnU3TElsMEpDbXNQ?= =?utf-8?B?WGp4TnJGRDBJUUovVklsekR3dVNaVVhneGNPeHVuNUlRSlU5T0JZVjErajBD?= =?utf-8?B?VE1Waysxbjl4MXo2bFVPcVhnQXBXVjJ2UzdqOWhEM3ZsK1publNOT0p1ak0x?= =?utf-8?B?NVhDRzRoR29QdU00Q0xoS1JGMTYxOHEvUVBLWS9MeDlPcjlmaUR2SG50dHBE?= =?utf-8?B?VG5kVDQyaWg5aU1iVzZqSGtuUFRqSnNVYWVKZzVQWEZuWTdDV0s3OW01ZnNq?= =?utf-8?B?Z0FrS01JZDRNaGhNY0NjU3ZBNDg5bHJhczVUQVdWazdCWmFrd3FudWVDcTJX?= =?utf-8?B?bUpNUWZ2OHllVVlITjE0Zjd0UTcvVGIxRVNGVVRvVmdqMDhHcElwMHk4RXVi?= =?utf-8?B?NWx2TmJkSmlhL3NlbFdQOFgyOVdVL0hHMm1aZ1ZHSi9RMFZmaDMwOWQxSXd2?= =?utf-8?B?VHZvSGF3ZU5uK2M5Vzl3bXRVVmdZK0t6aEdKdE4wRG92b3VtcHFMY1VwcDhN?= =?utf-8?B?QnBYY1JjK002YzF5YitFM3lUT1J5VStUYmg2NnE4b2VHWE16ZjZXUGFqYjFx?= =?utf-8?B?dnNQUk1JUEZBWVA0SGdOTUZDQVhVZUNvQXFPRkNmd0JCNFNlTExnNGUwSHlM?= =?utf-8?B?NHVVWFJYdEZhY292TnJobzN6czJ4amF1ZFRxa3ZBZGtWSUEyZXc5eDlCbTBj?= =?utf-8?B?ekdsYVNHUDhJdnM0YTJYaG42NURKY0k2MzVsWktRUFdIaHdFLzhYZnM2VVVL?= =?utf-8?B?ekJod3Y0Yzh6dmhMdzV2WWZEOWVMeVYwcDRaZmd2bEt6MzNDUG0zU2s4VEph?= =?utf-8?B?Z1Ezd2xLQ3l4bGlndUdRL0xLUFJGdVFESWVJd2hsc1BYUGpUcG5JeHE5Rkhp?= =?utf-8?B?blptRzJlcFJ2azM2R3JFSndhMVFuOTdHNDE1aUFzbmRMYm5HMUZJSTBFZ240?= =?utf-8?B?QlEwVXhYa0tQak9ETmxwQURvcEpkV2lDeHhRWklnSVRJZWxlbmwrZWRWb2dT?= =?utf-8?B?Nis4MlBRWERYNjFiRHVJSElVOXo5b210Nlc1UHYzdlFYR0hxQjIzR0FGQVhO?= =?utf-8?B?czNWa092b0Frby9TdjlmTzE3MllVQ1QxNlg4OU95WldjVkRDcUdEZzJoUVNn?= =?utf-8?B?ekp6eUVxVnZkaUx1ejNzdUdFd2g3bVlJRWtQWmhTUjFsSUJVRWdDdXViTHVG?= =?utf-8?B?UGhoOXZWVWh0Y29TV1Q2Y2FlNHA0RmljcVQrVXpLS2sxSGtlKzU0cjVNQmQy?= =?utf-8?Q?2zy3/AzDGu4rWgFO86EGYuZgPUZMEq/ATyuN3RrWWTtcY?= X-MS-Exchange-AntiSpam-MessageData-1: 60kQQdoGbzR7fg== X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9502a725-656a-4f3d-e6ed-08dea7e83baf X-MS-Exchange-CrossTenant-AuthSource: PH8PR12MB7277.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 May 2026 01:15:01.0301 (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: DtiToOb4Nh08+/kyoLPQgUusH9VEkPt+uDxKaDaSRZFiCqOhxtIrV+gMnXNDgj+0y5hKqhLZmJMi3V68ZtDvBw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB8431 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" T24gNS8xLzI2IDE2OjUxLCBBbGlzdGFpciBQb3BwbGUgd3JvdGU6Cj4gRGV2aWNlIHByaXZhdGUg YW5kIGV4Y2x1c2l2ZSBlbnRyaWVzIGFyZSBvbmx5IHN1cHBvcnRlZCBmb3IgYW5vbnltb3VzCj4g Zm9saW9zLiBUaGlzIGNvbmRpdGlvbiBpcyB0ZXN0ZWQgaW4gX19taWdyYXRlX2RldmljZV9wYWdl cygpIGFuZAo+IG1ha2VfZGV2aWNlX2V4Y2x1c2l2ZSgpIHVzaW5nIGZvbGlvX3Rlc3RfYW5vbigp LiBIb3dldmVyIHRoZSB1bm1hcCBwYXRoCj4gdGVzdHMgdGhpcyBhc3N1bXB0aW9uIHVzaW5nIHZt YV9pc19hbm9ueW1vdXMoKS4KPiAKPiBUaGlzIGlzIHdyb25nIGJlY2F1c2Ugd2hpbHN0IGFub255 bW91cyBWTUFzIGNhbiBvbmx5IGNvbnRhaW4gZm9saW9zCj4gd2hlcmUgZm9saW9fdGVzdF9hbm9u KCkgaXMgdHJ1ZSB0aGUgb3Bwb3NpdGUgcmVsYXRpb24gZG9lcyBub3QKPiBob2xkLiBBIGZvbGlv IGZvciB3aGljaCBmb2xpb190ZXN0X2Fub24oKSBpcyB0cnVlIGRvZXMgbm90IGltcGx5Cj4gdm1h X2lzX2Fub255bW91cygpIGlzIHRydWUuIFN1Y2ggYSBjb25kaXRpb24gY2FuIG9jY3VyIGlmIGZv ciBleGFtcGxlIGEKPiBmb2xpbyBpcyBwYXJ0IG9mIGEgcHJpdmF0ZSBmaWxlYmFja2VkIG1hcHBp bmcuCj4gCj4gSW4gdGhpcyBjYXNlIHZtYV9pc19hbm9ueW1vdXMoKSBpcyBmYWxzZSBhcyB0aGUg bWFwcGluZyBpcyBmaWxlYmFja2VkLAo+IGJ1dCBmb2xpb190ZXN0X2Fub24oKSBtYXkgYmUgdHJ1 ZSwgdGh1cyBwZXJtaXR0aW5nIGRldmljZXMgdG8gbWlncmF0ZQo+IHRoZSBmb2xpbyB0byBkZXZp Y2UgcHJpdmF0ZSBtZW1vcnkuIFRoaXMgY2FuIGxlYWQgdG8gdGhlIGZvbGxvd2luZwo+IHNwdXJp b3VzIHdhcm5pbmdzIGR1cmluZyBwcm9jZXNzIHRlYXJkb3duOgo+IAo+IFsgIDc3Mi43Mzc3MDZd IC0tLS0tLS0tLS0tLVsgY3V0IGhlcmUgXS0tLS0tLS0tLS0tLQo+IFsgIDc3Mi43MzkyMDFdIFdB Uk5JTkc6IG1tL21lbW9yeS5jOjE3NTQgYXQgdW5tYXBfcGFnZV9yYW5nZS5jb2xkKzB4MjYvMHgx OGEsIENQVSMxNzogaG1tLXRlc3RzLzIwNDEKPiBbICA3NzIuNzQyMDUwXSBNb2R1bGVzIGxpbmtl ZCBpbjogdGVzdF9obW0gbnZpZGlhX3V2bShPKSBudmlkaWEoTykKPiBbICA3NzIuNzQzOTU5XSBD UFU6IDE3IFVJRDogMCBQSUQ6IDIwNDEgQ29tbTogaG1tLXRlc3RzIFRhaW50ZWQ6IEcgICAgICAg IFcgIE8gICAgICAgIDcuMC4wKyAjMzg3IFBSRUVNUFQoZnVsbCkKPiBbICA3NzIuNzQ3MTA0XSBU YWludGVkOiBbV109V0FSTiwgW09dPU9PVF9NT0RVTEUKPiBbICA3NzIuNzQ4NTA5XSBIYXJkd2Fy ZSBuYW1lOiBRRU1VIFN0YW5kYXJkIFBDIChRMzUgKyBJQ0g5LCAyMDA5KSwgQklPUyByZWwtMS4x Ny4wLTAtZ2I1MmNhODZlMDk0ZC1wcmVidWlsdC5xZW11Lm9yZyAwNC8wMS8yMDE0Cj4gWyAgNzcy Ljc1MjExN10gUklQOiAwMDEwOnVubWFwX3BhZ2VfcmFuZ2UuY29sZCsweDI2LzB4MThhCj4gWyAg NzcyLjc1Mzc4MF0gQ29kZTogN2UgZmUgZmYgZmYgNDggODkgNGMgMjQgNzggNGMgODkgNDQgMjQg MzggZTggZjIgZmYgYjEgMDAgNDggOGIgNGMgMjQgNzggNGMgOGIgNDQgMjQgMzggNDggOGIgNDQg MjQgMTggNDggODMgNzggNDggMDAgNzQgMDQgOTAgPDBmPiAwYiA5MCA0OCA4OSBjYSBiOCBmZiBm ZiAzNyAwMCA0OCBjMSBlYSAwMyA0OCBjMSBlMCAyYSA4MCAzYyAwMgo+IFsgIDc3Mi43NTk2MDJd IFJTUDogMDAxODpmZmZmODg4MTEyNjA3NTUwIEVGTEFHUzogMDAwMTAyODYKPiBbICA3NzIuNzYx MzEwXSBSQVg6IGZmZmY4ODgxMWJiZjRkYzAgUkJYOiBkZmZmZmMwMDAwMDAwMDAwIFJDWDogZmZm ZmVhMDNlOWJmZmZkOAo+IFsgIDc3Mi43NjM1ODNdIFJEWDogMWZmZmYxMTAyMzc3ZTljMSBSU0k6 IDAwMDAwMDAwMDAwMDAwMDggUkRJOiBmZmZmODg4MTFiYmY0ZTA4Cj4gWyAgNzcyLjc2NTkxNF0g UkJQOiAwMDAwMDAwMDAwMDAwMDA2IFIwODogZmZmZjg4ODEwNTlmNzQ0OCBSMDk6IGZmZmZlZDEw MjI0YzBlNjgKPiBbICA3NzIuNzY4MTg0XSBSMTA6IGZmZmY4ODgxMTI2MDczNDcgUjExOiAwMDAw MDAwMDAwMDAwMDAxIFIxMjogMDAwMDAwMDAwMDAwMDAwMQo+IFsgIDc3Mi43NzA0NjFdIFIxMzog ZmZmZmVhMDNlOWJmZmZjMCBSMTQ6IGZmZmY4ODgxMTI2MDc5MDggUjE1OiBmZmZmZWEwM2U5YmZm ZmMwCj4gWyAgNzcyLjc3Mjc4Ml0gRlM6ICAwMDAwN2YzMjdjYWEyNzgwKDAwMDApIEdTOmZmZmY4 ODg0MjdiN2QwMDAoMDAwMCkga25sR1M6MDAwMDAwMDAwMDAwMDAwMAo+IFsgIDc3Mi43NzUzMjhd IENTOiAgMDAxMCBEUzogMDAwMCBFUzogMDAwMCBDUjA6IDAwMDAwMDAwODAwNTAwMzMKPiBbICA3 NzIuNzc3MTg3XSBDUjI6IDAwMDA3ZjMyN2NhODkwMDAgQ1IzOiAwMDAwMDAwMTk5NGQ1MDAwIENS NDogMDAwMDAwMDAwMDAwMDZmMAo+IFsgIDc3Mi43NzkxMzVdIENhbGwgVHJhY2U6Cj4gWyAgNzcy Ljc3OTc5Ml0gIDxUQVNLPgo+IFsgIDc3Mi43ODAzMTddICA/IGRtaXJyb3JfaW50ZXJ2YWxfaW52 YWxpZGF0ZSsweDFhMy8weDI5MCBbdGVzdF9obW1dCj4gWyAgNzcyLjc4MTg3M10gID8gdm1fbm9y bWFsX3BhZ2VfcHVkKzB4MmIwLzB4MmIwCj4gWyAgNzcyLjc4Mjk5Ml0gID8gX19yd2xvY2tfaW5p dCsweDE1MC8weDE1MAo+IFsgIDc3Mi43ODQwMDZdICA/IGxvY2tfcmVsZWFzZSsweDIxNi8weDJi MAo+IFsgIDc3Mi43ODUwMDhdICA/IF9fbW11X25vdGlmaWVyX2ludmFsaWRhdGVfcmFuZ2Vfc3Rh cnQrMHg1MDUvMHg2ZTAKPiBbICA3NzIuNzg2NTIyXSAgPyBsb2NrX3JlbGVhc2UrMHgyMTYvMHgy YjAKPiBbICA3NzIuNzg3NDk4XSAgPyB1bm1hcF9zaW5nbGVfdm1hKzB4YjYvMHgyMTAKPiBbICA3 NzIuNzg4NTczXSAgdW5tYXBfdm1hcysweDI3ZC8weDUyMAo+IFsgIDc3Mi43ODk1MDZdICA/IHVu bWFwX3NpbmdsZV92bWErMHgyMTAvMHgyMTAKPiBbICA3NzIuNzkwNjA3XSAgPyBtYXNfdXBkYXRl X2dhcC5wYXJ0LjArMHg2MjAvMHg2MjAKPiBbICA3NzIuNzkxODM0XSAgdW5tYXBfcmVnaW9uKzB4 MTllLzB4MzUwCj4gWyAgNzcyLjc5Mjc2OV0gID8gcmVtb3ZlX3ZtYSsweDEzMC8weDEzMAo+IFsg IDc3Mi43OTM2ODRdICA/IG1hc19hbGxvY19ub2RlcysweDFmMi8weDMwMAo+IFsgIDc3Mi43OTQ3 MzBdICB2bXNfY29tcGxldGVfbXVubWFwX3ZtYXMrMHg4YzEvMHhlMjAKPiBbICA3NzIuNzk1OTI2 XSAgPyB1bm1hcF9yZWdpb24rMHgzNTAvMHgzNTAKPiBbICA3NzIuNzk2OTE3XSAgZG9fdm1pX2Fs aWduX211bm1hcCsweDM2YS8weDRlMAo+IFsgIDc3Mi43OTgwMThdICA/IGxvY2tfcmVsZWFzZSsw eDIxNi8weDJiMAo+IFsgIDc3Mi43OTkwMjRdICA/IHZtYV9zaHJpbmsrMHg2MjAvMHg2MjAKPiBb ICA3NzIuNzk5OTgzXSAgZG9fdm1pX211bm1hcCsweDE1MC8weDJjMAo+IFsgIDc3Mi44MDA5Mzld ICBfX3ZtX211bm1hcCsweDE2MS8weDJjMAo+IFsgIDc3Mi44MDE4NzJdICA/IGV4cGFuZF9kb3du d2FyZHMrMHhkNjAvMHhkNjAKPiBbICA3NzIuODAyOTQ4XSAgPyBjbG9ja2V2ZW50c19wcm9ncmFt X2V2ZW50KzB4MWVmLzB4NTQwCj4gWyAgNzcyLjgwNDIxN10gID8gbG9ja19yZWxlYXNlKzB4MjE2 LzB4MmIwCj4gWyAgNzcyLjgwNTE1OF0gIF9feDY0X3N5c19tdW5tYXArMHg1OS8weDgwCj4gWyAg NzcyLjgwNTc3Nl0gIGRvX3N5c2NhbGxfNjQrMHhmYy8weDY3MAo+IFsgIDc3Mi44MDYzMzZdICA/ IGlycWVudHJ5X2V4aXQrMHhkYS8weDU4MAo+IFsgIDc3Mi44MDY5NzZdICBlbnRyeV9TWVNDQUxM XzY0X2FmdGVyX2h3ZnJhbWUrMHg0Yi8weDUzCj4gWyAgNzcyLjgwNzc3Ml0gUklQOiAwMDMzOjB4 N2YzMjdjYmIyNzE3Cj4gWyAgNzcyLjgwODMyM10gQ29kZTogNzMgMDEgYzMgNDggOGIgMGQgZjkg NzYgMGQgMDAgZjcgZDggNjQgODkgMDEgNDggODMgYzggZmYgYzMgNjYgMmUgMGYgMWYgODQgMDAg MDAgMDAgMDAgMDAgMGYgMWYgNDQgMDAgMDAgYjggMGIgMDAgMDAgMDAgMGYgMDUgPDQ4PiAzZCAw MSBmMCBmZiBmZiA3MyAwMSBjMyA0OCA4YiAwZCBjOSA3NiAwZCAwMCBmNyBkOCA2NCA4OSAwMSA0 OAo+IFsgIDc3Mi44MTEzMzddIFJTUDogMDAyYjowMDAwN2ZmZGU3ZjU3ZDM4IEVGTEFHUzogMDAw MDAyMDIgT1JJR19SQVg6IDAwMDAwMDAwMDAwMDAwMGIKPiBbICA3NzIuODEyNTY0XSBSQVg6IGZm ZmZmZmZmZmZmZmZmZGEgUkJYOiAwMDAwN2YzMjdjYzljMDAwIFJDWDogMDAwMDdmMzI3Y2JiMjcx Nwo+IFsgIDc3Mi44MTM3MzNdIFJEWDogMDAwMDAwMDAwMDAwMDAwMCBSU0k6IDAwMDAwMDAwMDA0 MDAwMDAgUkRJOiAwMDAwN2YzMjdjMjg5MDAwCj4gWyAgNzcyLjgxNDg2N10gUkJQOiAwMDAwMDAw MDAwNDIxMzYwIFIwODogMDAwMDAwMDAwMDAwMDAxYSBSMDk6IDAwMDAwMDAwMDAwMDAwMDAKPiBb ICA3NzIuODE1OTkxXSBSMTA6IDAwMDAwMDAwMDAwMDAwMDMgUjExOiAwMDAwMDAwMDAwMDAwMjAy IFIxMjogMDAwMDdmZmRlN2Y1N2Q3NAo+IFsgIDc3Mi44MTcxMjFdIFIxMzogMDAwMDdmMzI3YzY4 OTAxMCBSMTQ6IDAwMDAwMDAwMDAxMDAwMDAgUjE1OiAwMDAwN2YzMjdjMjg5MDAwCj4gWyAgNzcy LjgxODI3Ml0gIDwvVEFTSz4KPiBbICA3NzIuODE4NjE0XSBpcnEgZXZlbnQgc3RhbXA6IDAKPiBb ICA3NzIuODE5MTU5XSBoYXJkaXJxcyBsYXN0ICBlbmFibGVkIGF0ICgwKTogWzwwMDAwMDAwMDAw MDAwMDAwPl0gMHgwCj4gWyAgNzcyLjgyMDE3NF0gaGFyZGlycXMgbGFzdCBkaXNhYmxlZCBhdCAo MCk6IFs8ZmZmZmZmZmY4MmE1N2FiMz5dIGNvcHlfcHJvY2VzcysweDE5ZjMvMHg2NDQwCj4gWyAg NzcyLjgyMTUxMV0gc29mdGlycXMgbGFzdCAgZW5hYmxlZCBhdCAoMCk6IFs8ZmZmZmZmZmY4MmE1 N2IwMD5dIGNvcHlfcHJvY2VzcysweDFhNDAvMHg2NDQwCj4gWyAgNzcyLjgyMjg2OV0gc29mdGly cXMgbGFzdCBkaXNhYmxlZCBhdCAoMCk6IFs8MDAwMDAwMDAwMDAwMDAwMD5dIDB4MAo+IFsgIDc3 Mi44MjM4NzFdIC0tLVsgZW5kIHRyYWNlIDAwMDAwMDAwMDAwMDAwMDAgXS0tLQo+IAo+IEZpeCB0 aGlzIGJ5IHVzaW5nIHRoZSBzYW1lIGNoZWNrIGZvciBmb2xpb190ZXN0X2Fub24oKSBpbgo+IHph cF9ub25wcmVzZW50X3B0ZXMoKS4gQWxzbyBhZGQgYSBobW0tdGVzdCBjYXNlIGZvciB0aGlzLgo+ IAo+IFNpZ25lZC1vZmYtYnk6IEFsaXN0YWlyIFBvcHBsZSA8YXBvcHBsZUBudmlkaWEuY29tPgo+ IFJlcG9ydGVkLWJ5OiBBcnNlbiBBcnNlbm92acSHIDxhYXJzZW5vdmljQGJheWxpYnJlLmNvbT4K PiBGaXhlczogOTk5ZGFkODI0YzM5ZSAoIm1tL3NobWVtOiBwZXJzaXN0IHVmZmQtd3AgYml0IGFj cm9zcyB6YXBwaW5nIGZvciBmaWxlLWJhY2tlZCIpCj4gQ2M6IHN0YWJsZUB2Z2VyLmtlcm5lbC5v cmcKPiAtLS0KPiAgbW0vbWVtb3J5LmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiAr LQo+ICB0b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9tbS9obW0tdGVzdHMuYyB8IDUwICsrKysrKysr KysrKysrKysrKysrKysrKysrCj4gIDIgZmlsZXMgY2hhbmdlZCwgNTEgaW5zZXJ0aW9ucygrKSwg MSBkZWxldGlvbigtKQo+IAo+IGRpZmYgLS1naXQgYS9tbS9tZW1vcnkuYyBiL21tL21lbW9yeS5j Cj4gaW5kZXggYzY1ZTgyYzg2ZmVkLi4zZjIyYTY3YTRkN2YgMTAwNjQ0Cj4gLS0tIGEvbW0vbWVt b3J5LmMKPiArKysgYi9tbS9tZW1vcnkuYwo+IEBAIC0xNzUwLDcgKzE3NTAsNyBAQCBzdGF0aWMg aW5saW5lIGludCB6YXBfbm9ucHJlc2VudF9wdGVzKHN0cnVjdCBtbXVfZ2F0aGVyICp0bGIsCj4g IAkJICogY29uc2lkZXIgdWZmZC13cCBiaXQgd2hlbiB6YXAuIEZvciBtb3JlIGluZm9ybWF0aW9u LAo+ICAJCSAqIHNlZSB6YXBfaW5zdGFsbF91ZmZkX3dwX2lmX25lZWRlZCgpLgo+ICAJCSAqLwo+ IC0JCVdBUk5fT05fT05DRSghdm1hX2lzX2Fub255bW91cyh2bWEpKTsKPiArCQlXQVJOX09OX09O Q0UoIWZvbGlvX3Rlc3RfYW5vbihmb2xpbykpOwo+ICAJCXJzc1ttbV9jb3VudGVyKGZvbGlvKV0t LTsKPiAgCQlmb2xpb19yZW1vdmVfcm1hcF9wdGUoZm9saW8sIHBhZ2UsIHZtYSk7Cj4gIAkJZm9s aW9fcHV0KGZvbGlvKTsKPiBkaWZmIC0tZ2l0IGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbW0v aG1tLXRlc3RzLmMgYi90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9tbS9obW0tdGVzdHMuYwo+IGlu ZGV4IGU4MzI4Yzg5ZDg1NS4uZWI4NjBiNWQ2Zjg1IDEwMDY0NAo+IC0tLSBhL3Rvb2xzL3Rlc3Rp bmcvc2VsZnRlc3RzL21tL2htbS10ZXN0cy5jCj4gKysrIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVz dHMvbW0vaG1tLXRlc3RzLmMKPiBAQCAtMTAzNCw2ICsxMDM0LDU2IEBAIFRFU1RfRihobW0sIG1p Z3JhdGUpCj4gIAlobW1fYnVmZmVyX2ZyZWUoYnVmZmVyKTsKPiAgfQo+ICAKPiArLyoKPiArICog TWlncmF0ZSBwcml2YXRlIGZpbGUgbWVtb3J5IHRvIGRldmljZSBwcml2YXRlIG1lbW9yeS4KPiAr ICovCj4gK1RFU1RfRihobW0sIG1pZ3JhdGVfZmlsZV9wcml2YXRlKQo+ICt7Cj4gKwlzdHJ1Y3Qg aG1tX2J1ZmZlciAqYnVmZmVyOwo+ICsJdW5zaWduZWQgbG9uZyBucGFnZXM7Cj4gKwl1bnNpZ25l ZCBsb25nIHNpemU7Cj4gKwl1bnNpZ25lZCBsb25nIGk7Cj4gKwlpbnQgKnB0cjsKPiArCWludCBy ZXQ7Cj4gKwlpbnQgZmQ7Cj4gKwo+ICsJbnBhZ2VzID0gQUxJR04oSE1NX0JVRkZFUl9TSVpFLCBz ZWxmLT5wYWdlX3NpemUpID4+IHNlbGYtPnBhZ2Vfc2hpZnQ7Cj4gKwlBU1NFUlRfTkUobnBhZ2Vz LCAwKTsKPiArCXNpemUgPSBucGFnZXMgPDwgc2VsZi0+cGFnZV9zaGlmdDsKPiArCj4gKwlmZCA9 IGhtbV9jcmVhdGVfZmlsZShzaXplKTsKPiArCUFTU0VSVF9HRShmZCwgMCk7Cj4gKwo+ICsJYnVm ZmVyID0gbWFsbG9jKHNpemVvZigqYnVmZmVyKSk7Cj4gKwlBU1NFUlRfTkUoYnVmZmVyLCBOVUxM KTsKPiArCj4gKwlidWZmZXItPmZkID0gZmQ7Cj4gKwlidWZmZXItPnNpemUgPSBzaXplOwo+ICsJ YnVmZmVyLT5taXJyb3IgPSBtYWxsb2Moc2l6ZSk7Cj4gKwlBU1NFUlRfTkUoYnVmZmVyLT5taXJy b3IsIE5VTEwpOwo+ICsKPiArCWJ1ZmZlci0+cHRyID0gbW1hcChOVUxMLCBzaXplLAo+ICsJCQkg ICBQUk9UX1JFQUQgfCBQUk9UX1dSSVRFLAo+ICsJCQkgICBNQVBfUFJJVkFURSwKPiArCQkJICAg YnVmZmVyLT5mZCwgMCk7Cj4gKwlBU1NFUlRfTkUoYnVmZmVyLT5wdHIsIE1BUF9GQUlMRUQpOwo+ ICsKPiArCS8qIEluaXRpYWxpemUgYnVmZmVyIGluIHN5c3RlbSBtZW1vcnkuICovCj4gKwlmb3Ig KGkgPSAwLCBwdHIgPSBidWZmZXItPnB0cjsgaSA8IHNpemUgLyBzaXplb2YoKnB0cik7ICsraSkK PiArCQlwdHJbaV0gPSBpOwo+ICsKPiArCS8qIE1pZ3JhdGUgbWVtb3J5IHRvIGRldmljZS4gKi8K PiArCXJldCA9IGhtbV9taWdyYXRlX3N5c190b19kZXYoc2VsZi0+ZmQsIGJ1ZmZlciwgbnBhZ2Vz KTsKPiArCUFTU0VSVF9FUShyZXQsIDApOwo+ICsJQVNTRVJUX0VRKGJ1ZmZlci0+Y3BhZ2VzLCBu cGFnZXMpOwo+ICsKPiArCS8qIENoZWNrIHdoYXQgdGhlIGRldmljZSByZWFkLiAqLwo+ICsJZm9y IChpID0gMCwgcHRyID0gYnVmZmVyLT5taXJyb3I7IGkgPCBzaXplIC8gc2l6ZW9mKCpwdHIpOyAr K2kpCj4gKwkJQVNTRVJUX0VRKHB0cltpXSwgaSk7Cj4gKwo+ICsJaG1tX2J1ZmZlcl9mcmVlKGJ1 ZmZlcik7Cj4gK30KPiArCj4gIC8qCj4gICAqIE1pZ3JhdGUgYW5vbnltb3VzIG1lbW9yeSB0byBk ZXZpY2UgcHJpdmF0ZSBtZW1vcnkgYW5kIGZhdWx0IHNvbWUgb2YgaXQgYmFjawo+ICAgKiB0byBz eXN0ZW0gbWVtb3J5LCB0aGVuIHRyeSBtaWdyYXRpbmcgdGhlIHJlc3VsdGluZyBtaXggb2Ygc3lz dGVtIGFuZCBkZXZpY2UKCgpSZXZpZXdlZC1ieTogQmFsYmlyIFNpbmdoIDxiYWxiaXJzQG52aWRp YS5jb20+Cg==