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 kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 252AFEE0212 for ; Thu, 14 Sep 2023 02:20:43 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B00B36B02B7; Wed, 13 Sep 2023 22:20:42 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id AB0506B02B8; Wed, 13 Sep 2023 22:20:42 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 950C36B02B9; Wed, 13 Sep 2023 22:20:42 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 8665A6B02B7 for ; Wed, 13 Sep 2023 22:20:42 -0400 (EDT) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 56792160F52 for ; Thu, 14 Sep 2023 02:20:42 +0000 (UTC) X-FDA: 81233599524.25.8153E9A Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2052.outbound.protection.outlook.com [40.107.244.52]) by imf23.hostedemail.com (Postfix) with ESMTP id 72EAA14000B for ; Thu, 14 Sep 2023 02:20:39 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=hVP892JC; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=reject) header.from=nvidia.com; spf=pass (imf23.hostedemail.com: domain of ziy@nvidia.com designates 40.107.244.52 as permitted sender) smtp.mailfrom=ziy@nvidia.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1694658039; a=rsa-sha256; cv=pass; b=8N2c1aVwFoFiMjQ2wnC219sthzQcIvbSaO4S4qvZ53tr1oSJD20eXbrc9PSxK68bG4JZCh 5VfW8IP0rHmt6ClCsYUWklwU9xAID5hiR5W22LR//jkcqxAYoXEAB9CfCcwQwmSxa+98Ht FjLw4UpfxtE0xRxGyBqkwFpZm1MbSJ4= ARC-Authentication-Results: i=2; imf23.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=hVP892JC; arc=pass ("microsoft.com:s=arcselector9901:i=1"); dmarc=pass (policy=reject) header.from=nvidia.com; spf=pass (imf23.hostedemail.com: domain of ziy@nvidia.com designates 40.107.244.52 as permitted sender) smtp.mailfrom=ziy@nvidia.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1694658039; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=kT8QbKFMSPvgstUsGChR3botBQLJ+XNyOw/popnID8Y=; b=o2jmV8MsGv/K16cNuftuLlbM6cQIAIP6Nk+QxpTAxvyJKQ1mMXOlrQnHRNDLbZiI7sjdnp A2l12TlgOcIKA5QMJtMUBFKst2lr61rPRzliu5bjZb2WJFJTLnIvy0JA3prMs9dP2Fe1sL YOdObhodwiPw5rlg3px4vkIVVVTTmR8= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gRrCVv/lVot/fYB/uZS2vXw63QypRqLW4Xg4xlyiKYy4rWKV6rTZceJPp7vdA+vtqTSe1gZn/5kKk7bKV5KKmr4VQywD6arXkB1HMGZxELY/tdW3EOLSr+TeiB8Jx3/Gh1d3y9KV3E/WUEminXbSUXzTz6stMTmto9dUDcrlQ4P5FqVVJ3l2DUS/vel/zwYgftTXnNHF3oRpDwC9wozcMKZQ0POkJTuOY+Q1oIZATAtD9ONugAXC+3xgACg3QMzmcvwGEZXG30WL05FVnw/AjjIneQxFQdhxaYc1+g1ZqbQWlxfZ9ByECOcvO0OM3YCrWOw9tzXboT7McEV57GHMZg== 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=kT8QbKFMSPvgstUsGChR3botBQLJ+XNyOw/popnID8Y=; b=UYkJL/0mg0XHtVzUTTxqRrr/LrTD/+j+751ghO5SgdNidos4bl6s2kCDLxk6u71c+G4Ffh5p2V7Di0YPzCdg+uQQxjoDFU+DfJbTa3Hj03qX5fgh7urvJGm6S4o2R+OWk0RCMLaA+YQXa0ELuhDsIHYg/bQH4tmjZDhfOALCwDpF0so4sIKwMewjF2D0D7N3MdIIJ+FOEv8LmS0cbwWsrZRjr2U1wn2tO2Q/EEemM47bxRXS0lBFhiJYLjMfIz1N60Pba+bPN85xYfZYrsbX8MWQMWU6adPEHljlGm/UlxbG4MP/yYczA/B5CUc2kfznsa5rUkgmmAyF0YqwAecAsA== 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=kT8QbKFMSPvgstUsGChR3botBQLJ+XNyOw/popnID8Y=; b=hVP892JCDJFeRVuFz/OkAHL9wIg62vEqexPJoiFYMk13YM/kzZ+Z60xpjnqyMDSYRm3MdkoxrH0YP4tyGk2iYFC6MIRxxb/RFHLCGvGo2DUYVuzgcMywPGQBxe2Qk+dSgLm9wgI2DobnzDDup7ttzLpA6qA8EmhczHUwYlq4wORsmkrhXam9XLGpYOTZPmXyoIhefcO/m/L3EXXsXlpwG2sOgL9l3jbi37eLwju2qEEppZ1qzTB+9wlk+klPrzjjYs8V8+JsZONdZksJDfPnI4nVxioaz2kWkMKyM9L4nW8r8aSW5W0+qC3JHio8VOveYz7d/Ec4kecavECDvNSOBA== Received: from DS7PR12MB5744.namprd12.prod.outlook.com (2603:10b6:8:73::18) by IA1PR12MB6554.namprd12.prod.outlook.com (2603:10b6:208:3a2::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6745.34; Thu, 14 Sep 2023 02:20:36 +0000 Received: from DS7PR12MB5744.namprd12.prod.outlook.com ([fe80::4b09:197c:609a:1013]) by DS7PR12MB5744.namprd12.prod.outlook.com ([fe80::4b09:197c:609a:1013%7]) with mapi id 15.20.6745.020; Thu, 14 Sep 2023 02:20:36 +0000 From: Zi Yan To: linux-mm@kvack.org, linux-kernel@vger.kernel.org, linux-mips@vger.kernel.org Cc: Zi Yan , Andrew Morton , Thomas Bogendoerfer , "\"Matthew Wilcox (Oracle)\"" , David Hildenbrand , Mike Kravetz , Muchun Song , "\"Mike Rapoport (IBM)\"" , stable@vger.kernel.org, Muchun Song Subject: Re: [PATCH v3 2/5] mm/hugetlb: use nth_page() in place of direct struct page manipulation. Date: Wed, 13 Sep 2023 22:20:31 -0400 X-Mailer: MailMate (1.14r5984) Message-ID: In-Reply-To: <20230913201248.452081-3-zi.yan@sent.com> References: <20230913201248.452081-1-zi.yan@sent.com> <20230913201248.452081-3-zi.yan@sent.com> Content-Type: multipart/signed; boundary="=_MailMate_74C351E6-48C1-42FF-9A9C-4ACD7EF1135C_="; micalg=pgp-sha512; protocol="application/pgp-signature" X-ClientProxiedBy: BL1PR13CA0065.namprd13.prod.outlook.com (2603:10b6:208:2b8::10) To DS7PR12MB5744.namprd12.prod.outlook.com (2603:10b6:8:73::18) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS7PR12MB5744:EE_|IA1PR12MB6554:EE_ X-MS-Office365-Filtering-Correlation-Id: d53ea4d6-85c5-40b7-004f-08dbb4c92e81 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: VOHi9BUc9HvMH6pQSF/1sKvDGTaGB0qUtFxmu1PV10rvTE9V5W+UGGPwVsOXK037bNHSDMf3aWRMhC1WHhfQSFf3IbDIAmY3EAroRQCvpLWWSSe1PUQa3tCWVBrkMphY+fD04qwJEKRRifyFCPcRv5w/slKa1AStEzAnC2W9lLk2+04C+pO7dAVQNSpZsbgtOrdGOgeaAjXWGYNbRKtQ6FJL7WBX9QqZLUVVIpXofqWJg/QktXQ3XPsRiA0B+mKWGgliAL4mC6HKejENdICwaYTgm043UgYX9b4m8CAHcX6rvLRHZobtmL4LRvo6BQ4H87+xyN0PofyC5i9TeGKITWkYSNXQliUWgc34CCAHdQGE7+KePcyIrA1mPEKYroyfag4PyZVrPu0SHphv/vUIlQtXVpd4gQo+yzIfuhAlIS7A6iTD60wf/WJQFhhOpTvW+QTiUKephCrHx7lqroLw5W39KSqlE9cDNXhja6DqkcSrhXVLfkN1xokSM8PxA/ZAjPY9cl5zLwySoTIjZraEVb9FIc19akh1R3iZ3LulAyDTTZnEv0NPyF4bNnSfcp9cXvWdRYhNrEMlh7LYE2HFIfDxjwLfJwR80Zgye+5uto+sFm0UgBxc1tdMRhetv9Yz X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR12MB5744.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(136003)(376002)(396003)(366004)(346002)(186009)(1800799009)(451199024)(66476007)(478600001)(6666004)(6486002)(66946007)(6506007)(26005)(66556008)(6512007)(2616005)(2906002)(54906003)(8676002)(8936002)(316002)(53546011)(41300700001)(4326008)(235185007)(86362001)(36756003)(33656002)(5660300002)(38100700002)(7416002)(83380400001)(66899024)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?fya20NtotSRyjKEI61RGLA+q2U/D51K8DaqTfM/bxEKPbNDbBxoylNE1qUvA?= =?us-ascii?Q?9f9yBN/0UswZ0tii5sfvME4IHZEILgYSM29QbgGrEAjymqWarzTzj2DwI7gE?= =?us-ascii?Q?8fL5X9E9mmh/FY3DAxZ4/q2VXTqrZbT6xb37ZxeCuY6KsKLfTwG77Dl3+uB7?= =?us-ascii?Q?XCm/jbkGy/WwP530g+u27ZsF8x7ONj78vafn1iQf4tOsGG6NtARLMCE4GtW6?= =?us-ascii?Q?Ma0CkWC16NXFo/VaJTDzcZxRUx7rCcgnTKgNOwyOTnp8g9LEu1kLkIjHUFxw?= =?us-ascii?Q?V9pnHTxDGBvuztE9J/FhUrVqDHjzaZSBJ84wJ7owjXGKh0ZfrQoP0vqmIGCa?= =?us-ascii?Q?+iPzVyE3wfeZ0JJOt2tZ8FJAJ8M2KVYbJS8d77Pkm1j69PNjyS1prud0Lpof?= =?us-ascii?Q?+wFe835W/1dbeF8kKdeQzD2s2JO3Kb3pGRduUIrWsOQiol2W/454VZJtpqYR?= =?us-ascii?Q?lwpIxUQILblpeiRkLZFMpf8K5/4Cm8dhQdoTqH/nRKJ4cDuY36rQbDgcgJSK?= =?us-ascii?Q?6VElf8j6bXvMyCcBXLnNdj5J9XR55rlFWqnIOn/c0MUt3mv2QGb8L+ecRrZ2?= =?us-ascii?Q?WXivVGdXf5bwBkYbMXU3EdfbkMUVikmwFRLKPHmxJnbCiR5S/danOzAAp1fn?= =?us-ascii?Q?s1u0tJUq0YEXREwkuwxYq/NcGGgEYfjYsw30F2hmDhrjoE8YMnJo/lF0ck8X?= =?us-ascii?Q?oTXjNmHFrqd+fSumBfhdjFnBD8WKOJ0q/bya30fjWe0RX5HYUM4dRgXFsKkH?= =?us-ascii?Q?3f/EDMY8B2PcQSYEBbv9PFLk8pHADYPopygzCo68AIVa3exU96tdS+Lj9vAS?= =?us-ascii?Q?cVUXuALe0eWHfCLAxO28ztrtHmQ7KvPQeHnLmnyL7x1qdWDry2w36oyVsHgp?= =?us-ascii?Q?QvO85eFRfakIhxqqMGMyJ7e+cq9kOgqKu4SxIc0nlDNPbkAmvhSKDbVnC6ra?= =?us-ascii?Q?pHpG24F85vk4HXjF75jW1DtNvm39n3SiNp9iAz4PQO5O+sWixV0AEWGB/5lT?= =?us-ascii?Q?0zllHdqcRpbukJ/QI35FpAsZh4W8zAF1ifoRGPpuUl4KY1/W3sJeVP3ADVKC?= =?us-ascii?Q?WZ2cdkZh/TGqXFk+Ezj2FyeXfs+ZC4Yjq0QTx61/s8Rc97OPmIpd8wcr/54M?= =?us-ascii?Q?dZlKkUlKMski2LOIZS7J0rp1LMe0C8/mvtf1kaKgG11cG/6XLmjWKqqpJanr?= =?us-ascii?Q?In00vcFkR/OFAkRdjwpgXba5o1XMcTNxUybZVT+qGZ/qKJ8qslYyt9LI8P0t?= =?us-ascii?Q?NabszSe5Ude4QNn8rO9O1CSCD+jnDPtlmDq7B0OYc1a1FPGQQYSpNoUENv0W?= =?us-ascii?Q?3sjj7NHgqRrnVW24UY8rS/xrphInpYdZqpIxuwczuWR/kMlAm8273yrOwfDE?= =?us-ascii?Q?y/NAPqr2rPF+zHE8X3aLi3c7I09mZTFBdksK+aQIg/cdQuUoIYPrsUAJRYlS?= =?us-ascii?Q?bazD5suVyCf0fTyLibus636mEqvmIsPfl/1n7z9exoHdsUTlANTeFNBt/i0J?= =?us-ascii?Q?JFC4aLD1L8M/XWbxTvRX911PrflU8nCGSNp0r+DLf4OqfGCXNHC5E5/QQYK5?= =?us-ascii?Q?sxGN8N4Q9pC6xzTftrkS7YNJNMqLiNV9RNh/nsuX?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: d53ea4d6-85c5-40b7-004f-08dbb4c92e81 X-MS-Exchange-CrossTenant-AuthSource: DS7PR12MB5744.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Sep 2023 02:20:36.5922 (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: tsNmGDk5LSy771iOfPR+k8ZYJQIdPnc0Hp8++wvyNNzTT7g18+WC4sa85ZLnhvuR X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6554 X-Rspam-User: X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 72EAA14000B X-Stat-Signature: yssfruibknk3r1q1ayeamhnags9rueuf X-HE-Tag: 1694658039-543010 X-HE-Meta: U2FsdGVkX1+986ZdrRZ2Lwekhf5KrFE2n3292pzHVbRPubxyoi/cfBL70lUFQhydnzEW03innsqczZUX3tNnr9P2KJdx72ihSjZCzekWb8U028RnPgxnUEBO9UYWTfulCP+28zFlPRlv3qnIzHKc35BfS6R3zl8917gmsYAjR/9vU7nrGDNLf8k5VX/EZYr1k2NTiR4MgXXJJMBi0YgYEi4h0UTTktU4RekkuCkXvUHltlOLoNuK0fEcX7X3DSF60HQ5KmVo22neErFR2dB8aSyBQ8rA0QQzQ84/pmmcypv7wTZh1wl5ewbIdYzDd1J93N2PxcM097iBi0eJV2oGHsh2piJ3k75JsdzeTJsO2WpTU3HNfEGYeeADFL1s35QfjQZ5y6TCqS5Epc9ExH7ooj8zTtStH+WTtMtpOB5n59LUJBxq6dJZVrmoC5jWj9jdaONnEc03qdT55wWRxvyqhH6WZpjj6ar7YkQXk42lP0/Ux/NJ+FNaFGXUMOCm1MVK+ISf+4/x1XFgNXwdHYnbAnk+blhk0qmrHJJ0L6L4+ykoRz9NK1yqk9IXQ1aeHWY5Jnb7UuBFJFWQK5IAyXvn86PgpnEIB1TK3gPNhiJIrlhtKVfAcbl5iKazlbFx2TEq1lQ4OslrRJ20vgXFOCo06IrWp3iD9Jg5lFP4vq9qbuHrG5vfgSriwvlzrp2Nh2NQNUSaXxGeKkJj3kRjqt9SEKOHhup2sdht7JzprpeviTPy50cXNbMreHQ7oQlLczutzxBUnHUrS/2GjM48IVksy2BgC2lS8x57paxFurh1taOLLDY/Nub5hhOviY9I1ydHbg8IMdwZFCiopfz/otrT1Kc4+lfB9KjhogqVhLaQksBtrKpbxpZG5gtaNrMtCot4mExXDk4kE/NsX2rxydDGGL57VH/+4KfyaqR+Zb4VUOckkXa37vwYvxuFXvQjvWeb9qsCYdAGOuzJPXZAg9G r6dI7Y4Z +4fv7w4VfHJyt5FlzvoF1MBQwpBUxZqZDer/iYQq5sVvwh4810ygXJ28IOR0f4+wJxPunwOfbvzi7yIozDrsIzTj8q6mGCrXWL7iYgmfXDThHCUCW2107Gvrd/tOxDHFQNbtWyn1i4IAJvcq+8GFR4zB/sbwUi7+5KyDFHQKJ/F5JR7RDzlg3etEFadfI8onr/euZv2m+6QKk4kR1bYDCfAPm44OTkyUNiAJGdUacFHgk1Uosa5ZtWKVRUYc3JiiRXF1Ju3LC9FE+vFY54AekvxOcIkvp6M08GeIYF3y0mCKnOsFRD3ITJXSAcQQeQDD/1ZhfQvIUpcvzbg0TCZpnbHCKQGm6OxAzunl5VGtQ/OBQkMELMO98CwGMyEClsYGx8ZMfS+fKpLXXn5kJTsx5aqAE+B61K7H2feUznBORYq50RzFDTxGHAcf19/N5zdEkHv9b7GSs+plr56nzKDqCv0TzunXLqZS3oXAcLS/IZz2GiOXRaKJKO+a45OLRlhZtu6KcAF9XNH8RdI/S2Qu4xe2apA== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: --=_MailMate_74C351E6-48C1-42FF-9A9C-4ACD7EF1135C_= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable On 13 Sep 2023, at 16:12, Zi Yan wrote: > From: Zi Yan > > When dealing with hugetlb pages, manipulating struct page pointers > directly can get to wrong struct page, since struct page is not guarant= eed > to be contiguous on SPARSEMEM without VMEMMAP. Use nth_page() to handle= > it properly. > > Fixes: 57a196a58421 ("hugetlb: simplify hugetlb handling in follow_page= _mask") > Cc: > Signed-off-by: Zi Yan > Reviewed-by: Muchun Song > --- > mm/hugetlb.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/mm/hugetlb.c b/mm/hugetlb.c > index af74e83d92aa..8e68e6c53e66 100644 > --- a/mm/hugetlb.c > +++ b/mm/hugetlb.c > @@ -6469,7 +6469,7 @@ struct page *hugetlb_follow_page_mask(struct vm_a= rea_struct *vma, > } > } > > - page +=3D ((address & ~huge_page_mask(h)) >> PAGE_SHIFT); > + page =3D nth_page(page, ((address & ~huge_page_mask(h)) >> PAGE_SHIF= T)); > > /* > * Note that page may be a sub-page, and with vmemmap > -- = > 2.40.1 A wrong or non-existing page might be tried to be grabbed, either leading= to a non freeable page or kernel memory access errors. No bug is reported. It comes from code inspection. -- Best Regards, Yan, Zi --=_MailMate_74C351E6-48C1-42FF-9A9C-4ACD7EF1135C_= Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc -----BEGIN PGP SIGNATURE----- iQJDBAEBCgAtFiEE6rR4j8RuQ2XmaZol4n+egRQHKFQFAmUCbe8PHHppeUBudmlk aWEuY29tAAoJEOJ/noEUByhUW50P/0q0HmZLnLMGBOXlPnpTJwjbaMv+1xcVjt+P bemMuWmxqORchNyBXRed0jzkaDe/f/IFRt5Ft6BPV3iBH1/Km1c26xhhHI+RNvBu 2T5Yy598b8SZgB+LqCk4htj7GVjA9PSpolkEKHqKjcIRHn11EQDLpo+pAy1CvDPf lFRwNqBcIlWcd2pBGWuzZSghPRziY5l6qJOFk6QSC+tL22va3zx/YxWZtKNWWxuU 3zosiUMnlPtcCv9NCgjiOXsiEzz6STdwjCx+Ihp5p7+WT52ypI2i/s4tcXOzs9JW MVkfKeaniodnEIuZTsykMYuLqvsubi74eKOrO1NP0VwHCXrcsQiKfDlGmgAfqECL MzUx32wQtF2BiS5yL0qrMf7/W8eOWwWT4Pm2JwGUcmfCeRU153D9mGpIW6CtgzQE 7KzRhFqGM/VNnqGFjFrZnbaM3NyqzKI2p5QuXQ4EaV1mJFvDPOGG5UfgmkCA/VON B3b3El/nycroPSJKXvtLc7nyE5oKReBzkuwKgxm6Y7TTBH6tH+nR9dy6WuzZTiOv m66Xvl+xqf1M2CrzAD9Vzdsn3cpqlXiNPN+MfZQCnghDcElHgqlhyCkAX1eFynTv wKynwlIfS0bi+7XRNBWbW+/VA4hHURRn+CY2HkFVEQrbW7wQPp07r4Wu77BlNdl3 6RNqr8fr =I0h5 -----END PGP SIGNATURE----- --=_MailMate_74C351E6-48C1-42FF-9A9C-4ACD7EF1135C_=--