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 293EBECAAA1 for ; Tue, 6 Sep 2022 16:42:45 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id AF5B28D0002; Tue, 6 Sep 2022 12:42:44 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id AA5348D0001; Tue, 6 Sep 2022 12:42:44 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8D0898D0002; Tue, 6 Sep 2022 12:42:44 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 790498D0001 for ; Tue, 6 Sep 2022 12:42:44 -0400 (EDT) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 4CC431A1919 for ; Tue, 6 Sep 2022 16:42:44 +0000 (UTC) X-FDA: 79882229448.01.496F445 Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by imf04.hostedemail.com (Postfix) with ESMTP id 7A11940078 for ; Tue, 6 Sep 2022 16:42:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1662482562; x=1694018562; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=kCD9VUcklsXSEjIT/Dt/wN/uynh0GZKD91CzRLnH0/s=; b=WT4UIi0hledCj1grwXUK0AjclPoafBc8tibLNBMqe9YvQZ6rU8LWA0Jp EjwMeTD+khqQ8L5lMf+xdC9ln+WqE6SU/aEFq9CuVRoTtYBD9bUug9F7O Qbiz6a4svtBni+yWjZ/TAlIS1F/CUr+p52nV09TnCPP891A4Z+s6+82ja D2inVWdsjwV/99derIeMbBi0Lv2exTzep20W0dO8+DgIq+y++AXpkhonK 3cA0yrUR17vIMgg/0rmGtLeVNsSgZWR0JGygPirnwKFI8JVH1Wgsst+4O fNjvtixlLhm6KAZEOPrft4r+iPTf5Xjv9bt/KYRjtD8KfMFIvxWMuVQyg w==; X-IronPort-AV: E=McAfee;i="6500,9779,10462"; a="322821631" X-IronPort-AV: E=Sophos;i="5.93,294,1654585200"; d="scan'208";a="322821631" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Sep 2022 09:42:40 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.93,294,1654585200"; d="scan'208";a="703274030" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by FMSMGA003.fm.intel.com with ESMTP; 06 Sep 2022 09:42:40 -0700 Received: from orsmsx607.amr.corp.intel.com (10.22.229.20) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Tue, 6 Sep 2022 09:42:40 -0700 Received: from orsmsx602.amr.corp.intel.com (10.22.229.15) by ORSMSX607.amr.corp.intel.com (10.22.229.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Tue, 6 Sep 2022 09:42:40 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31 via Frontend Transport; Tue, 6 Sep 2022 09:42:40 -0700 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.108) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2375.31; Tue, 6 Sep 2022 09:42:39 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Of6e7X4KLXusYPSem2+YZCJg4shSEepjNB+Mpl3m6alJ7RYeHBz+9YqCBFH/Ofk/8wcN/t5rT2MsKAcltTQAeTso2ek5f+uXvnMKHgfHEmgA/9h/feB+1M2cazpq4YyVthRBQ+15YYc4mmypp4qVU55b2QvTiEBKL/UZ5/duN5SVkePSBNwNcQP1nFgAQf4mF4ztLuIgb7R5YwyHSZ/L16sbWX3Kj15vM1yYwzs1tAsm9/pggNJZ8kOG3aB9fE1+/fO8qPUXuRI1VacTh6HDCwPbg2ZuyI9fyPV8q0cdiBox4EpdtXo0bcQeadEYUToy9dPdiuLvDUfcpsE0tjX6mw== 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=kCD9VUcklsXSEjIT/Dt/wN/uynh0GZKD91CzRLnH0/s=; b=Aqq3aK5fRB9HKOU7DGxw3WpWlevLBYSIn9o0ht+zh8dLmv/RYdM/oJVSZELKXhHYrcTdYbhnTrFJ1jLstSLquSR0E5fx2qSSuElt8ev1n3vsJJPo/O4b4HXVID5IKQG+qA5OiQzkzfP03mtP52vRaWwoRb6Uz/ey/ryAsTZJdVjI/h5Sly07FHDForj6GASDTQCKCewJ8yf3HDg7JhXpqgUUDMlH0c3H5P+uhT3RyrhAapk1auJh8o65MAflEiPS6lNdnA+6/te1M7O5/tV/xef9HwIazI9f5wORK5c8gYMa7ULqLYCp1r50gv7VxMDsGdkZHsXm3l2dG1VUxPx2eQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from MWHPR11MB1392.namprd11.prod.outlook.com (2603:10b6:300:24::14) by DM5PR11MB2057.namprd11.prod.outlook.com (2603:10b6:3:d::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5588.10; Tue, 6 Sep 2022 16:42:33 +0000 Received: from MWHPR11MB1392.namprd11.prod.outlook.com ([fe80::48b7:53bf:e2d3:b61]) by MWHPR11MB1392.namprd11.prod.outlook.com ([fe80::48b7:53bf:e2d3:b61%5]) with mapi id 15.20.5588.017; Tue, 6 Sep 2022 16:42:32 +0000 From: "Edgecombe, Rick P" To: "pasha.tatashin@soleen.com" , "Huang, Shaoqin" CC: "linux-kernel@vger.kernel.org" , "linux-mm@kvack.org" , "akpm@linux-foundation.org" Subject: Re: [PATCH] mm: Check writable zero page in page table check Thread-Topic: [PATCH] mm: Check writable zero page in page table check Thread-Index: AQHYvyQZLcFou4NI1EGJsJ/5FmITGK3M9yUAgAScQICAAQ2jgA== Date: Tue, 6 Sep 2022 16:42:32 +0000 Message-ID: <20f231396dfcd9b5ac47e5ab5e5d177e1eaab3ec.camel@intel.com> References: <20220902232732.12358-1-rick.p.edgecombe@intel.com> <3d82deb6-357d-0b54-ffd1-dce157674aad@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: Evolution 3.28.5-0ubuntu0.18.04.2 x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: c2c7f527-ed94-4e67-ce02-08da9026cbc9 x-ms-traffictypediagnostic: DM5PR11MB2057:EE_ x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: A3XDGHpj0Jqw8P7Z2Bnb4dWZ+K5BNlaBH2hQzdFQCR64igPq45g4oPd2GVO7lO0Ngn3WqWwlTku6BSoYQCJKKJFvoof/sySSIwo17Ej1w3CIyMlZb3bxZW3E71D5Hd9BwQhc9miznffN5oxZ3Y+Fq5O3pF55UpNoIbwqDC4iQA5PLjTonWpkJ9LloZ5M1sTL2YOQ+o+ZVcJbDmtMdOuRfN6FRs5wp8U7dQzouWjwh/aaZ7WnS8tK/+aXVmMUeG3IXo6BPvIUXE8havOf3RvpCtHRxDRtLrkPm2FuaCQjCIxTc0bSAT6oSfJ4e1p3l1XIt/HewvP3Td1mKotk/SVVIlJI/altMgutiQlZNgB0MkRsXCMlaWz8OY26OrdynSGRj4w5eEIP9K7GakD58m2OfH6fh3W8ocOuCbcaEBTZYqBk/J6qj3AoximEE3ekiEEyEkUjSJ+ZlgIbejPSMcO9PocAs8ACrIXRfaOPjvCkjg+Fsw21jKtjM2PlkeW5I6ZFLpYjaVqZntRiZQJfCsAqFmH1d6a5+i2jDl4d1Nhqx7oLEF/Jt/OqmVIWN8DcUWjq/7rWjSqiRhiCqhZUIe0hAg3vG5kdCPur4ENYnfxNAh3VCNQUtqJR3qI9YPcyvcHlAkTpbv7JBzYRYSUn1l/puW8Eg+z1v3Ia5HARXUEQmCZa/yiv6JPejZcW5tEqTIFJq3GLwEdVr8LPnk9wO6gStawIlaeU65SK45/zSeAaRhjIwh3YvODQryucZpgtD4J5zrw3dQpw3bvQfBPlnjE+h7lUMhBr36YLstxyWUkyPaI= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MWHPR11MB1392.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(39860400002)(136003)(376002)(366004)(396003)(346002)(66476007)(4326008)(83380400001)(66446008)(66946007)(8676002)(64756008)(91956017)(76116006)(8936002)(5660300002)(41300700001)(66556008)(478600001)(6506007)(26005)(6486002)(71200400001)(6512007)(186003)(2616005)(316002)(110136005)(6636002)(82960400001)(86362001)(54906003)(38100700002)(36756003)(2906002)(122000001)(38070700005)(99106002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?YkIrM2p1eFEvclpzZjhKeE1ydW9qZEJYYUJhU3FVM3cxTEZIWlZBdFZLZkFz?= =?utf-8?B?TFliOWYvOXdwQVJPM1E0OE9IenkvR1F2dXRLdUhyMFhJUDBCL1NRZUpkdUZl?= =?utf-8?B?UGFNL0RPeFlZL3dmbW1VVHlYZVFiQ05PRmNmZ1l2Mm5oenFvSUw1a3RuZkpi?= =?utf-8?B?WlFnYjlXZkpnWFBIOUhEUFJydlFpSlE0RDJOb2ZYWTZyMUpyZ0doZUZVV0JJ?= =?utf-8?B?Zk5wakp1L0ExcmxSMmNXckRHVWVjY1VmdS9xVmQ5cnJYRkFtRHJMNFJTcTlv?= =?utf-8?B?VEQrdGxnM2lxWFk5UUprcGpwT1MwL0JaaDVZb294Z0kvbFlvRzlxUmx6Skhy?= =?utf-8?B?aEN5eFBWc3phYmJQYTNvQkR5aTFDWUxRVlhxR053N2dVUkJMUHdQWkxoRzk0?= =?utf-8?B?TS9ramsrVnVaenV4ZExDMXVZa21ZR2JBNjhhUklhaHJBd2ZMUDhMcFh2aWRp?= =?utf-8?B?ODcycGtISi8rbFlSaG9CVStNNFhNNXFUQmRJVk9qU2VXOVFmSC9Kd0dkYktU?= =?utf-8?B?c3hleHVzbHY2aGNSOStzb1A1VDN6bVRjUGhpSHBUQnZVNnVVdmxMc1RzaDYz?= =?utf-8?B?NS9hTDZLL3pMSWxCWnMzZW13aWE1SVlOeFNPUk5zTWsrVmkyMkNOUldBMjdy?= =?utf-8?B?SVhwQ0VoK2R4dlQyb0VReEFuWW1iY0UwLzJmbkpZQllpWFR2SUw2NHcwby9S?= =?utf-8?B?N1B0MDFWT3MxdkwxeFpiQnhxMHA3YkgwT2FJUndaRjNNcXMrUEhvUmx5bDlL?= =?utf-8?B?QkU3VnJNTW9CcTg1N0wzbGU0dHNCcS8zRzNFSDVDc3lVODVXL09BK1JGQ3JR?= =?utf-8?B?MURaeVB2c0UvRFNzYUJQcCtPZUJqWjduRDJxRFJTWHFiaE4yYks2ZHRCV3gy?= =?utf-8?B?T3BzTERCTDhLQld3c0NXWXZjV01xd0lSRWszNmVZVVRnODh0aHVkcGg5ZlpO?= =?utf-8?B?cXE4aTN5M2c3aFdmR0RqcS8rQU4rUEFXbExSVkNZa00ySk9pYTR2U3lZbXla?= =?utf-8?B?QTJmVkZEaEVPMVk5Q21oaEc3STBwY3dNVjJkUmFCZktOeTZEdllWek8vck9U?= =?utf-8?B?MDlMaDFIbi94aWtUUEYrOFR6R0ZHYWhvNTNmc2dHMnFucnFTTEVPbGtuZ1RB?= =?utf-8?B?R0QyZWtMSXdmN3lKQTc2Wm5taElHQUliUEI2U2J5VVVWaXppT2N5NzRMNXNO?= =?utf-8?B?c1NCaW8zbUVoNFErY1g0VzdseUEvK3NSZzFoeGhDZkcxaXBrelVVMUdQNVZV?= =?utf-8?B?ckpZSTJsb0FmNFR5Ym9qZXF3czNQMTlUWFRHNld3NTlGT0hqQkg1OHU3Q09M?= =?utf-8?B?bng2M3AraGNsN0liUkdhYWRmdUxKUWZ1L0hLd3JlRnQwdXZPSmVsd2VrNzh5?= =?utf-8?B?Sld3R2tVY01pUS9QYVNadkNoRExvekZNTStvVm42RVgvUHJOeHBtMFJhN0Uz?= =?utf-8?B?K3pEaEdxb1BYREJ0R3hEdFBoS0p0NWhvbmVUVVNvYVUrMFB6eWt6MWRDbjNi?= =?utf-8?B?S2MzRzlOd3JqZGluRHllRVQvV2tWbVlnRW1nZ3ZkcnZ2MGNvanhSanZWS0xI?= =?utf-8?B?WjZtUGt5bC9LbFE4b0h1RTVKa2J0UUpjR3FIcE9WR0tuUFgvK0NPdGNkck9u?= =?utf-8?B?YitBVkxrV3dTUlUzTzBxYlRhMDhxMUNYRW5OM2JhR1JBZ0FrdVpmVk1KQ2FK?= =?utf-8?B?OTM3SVVkWHFLZ1FzTDBPZUpicm9oTDJmaVpISG5RZEI5RGtweTlxVjhLUDRm?= =?utf-8?B?MEhxalhrdVZQT093MkdVeHIwbW9Ec1dZMGRHdEx6d2cxOEZybVA1bW50a2pL?= =?utf-8?B?OHZ4QWMwWnZ1d2Zoa0xtTDFJYzYyYVZhcExaa3hrTnM2Y3RzekdrdnZPWm10?= =?utf-8?B?UDI5clRDMVhMVjAwMEhpN0k4VjRuelV1TnpXbC9CbmpxS0VMN05OdWxVaUVm?= =?utf-8?B?WGRqYzBlTWUwbzFjNlhLbWhZbWloUG1ScDNsbGpaTnhxMjM4VHlnSDlLOXVW?= =?utf-8?B?dnlkMXpmeU1BazZ4M2sxNnRxMXhLRWJidGZvaWRET0RvOHNnek5XSjNSaWxY?= =?utf-8?B?VDEwY3NDa0Z4L2k4T2VpZlJpd21jY3Q0WlVjMnI4N0tZQ085SkZualgwMkdh?= =?utf-8?B?LzZPaW5hWTUzby9teDloT2habHB0dG9SUC8xcmpjcDZFb1lnVjduZGZsblln?= =?utf-8?Q?98GUaQW6Szw2qtowlnieZrw=3D?= Content-Type: text/plain; charset="utf-8" Content-ID: <6A56B330F466954895DB89B083F36DF2@namprd11.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MWHPR11MB1392.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: c2c7f527-ed94-4e67-ce02-08da9026cbc9 X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Sep 2022 16:42:32.8503 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: TWm3Vpqm9i4S5ap8ovK3y7ot+mcnZ++eXh5VWEzJK9JHdRAf4RjAA6FRqW94yP0OmKctjocBiq4DYtRu1JcpZ//y74SE/O5G8d7DSvhKajI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR11MB2057 X-OriginatorOrg: intel.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1662482563; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=kCD9VUcklsXSEjIT/Dt/wN/uynh0GZKD91CzRLnH0/s=; b=dsHBZMsYd83/xX6BgYNLmVE5ah4PZjCmIFXfXrPdinlgOlezUj90u9Zi+HXhWx7+ixT3rf GT55sGbMVdxus3MDM6AwOUrq8qD+jq3j8MngHtxBlZ311J/qP0HUqoEtWv9knLoxWLDnXp yEmmrYla1FJf2WlYtdT4DrHAyCHaOjQ= ARC-Authentication-Results: i=2; imf04.hostedemail.com; dkim=none ("invalid DKIM record") header.d=intel.com header.s=Intel header.b=WT4UIi0h; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf04.hostedemail.com: domain of rick.p.edgecombe@intel.com designates 192.55.52.88 as permitted sender) smtp.mailfrom=rick.p.edgecombe@intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1662482563; a=rsa-sha256; cv=pass; b=RacIce7pnjPBst8ZET47LxG7+eTyak4am5EauvEQKSOwHnent3ZDY+d8NDQRPvfR7wEbyF mEEgasIIy4HsOINt0a/Ko/XKu/OC8BTO4DGAMf2UZMOf0tlWr55lVBTJURhhW6O7haLiYi Z2gYdJx0OD0jIXZ9XrpLznXM0JxYrvU= X-Rspamd-Queue-Id: 7A11940078 Authentication-Results: imf04.hostedemail.com; dkim=none ("invalid DKIM record") header.d=intel.com header.s=Intel header.b=WT4UIi0h; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf04.hostedemail.com: domain of rick.p.edgecombe@intel.com designates 192.55.52.88 as permitted sender) smtp.mailfrom=rick.p.edgecombe@intel.com; dmarc=pass (policy=none) header.from=intel.com X-Rspamd-Server: rspam02 X-Rspam-User: X-Stat-Signature: ngdoe6cwzjft4hufazhr7f73hsyifh3b X-HE-Tag: 1662482562-475891 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: T24gTW9uLCAyMDIyLTA5LTA1IGF0IDIwOjM3IC0wNDAwLCBQYXNoYSBUYXRhc2hpbiB3cm90ZToN Cj4gVGhlIGlkZWEgYmVoaW5kIHBhZ2UgdGFibGUgY2hlY2sgaXMgdG8gcHJldmVudCBzb21lIHR5 cGVzIG9mIG1lbW9yeQ0KPiBjb3JydXB0aW9uczogaS5lLiBwcmV2ZW50IGZhbHNlIHBhZ2Ugc2hh cmluZywgYW5kIG1lbW9yeSBsZWFraW5nDQo+IGJldHdlZW4gYWRkcmVzcyBzcGFjZXMuIFRoaXMg aXMgYW4gb3B0aW9uYWwgc2VjdXJpdHkgZmVhdHVyZSBmb3INCj4gc2V0dXBzIHdoZXJlIGl0IGlz IG1vcmUgZGFuZ2Vyb3VzIHRvIGxlYWsgZGF0YSB0aGFuIHRvIGNyYXNoIHRoZQ0KPiBtYWNoaW5l LiBUaGVyZWZvcmUsIHdoZW4gcGFnZSB0YWJsZSBjaGVjayBkZXRlY3RzIGlsbGVnYWwgcGFnZQ0K PiBzaGFyaW5nDQo+IGl0IGltbWVkaWF0ZWx5IGNyYXNoZXMgdGhlIGtlcm5lbC4gSSB0aGluayB3 ZSBjYW4gaGF2ZSBhDQo+IHBhZ2VfdGFibGVfY2hlY2sgb3B0aW9uIHRoYXQgd291bGQgY2hhbmdl IEJVR19PTiB0byBXQVJOX09OKCkgKG9yIHRvDQo+IFdBUk5fT05fT05DRSgpLCBzaW5jZSBvbmNl IGNvcnJ1cHRpb24gaXMgZGV0ZWN0ZWQgSSBiZWxpZXZlIGl0IG1pZ2h0DQo+IHNob3cgdXAgbWFu eSB0aW1lcyBhZ2FpbikNCg0KRG8geW91IHRoaW5rIHRoZXJlIGFyZSBhIGxvdCBvZiBwZW9wbGUg dGhhdCB3b3VsZCB3YW50IHRvIHNldCBwYWdlDQp0YWJsZSBjaGVjayB0byBCVUdfT04gbW9kZSwg dGhhdCB3b3VsZG4ndCBhbHJlYWR5IGJlIHNldHRpbmcNCnBhbmljX29uX3dhcm4/DQoNCkkgZGlk bid0IHJlYWxpemUgcGFnZSB0YWJsZSBjaGVjayB3YXMgbWVhbnQgdG8gYmUgYSBzZWN1cml0eSBm ZWF0dXJlIGFzDQp3ZWxsLiBJIHRob3VnaHQgaXQgd2FzIG1vcmUgb2YgYSBkZWJ1ZyB0aW1lIGNo ZWNrZXIuDQoNCkxvb2tpbmcgdGhyb3VnaCBtb3JlIHJlbGF0ZWQgZGlzY3Vzc2lvbnMsIHRoZXJl IHNlZW1zIHRvIGJlIGEgc3Ryb25nDQphdmVyc2lvbiB0byAiY3Jhc2ggdGhlIGtlcm5lbCIgZmVh dHVyZXMuIEVzcGVjaWFsbHkgaWYgdGhleSBhcmUgbWVhbnQNCnRvIHJ1biBpbiBhIG5vbi10ZXN0 aW5nIGNvbnRleHQuDQo=