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 X-Spam-Level: X-Spam-Status: No, score=-3.8 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id A7A73C433DB for ; Thu, 11 Feb 2021 11:27:21 +0000 (UTC) Received: from ml01.01.org (ml01.01.org [198.145.21.10]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 2AB39601FF for ; Thu, 11 Feb 2021 11:27:21 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 2AB39601FF Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-nvdimm-bounces@lists.01.org Received: from ml01.vlan13.01.org (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id 01C58100EA2A0; Thu, 11 Feb 2021 03:27:21 -0800 (PST) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=198.145.29.99; helo=mail.kernel.org; envelope-from=rppt@kernel.org; receiver= Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id A783C100EA93D for ; Thu, 11 Feb 2021 03:27:17 -0800 (PST) Received: by mail.kernel.org (Postfix) with ESMTPSA id 418C664E26; Thu, 11 Feb 2021 11:27:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1613042837; bh=opUcWXi7xUrvrbmjoDXPB2U6cbnKyKBkuV2eGoN2RQ0=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=A5/jbbX3iRUf/Jtm1xCh7A2cWOvkK3kzDtdhjuXDmdNdtTGER2HK1BFbOMjDHidEz SSAvvaYro9hQ+4UOj7rZChw3GBiogzmiN+96ZwTf8KpbmHjppkBqlpNOGx1+GYSKnW iiIhy5VQwzOPRd5nhGKpZX9Mb+eGqJHBo98bQp3LuQGfqZdzRYf/BQyRJyHvb6rQIR vf9QchKbM0VCUg7uK5ktt19qAUj7CPyDJjv4a7QDFu0SNwMWyc8ZvtWr5Inmu5RJdS kK6a/mH5rwOREuKbaRyEGTNNkx6bq86w3omRuJcmAk5yyZCS72ObmTWwCdBPlR5ydV SRb+HO2Qsif8g== Date: Thu, 11 Feb 2021 13:27:02 +0200 From: Mike Rapoport To: David Hildenbrand Subject: Re: [PATCH v17 07/10] mm: introduce memfd_secret system call to create "secret" memory areas Message-ID: <20210211112702.GI242749@kernel.org> References: <20210208084920.2884-1-rppt@kernel.org> <20210208084920.2884-8-rppt@kernel.org> <20210208212605.GX242749@kernel.org> <20210209090938.GP299309@linux.ibm.com> <20210211071319.GF242749@kernel.org> <0d66baec-1898-987b-7eaf-68a015c027ff@redhat.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <0d66baec-1898-987b-7eaf-68a015c027ff@redhat.com> Message-ID-Hash: IS3RBPB75SZ7S6VOOANTQ3OABXIXZKFX X-Message-ID-Hash: IS3RBPB75SZ7S6VOOANTQ3OABXIXZKFX X-MailFrom: rppt@kernel.org X-Mailman-Rule-Hits: nonmember-moderation X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation CC: Michal Hocko , Mike Rapoport , Andrew Morton , Alexander Viro , Andy Lutomirski , Arnd Bergmann , Borislav Petkov , Catalin Marinas , Christopher Lameter , Dave Hansen , Elena Reshetova , "H. Peter Anvin" , Ingo Molnar , James Bottomley , "Kirill A. Shutemov" , Matthew Wilcox , Mark Rutland , Michael Kerrisk , Palmer Dabbelt , Paul Walmsley , Peter Zijlstra , Rick Edgecombe , Roman Gushchin , Shakeel Butt , Shuah Khan , Thomas Gleixner , Tycho Anders en , Will Deacon , linux-api@vger.kernel.org, linux-arch@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-nvdimm@lists.01.org, linux-riscv@lists.infradead.org, x86@kernel.org, Hagen Paul Pfeifer , Palmer Dabbelt X-Mailman-Version: 3.1.1 Precedence: list List-Id: "Linux-nvdimm developer list." Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 T24gVGh1LCBGZWIgMTEsIDIwMjEgYXQgMTA6MDE6MzJBTSArMDEwMCwgRGF2aWQgSGlsZGVuYnJh bmQgd3JvdGU6DQo+IE9uIDExLjAyLjIxIDA5OjM5LCBNaWNoYWwgSG9ja28gd3JvdGU6DQo+ID4g T24gVGh1IDExLTAyLTIxIDA5OjEzOjE5LCBNaWtlIFJhcG9wb3J0IHdyb3RlOg0KPiA+ID4gT24g VHVlLCBGZWIgMDksIDIwMjEgYXQgMDI6MTc6MTFQTSArMDEwMCwgTWljaGFsIEhvY2tvIHdyb3Rl Og0KPiA+ID4gPiBPbiBUdWUgMDktMDItMjEgMTE6MDk6MzgsIE1pa2UgUmFwb3BvcnQgd3JvdGU6 DQo+ID4gWy4uLl0NCj4gPiA+ID4gPiBDaXRpbmcgbXkgb2xkZXIgZW1haWw6DQo+ID4gPiA+ID4g DQo+ID4gPiA+ID4gICAgICBJJ3ZlIGhlc2l0YXRlZCB3aGV0aGVyIHRvIGNvbnRpbnVlIHRvIHVz ZSBuZXcgZmxhZ3MgdG8gbWVtZmRfY3JlYXRlKCkgb3IgdG8NCj4gPiA+ID4gPiAgICAgIGFkZCBh IG5ldyBzeXN0ZW0gY2FsbCBhbmQgSSd2ZSBkZWNpZGVkIHRvIHVzZSBhIG5ldyBzeXN0ZW0gY2Fs bCBhZnRlciBJJ3ZlDQo+ID4gPiA+ID4gICAgICBzdGFydGVkIHRvIGxvb2sgaW50byBtYW4gcGFn ZXMgdXBkYXRlLiBUaGVyZSB3b3VsZCBoYXZlIGJlZW4gdHdvIGNvbXBsZXRlbHkNCj4gPiA+ID4g PiAgICAgIGluZGVwZW5kZW50IGRlc2NyaXB0aW9ucyBhbmQgSSB0aGluayBpdCB3b3VsZCBoYXZl IGJlZW4gdmVyeSBjb25mdXNpbmcuDQo+ID4gPiA+IA0KPiA+ID4gPiBDb3VsZCB5b3UgZWxhYm9y YXRlPyBVbm1hcHBpbmcgZnJvbSB0aGUga2VybmVsIGFkZHJlc3Mgc3BhY2UgY2FuIHdvcmsNCj4g PiA+ID4gYm90aCBmb3Igc2VhbGVkIG9yIGh1Z2V0bGIgbWVtZmRzLCBubz8gVGhvc2UgZmVhdHVy ZXMgYXJlIGNvbXBsZXRlbHkNCj4gPiA+ID4gb3J0aG9nb25hbCBBRkFJQ1MuIFdpdGggYSBkZWRp Y2F0ZWQgc3lzY2FsbCB5b3Ugd2lsbCBuZWVkIHRvIGludHJvZHVjZQ0KPiA+ID4gPiB0aGlzIGZ1 bmN0aW9uYWxpdHkgb24gdG9wIGlmIHRoYXQgaXMgcmVxdWlyZWQuIEhhdmUgeW91IGNvbnNpZGVy ZWQgdGhhdD8NCj4gPiA+ID4gSSBtZWFuIGh1Z2V0bGIgcGFnZXMgYXJlIHVzZWQgdG8gYmFjayBn dWVzdCBtZW1vcnkgdmVyeSBvZnRlbi4gSXMgdGhpcw0KPiA+ID4gPiBzb21ldGhpbmcgdGhhdCB3 aWxsIGJlIGEgc2VjcmV0IG1lbW9yeSB1c2VjYXNlPw0KPiA+ID4gPiANCj4gPiA+ID4gUGxlYXNl IGJlIHJlYWxseSBzcGVjaWZpYyB3aGVuIGdpdmluZyBhcmd1bWVudHMgdG8gYmFjayBhIG5ldyBz eXNjYWxsDQo+ID4gPiA+IGRlY2lzaW9uLg0KPiA+ID4gDQo+ID4gPiBJc24ndCAic3lzY2FsbHMg aGF2ZSBjb21wbGV0ZWx5IGluZGVwZW5kZW50IGRlc2NyaXB0aW9uIiBzcGVjaWZpYyBlbm91Z2g/ DQo+ID4gDQo+ID4gTm8sIGl0J3Mgbm90IGFzIHlvdSBjYW4gc2VlIGZyb20gcXVlc3Rpb25zIEkn dmUgaGFkIGFib3ZlLiBNb3JlIG9uIHRoYXQNCj4gPiBiZWxvdy4NCj4gPiANCj4gPiA+IFdlIGFy ZSB0YWxraW5nIGFib3V0IEFQSSBoZXJlLCBub3QgdGhlIGltcGxlbWVudGF0aW9uIGRldGFpbHMg d2hldGhlcg0KPiA+ID4gc2VjcmV0bWVtIHN1cHBvcnRzIGxhcmdlIHBhZ2VzIG9yIG5vdC4NCj4g PiA+IA0KPiA+ID4gVGhlIHB1cnBvc2Ugb2YgbWVtZmRfY3JlYXRlKCkgaXMgdG8gY3JlYXRlIGEg ZmlsZS1saWtlIGFjY2VzcyB0byBtZW1vcnkuDQo+ID4gPiBUaGUgcHVycG9zZSBvZiBtZW1mZF9z ZWNyZXQoKSBpcyB0byBjcmVhdGUgYSB3YXkgdG8gYWNjZXNzIG1lbW9yeSBoaWRkZW4NCj4gPiA+ IGZyb20gdGhlIGtlcm5lbC4NCj4gPiA+IA0KPiA+ID4gSSBkb24ndCB0aGluayBvdmVybG9hZGlu ZyBtZW1mZF9jcmVhdGUoKSB3aXRoIHRoZSBzZWNyZXRtZW0gZmxhZ3MgYmVjYXVzZQ0KPiA+ID4g dGhleSBoYXBwZW4gdG8gcmV0dXJuIGEgZmlsZSBkZXNjcmlwdG9yIHdpbGwgYmUgYmV0dGVyIGZv ciB1c2VycywgYnV0DQo+ID4gPiByYXRoZXIgd2lsbCBiZSBtb3JlIGNvbmZ1c2luZy4NCj4gPiAN Cj4gPiBUaGlzIGlzIHF1aXRlIGEgc3ViamVjdGl2ZSBjb25jbHVzaW9uLiBJIGNvdWxkIHZlcnkg d2VsbCBhcmd1ZSB0aGF0IGl0DQo+ID4gd291bGQgYmUgbXVjaCBiZXR0ZXIgdG8gaGF2ZSBhIHNp bmdsZSBzeXNjYWxsIHRvIGdldCBhIGZkIGJhY2tlZCBtZW1vcnkNCj4gPiB3aXRoIHNwZWRpZmlj IHJlcXVpcmVtZW50cyAoc2VhbGluZywgdW5tYXBwaW5nIGZyb20gdGhlIGtlcm5lbCBhZGRyZXNz DQo+ID4gc3BhY2UpLiBOZWl0aGVyIG9mIHVzIHdvdWxkIGJlIGNsZWFybHkgcmlnaHQgb3Igd3Jv bmcuIEEgbW9yZSBpbXBvcnRhbnQNCj4gPiBwb2ludCBpcyBhIGZ1dHVyZSBleHRlbnNpYmlsaXR5 IGFuZCB1c2FiaWxpdHksIHRob3VnaC4gU28gbGV0J3MganVzdA0KPiA+IHRoaW5rIG9mIGZldyB1 c2VjYXNlcyBJIGhhdmUgb3V0bGluZWQgYWJvdmUuIElzIGl0IHVucmVhbGlzdGljIHRvIGV4cGVj dA0KPiA+IHRoYXQgc2VjcmV0IG1lbW9yeSBzaG91bGQgYmUgc2VhbGFibGU/IFdoYXQgYWJvdXQg aHVnZXRsYj8gQmVjYXVzZSBpZg0KPiA+IHRoZSBhbnN3ZXIgaXMgbm8gdGhlbiBhIG5ldyBBUEkg aXMgYSBjbGVhciB3aW4gYXMgdGhlIGNvbWJpbmF0aW9uIG9mDQo+ID4gZmxhZ3Mgd291bGQgbmV2 ZXIgd29yayBhbmQgdGhlbiB3ZSB3b3VsZCBqdXN0IHN1ZmZlciBmcm9tIHRoZSBzeXNjYWxsDQo+ ID4gbXVsdGlwbGV4aW5nIHdpdGhvdXQgbXVjaCBnYWluLiBPbiB0aGUgb3RoZXIgaGFuZCBpZiBj b21iaW5hdGlvbiBvZiB0aGUNCj4gPiBmdW5jdGlvbmFsaXR5IGlzIHRvIGJlIGV4cGVjdGVkIHRo ZW4geW91IHdpbGwgaGF2ZSB0byBqYW0gaXQgaW50bw0KPiA+IG1lbWZkX2NyZWF0ZSBhbmQgY29w eSB0aGUgaW50ZXJmYWNlIGxpa2VseSBjYXVzaW5nIG1vcmUgY29uZnVzaW9uLiBTZWUNCj4gPiB3 aGF0IEkgbWVhbj8NCj4gPiANCj4gPiBJIGJ5IG5vIG1lYW5zIGRvIG5vdCBpbnNpc3Qgb25lIHdh eSBvciB0aGUgb3RoZXIgYnV0IGZyb20gd2hhdCBJIGhhdmUNCj4gPiBzZWVuIHNvIGZhciBJIGhh dmUgYSBmZWVsaW5nIHRoYXQgdGhlIGludGVyZmFjZSBoYXNuJ3QgYmVlbiB0aG91Z2h0DQo+ID4g dGhyb3VnaCBlbm91Z2guIFN1cmUgeW91IGhhdmUgbGFuZGVkIHdpdGggZmQgYmFzZWQgYXBwcm9h Y2ggYW5kIHRoYXQNCj4gPiBzZWVtcyBmYWlyLiBCdXQgaG93IHRvIGdldCB0aGF0IGZkIHNlZW1z IHRvIHN0aWxsIGhhdmUgc29tZSBnYXBzIElNSE8uDQo+ID4gDQo+IA0KPiBJIGFncmVlIHdpdGgg TWljaGFsLiBUaGlzIGhhcyBiZWVuIHJhaXNlZCBieSBkaWZmZXJlbnQNCj4gcGVvcGxlIGFscmVh ZHksIGluY2x1ZGluZyBvbiBMV04gKGh0dHBzOi8vbHduLm5ldC9BcnRpY2xlcy84MzUzNDIvKS4N Cj4gDQo+IEkgY2FuIGZvbGxvdyBNaWtlJ3MgcmVhc29uaW5nIChtYW4gcGFnZSksIGFuZCBJIGFt IGFsc28gZmluZSBpZiB0aGVyZSBpcw0KPiBhIHZhbGlkIHJlYXNvbi4gSG93ZXZlciwgSU1ITyB0 aGUgYmFzaWMgZGVzY3JpcHRpb24gc2VlbXMgdG8gbWF0Y2ggcXVpdGUgZ29vZDoNCj4gDQo+ICAg ICAgICBtZW1mZF9jcmVhdGUoKSBjcmVhdGVzIGFuIGFub255bW91cyBmaWxlIGFuZCByZXR1cm5z IGEgZmlsZSBkZXNjcmlwdG9yIHRoYXQgcmVmZXJzIHRvIGl0LiAgVGhlDQo+ICAgICAgICBmaWxl IGJlaGF2ZXMgbGlrZSBhIHJlZ3VsYXIgZmlsZSwgYW5kIHNvIGNhbiBiZSBtb2RpZmllZCwgdHJ1 bmNhdGVkLCBtZW1vcnktbWFwcGVkLCBhbmQgc28gb24uDQo+ICAgICAgICBIb3dldmVyLCAgdW5s aWtlIGEgcmVndWxhciBmaWxlLCBpdCBsaXZlcyBpbiBSQU0gYW5kIGhhcyBhIHZvbGF0aWxlIGJh Y2tpbmcgc3RvcmFnZS4gIE9uY2UgYWxsDQo+ICAgICAgICByZWZlcmVuY2VzIHRvIHRoZSBmaWxl IGFyZSBkcm9wcGVkLCBpdCBpcyBhdXRvbWF0aWNhbGx5IHJlbGVhc2VkLiAgQW5vbnltb3VzICBt ZW1vcnkgIGlzICB1c2VkDQo+ICAgICAgICBmb3IgIGFsbCAgYmFja2luZyBwYWdlcyBvZiB0aGUg ZmlsZS4gIFRoZXJlZm9yZSwgZmlsZXMgY3JlYXRlZCBieSBtZW1mZF9jcmVhdGUoKSBoYXZlIHRo ZSBzYW1lDQo+ICAgICAgICBzZW1hbnRpY3MgYXMgb3RoZXIgYW5vbnltb3VzIG1lbW9yeSBhbGxv Y2F0aW9ucyBzdWNoIGFzIHRob3NlIGFsbG9jYXRlZCB1c2luZyBtbWFwKDIpIHdpdGggdGhlDQo+ ICAgICAgICBNQVBfQU5PTllNT1VTIGZsYWcuDQoNCkV2ZW4gZGVzcGl0ZSBteSBsYXppbmVzcyBh bmQgaHVnZSBhbW91bnQgb2YgY29weS1wYXN0ZSB5b3UgY2FuIHNwb3QgdGhlDQpkaWZmZXJlbmNl cyAodGhpcyBpcyBhIHZlcnkgb2xkIHZlcnNpb24sIHVwZGF0ZSBpcyBkdWUpOg0KDQogICAgICAg bWVtZmRfc2VjcmV0KCkgIGNyZWF0ZXMgYW4gYW5vbnltb3VzIGZpbGUgYW5kIHJldHVybnMgYSBm aWxlIGRlc2NyaXB0b3INCiAgICAgICB0aGF0IHJlZmVycyB0byBpdC4gIFRoZSBmaWxlIGNhbiBv bmx5IGJlIG1lbW9yeS1tYXBwZWQ7IHRoZSAgbWVtb3J5ICBpbg0KICAgICAgIHN1Y2ggIG1hcHBp bmcgIHdpbGwgIGhhdmUgIHN0cm9uZ2VyIHByb3RlY3Rpb24gdGhhbiB1c3VhbCBtZW1vcnkgbWFw cGVkDQogICAgICAgZmlsZXMsIGFuZCBzbyBpdCBjYW4gYmUgdXNlZCB0byBzdG9yZSBhcHBsaWNh dGlvbiAgc2VjcmV0cy4gICBVbmxpa2UgIGENCiAgICAgICByZWd1bGFyIGZpbGUsIGEgZmlsZSBj cmVhdGVkIHdpdGggbWVtZmRfc2VjcmV0KCkgbGl2ZXMgaW4gUkFNIGFuZCBoYXMgYQ0KICAgICAg IHZvbGF0aWxlIGJhY2tpbmcgc3RvcmFnZS4gIE9uY2UgYWxsIHJlZmVyZW5jZXMgdG8gdGhlIGZp bGUgYXJlIGRyb3BwZWQsDQogICAgICAgaXQgIGlzICBhdXRvbWF0aWNhbGx5IHJlbGVhc2VkLiAg VGhlIGluaXRpYWwgc2l6ZSBvZiB0aGUgZmlsZSBpcyBzZXQgdG8NCiAgICAgICAwLiAgRm9sbG93 aW5nIHRoZSBjYWxsLCB0aGUgZmlsZSBzaXplIHNob3VsZCBiZSBzZXQgdXNpbmcgZnRydW5jYXRl KDIpLg0KDQogICAgICAgVGhlIG1lbW9yeSBhcmVhcyBvYnRhaW5lZCB3aXRoIG1tYXAoMikgZnJv bSB0aGUgZmlsZSBkZXNjcmlwdG9yIGFyZSBleOKAkA0KICAgICAgIGNsdXNpdmUgdG8gdGhlIG93 bmluZyBjb250ZXh0LiAgVGhlc2UgYXJlYXMgYXJlIHJlbW92ZWQgZnJvbSB0aGUga2VybmVsDQog ICAgICAgcGFnZSB0YWJsZXMgYW5kIG9ubHkgdGhlIHBhZ2UgdGFibGUgb2YgdGhlIHByb2Nlc3Mg aG9sZGluZyB0aGUgZmlsZSBkZeKAkA0KICAgICAgIHNjcmlwdG9yIG1hcHMgdGhlIGNvcnJlc3Bv bmRpbmcgcGh5c2ljYWwgbWVtb3J5Lg0KIA0KPiBBRkFJS1MsIHdlIHdvdWxkIG5lZWQgTUZEX1NF Q1JFVCBhbmQgZGlzYWxsb3cNCj4gTUZEX0FMTE9XX1NFQUxJTkcgYW5kIE1GRF9IVUdFVExCLg0K DQpTbyBoZXJlIHdlIHN0YXJ0IHRvIG11bHRpcGxleC4NCg0KPiBJbiBhZGRpdGlvbiwgd2UgY291 bGQgYWRkIE1GRF9TRUNSRVRfTkVWRVJfTUFQLCB3aGljaCBjb3VsZCBkaXNhbGxvdyBhbnkga2lu ZCBvZg0KPiB0ZW1wb3JhcnkgbWFwcGluZ3MgKGVvciBtaWdyYXRpb24pLiBUQkMuDQoNCk5ldmVy IG1hcCBpcyB0aGUgZGVmYXVsdC4gV2hlbiB3ZSdsbCBuZWVkIHRvIG1hcCB3ZSdsbCBhZGQgYW4g ZXhwbGljaXQgZmxhZw0KZm9yIGl0Lg0KDQotLSANClNpbmNlcmVseSB5b3VycywNCk1pa2UuCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkxpbnV4LW52ZGlt bSBtYWlsaW5nIGxpc3QgLS0gbGludXgtbnZkaW1tQGxpc3RzLjAxLm9yZwpUbyB1bnN1YnNjcmli ZSBzZW5kIGFuIGVtYWlsIHRvIGxpbnV4LW52ZGltbS1sZWF2ZUBsaXN0cy4wMS5vcmcK 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 X-Spam-Level: X-Spam-Status: No, score=-6.6 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id DFB03C433E0 for ; Thu, 11 Feb 2021 11:53:42 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 96A0D64E6F for ; Thu, 11 Feb 2021 11:53:42 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231681AbhBKLw6 (ORCPT ); Thu, 11 Feb 2021 06:52:58 -0500 Received: from mail.kernel.org ([198.145.29.99]:41390 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230299AbhBKL16 (ORCPT ); Thu, 11 Feb 2021 06:27:58 -0500 Received: by mail.kernel.org (Postfix) with ESMTPSA id 418C664E26; Thu, 11 Feb 2021 11:27:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1613042837; bh=opUcWXi7xUrvrbmjoDXPB2U6cbnKyKBkuV2eGoN2RQ0=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=A5/jbbX3iRUf/Jtm1xCh7A2cWOvkK3kzDtdhjuXDmdNdtTGER2HK1BFbOMjDHidEz SSAvvaYro9hQ+4UOj7rZChw3GBiogzmiN+96ZwTf8KpbmHjppkBqlpNOGx1+GYSKnW iiIhy5VQwzOPRd5nhGKpZX9Mb+eGqJHBo98bQp3LuQGfqZdzRYf/BQyRJyHvb6rQIR vf9QchKbM0VCUg7uK5ktt19qAUj7CPyDJjv4a7QDFu0SNwMWyc8ZvtWr5Inmu5RJdS kK6a/mH5rwOREuKbaRyEGTNNkx6bq86w3omRuJcmAk5yyZCS72ObmTWwCdBPlR5ydV SRb+HO2Qsif8g== Date: Thu, 11 Feb 2021 13:27:02 +0200 From: Mike Rapoport To: David Hildenbrand Cc: Michal Hocko , Mike Rapoport , Andrew Morton , Alexander Viro , Andy Lutomirski , Arnd Bergmann , Borislav Petkov , Catalin Marinas , Christopher Lameter , Dan Williams , Dave Hansen , Elena Reshetova , "H. Peter Anvin" , Ingo Molnar , James Bottomley , "Kirill A. Shutemov" , Matthew Wilcox , Mark Rutland , Michael Kerrisk , Palmer Dabbelt , Paul Walmsley , Peter Zijlstra , Rick Edgecombe , Roman Gushchin , Shakeel Butt , Shuah Khan , Thomas Gleixner , Tycho Andersen , Will Deacon , linux-api@vger.kernel.org, linux-arch@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-nvdimm@lists.01.org, linux-riscv@lists.infradead.org, x86@kernel.org, Hagen Paul Pfeifer , Palmer Dabbelt Subject: Re: [PATCH v17 07/10] mm: introduce memfd_secret system call to create "secret" memory areas Message-ID: <20210211112702.GI242749@kernel.org> References: <20210208084920.2884-1-rppt@kernel.org> <20210208084920.2884-8-rppt@kernel.org> <20210208212605.GX242749@kernel.org> <20210209090938.GP299309@linux.ibm.com> <20210211071319.GF242749@kernel.org> <0d66baec-1898-987b-7eaf-68a015c027ff@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <0d66baec-1898-987b-7eaf-68a015c027ff@redhat.com> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Feb 11, 2021 at 10:01:32AM +0100, David Hildenbrand wrote: > On 11.02.21 09:39, Michal Hocko wrote: > > On Thu 11-02-21 09:13:19, Mike Rapoport wrote: > > > On Tue, Feb 09, 2021 at 02:17:11PM +0100, Michal Hocko wrote: > > > > On Tue 09-02-21 11:09:38, Mike Rapoport wrote: > > [...] > > > > > Citing my older email: > > > > > > > > > > I've hesitated whether to continue to use new flags to memfd_create() or to > > > > > add a new system call and I've decided to use a new system call after I've > > > > > started to look into man pages update. There would have been two completely > > > > > independent descriptions and I think it would have been very confusing. > > > > > > > > Could you elaborate? Unmapping from the kernel address space can work > > > > both for sealed or hugetlb memfds, no? Those features are completely > > > > orthogonal AFAICS. With a dedicated syscall you will need to introduce > > > > this functionality on top if that is required. Have you considered that? > > > > I mean hugetlb pages are used to back guest memory very often. Is this > > > > something that will be a secret memory usecase? > > > > > > > > Please be really specific when giving arguments to back a new syscall > > > > decision. > > > > > > Isn't "syscalls have completely independent description" specific enough? > > > > No, it's not as you can see from questions I've had above. More on that > > below. > > > > > We are talking about API here, not the implementation details whether > > > secretmem supports large pages or not. > > > > > > The purpose of memfd_create() is to create a file-like access to memory. > > > The purpose of memfd_secret() is to create a way to access memory hidden > > > from the kernel. > > > > > > I don't think overloading memfd_create() with the secretmem flags because > > > they happen to return a file descriptor will be better for users, but > > > rather will be more confusing. > > > > This is quite a subjective conclusion. I could very well argue that it > > would be much better to have a single syscall to get a fd backed memory > > with spedific requirements (sealing, unmapping from the kernel address > > space). Neither of us would be clearly right or wrong. A more important > > point is a future extensibility and usability, though. So let's just > > think of few usecases I have outlined above. Is it unrealistic to expect > > that secret memory should be sealable? What about hugetlb? Because if > > the answer is no then a new API is a clear win as the combination of > > flags would never work and then we would just suffer from the syscall > > multiplexing without much gain. On the other hand if combination of the > > functionality is to be expected then you will have to jam it into > > memfd_create and copy the interface likely causing more confusion. See > > what I mean? > > > > I by no means do not insist one way or the other but from what I have > > seen so far I have a feeling that the interface hasn't been thought > > through enough. Sure you have landed with fd based approach and that > > seems fair. But how to get that fd seems to still have some gaps IMHO. > > > > I agree with Michal. This has been raised by different > people already, including on LWN (https://lwn.net/Articles/835342/). > > I can follow Mike's reasoning (man page), and I am also fine if there is > a valid reason. However, IMHO the basic description seems to match quite good: > > memfd_create() creates an anonymous file and returns a file descriptor that refers to it. The > file behaves like a regular file, and so can be modified, truncated, memory-mapped, and so on. > However, unlike a regular file, it lives in RAM and has a volatile backing storage. Once all > references to the file are dropped, it is automatically released. Anonymous memory is used > for all backing pages of the file. Therefore, files created by memfd_create() have the same > semantics as other anonymous memory allocations such as those allocated using mmap(2) with the > MAP_ANONYMOUS flag. Even despite my laziness and huge amount of copy-paste you can spot the differences (this is a very old version, update is due): memfd_secret() creates an anonymous file and returns a file descriptor that refers to it. The file can only be memory-mapped; the memory in such mapping will have stronger protection than usual memory mapped files, and so it can be used to store application secrets. Unlike a regular file, a file created with memfd_secret() lives in RAM and has a volatile backing storage. Once all references to the file are dropped, it is automatically released. The initial size of the file is set to 0. Following the call, the file size should be set using ftruncate(2). The memory areas obtained with mmap(2) from the file descriptor are ex‐ clusive to the owning context. These areas are removed from the kernel page tables and only the page table of the process holding the file de‐ scriptor maps the corresponding physical memory. > AFAIKS, we would need MFD_SECRET and disallow > MFD_ALLOW_SEALING and MFD_HUGETLB. So here we start to multiplex. > In addition, we could add MFD_SECRET_NEVER_MAP, which could disallow any kind of > temporary mappings (eor migration). TBC. Never map is the default. When we'll need to map we'll add an explicit flag for it. -- Sincerely yours, Mike. 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 X-Spam-Level: X-Spam-Status: No, score=-4.6 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id E2508C433DB for ; Thu, 11 Feb 2021 11:27:32 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 7922964DCF for ; Thu, 11 Feb 2021 11:27:32 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7922964DCF Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References:Message-ID: Subject:To:From:Date:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=/Dp01j47nFyL3t4kcbhek3XHtldrpShthljoEkAqdlw=; b=Mv8taPnplJ9txN4wXfC6Oi/IM lgCKIPTMLr3tReXf9av+9VCre8htDD7OLmCEorANpzgrlRqUPCfkU66wuMvCcHwLIvqDkzZv82FqO BaWBRr17w6I/B4m34rajqPACSsrYPIQq8LoLYbFrx2M5Y4BCKlrc9RytxyvwizWXB/yRQEBzQ+WTt mBeRFhhLXIIT5MToGU+d4PKqlcc6zV9hZmNYWIBx/ngtTnIE7juoFI1HJGyAjulHfep89oJfMzxXi 2piGpxdBmHcP4lLW4zbzN13Q91galZIT3WbOAm/jj63WijN7Ou9OrH86j7P0R6ex9Zzh3RjyTOdn8 iSEjDzBWw==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1lAA83-0006aO-Tk; Thu, 11 Feb 2021 11:27:23 +0000 Received: from mail.kernel.org ([198.145.29.99]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1lAA7y-0006YH-IX; Thu, 11 Feb 2021 11:27:20 +0000 Received: by mail.kernel.org (Postfix) with ESMTPSA id 418C664E26; Thu, 11 Feb 2021 11:27:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1613042837; bh=opUcWXi7xUrvrbmjoDXPB2U6cbnKyKBkuV2eGoN2RQ0=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=A5/jbbX3iRUf/Jtm1xCh7A2cWOvkK3kzDtdhjuXDmdNdtTGER2HK1BFbOMjDHidEz SSAvvaYro9hQ+4UOj7rZChw3GBiogzmiN+96ZwTf8KpbmHjppkBqlpNOGx1+GYSKnW iiIhy5VQwzOPRd5nhGKpZX9Mb+eGqJHBo98bQp3LuQGfqZdzRYf/BQyRJyHvb6rQIR vf9QchKbM0VCUg7uK5ktt19qAUj7CPyDJjv4a7QDFu0SNwMWyc8ZvtWr5Inmu5RJdS kK6a/mH5rwOREuKbaRyEGTNNkx6bq86w3omRuJcmAk5yyZCS72ObmTWwCdBPlR5ydV SRb+HO2Qsif8g== Date: Thu, 11 Feb 2021 13:27:02 +0200 From: Mike Rapoport To: David Hildenbrand Subject: Re: [PATCH v17 07/10] mm: introduce memfd_secret system call to create "secret" memory areas Message-ID: <20210211112702.GI242749@kernel.org> References: <20210208084920.2884-1-rppt@kernel.org> <20210208084920.2884-8-rppt@kernel.org> <20210208212605.GX242749@kernel.org> <20210209090938.GP299309@linux.ibm.com> <20210211071319.GF242749@kernel.org> <0d66baec-1898-987b-7eaf-68a015c027ff@redhat.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <0d66baec-1898-987b-7eaf-68a015c027ff@redhat.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210211_062718_789907_29C07D61 X-CRM114-Status: GOOD ( 46.89 ) X-BeenThere: linux-riscv@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Mark Rutland , Michal Hocko , Peter Zijlstra , Catalin Marinas , Dave Hansen , linux-mm@kvack.org, linux-kselftest@vger.kernel.org, "H. Peter Anvin" , Christopher Lameter , Shuah Khan , Thomas Gleixner , Elena Reshetova , linux-arch@vger.kernel.org, Tycho Andersen , linux-nvdimm@lists.01.org, Will Deacon , x86@kernel.org, Matthew Wilcox , Mike Rapoport , Ingo Molnar , Michael Kerrisk , Palmer Dabbelt , Arnd Bergmann , James Bottomley , Hagen Paul Pfeifer , Borislav Petkov , Alexander Viro , Andy Lutomirski , Paul Walmsley , "Kirill A. Shutemov" , Dan Williams , linux-arm-kernel@lists.infradead.org, linux-api@vger.kernel.org, linux-kernel@vger.kernel.org, linux-riscv@lists.infradead.org, Palmer Dabbelt , linux-fsdevel@vger.kernel.org, Shakeel Butt , Andrew Morton , Rick Edgecombe , Roman Gushchin Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org T24gVGh1LCBGZWIgMTEsIDIwMjEgYXQgMTA6MDE6MzJBTSArMDEwMCwgRGF2aWQgSGlsZGVuYnJh bmQgd3JvdGU6Cj4gT24gMTEuMDIuMjEgMDk6MzksIE1pY2hhbCBIb2NrbyB3cm90ZToKPiA+IE9u IFRodSAxMS0wMi0yMSAwOToxMzoxOSwgTWlrZSBSYXBvcG9ydCB3cm90ZToKPiA+ID4gT24gVHVl LCBGZWIgMDksIDIwMjEgYXQgMDI6MTc6MTFQTSArMDEwMCwgTWljaGFsIEhvY2tvIHdyb3RlOgo+ ID4gPiA+IE9uIFR1ZSAwOS0wMi0yMSAxMTowOTozOCwgTWlrZSBSYXBvcG9ydCB3cm90ZToKPiA+ IFsuLi5dCj4gPiA+ID4gPiBDaXRpbmcgbXkgb2xkZXIgZW1haWw6Cj4gPiA+ID4gPiAKPiA+ID4g PiA+ICAgICAgSSd2ZSBoZXNpdGF0ZWQgd2hldGhlciB0byBjb250aW51ZSB0byB1c2UgbmV3IGZs YWdzIHRvIG1lbWZkX2NyZWF0ZSgpIG9yIHRvCj4gPiA+ID4gPiAgICAgIGFkZCBhIG5ldyBzeXN0 ZW0gY2FsbCBhbmQgSSd2ZSBkZWNpZGVkIHRvIHVzZSBhIG5ldyBzeXN0ZW0gY2FsbCBhZnRlciBJ J3ZlCj4gPiA+ID4gPiAgICAgIHN0YXJ0ZWQgdG8gbG9vayBpbnRvIG1hbiBwYWdlcyB1cGRhdGUu IFRoZXJlIHdvdWxkIGhhdmUgYmVlbiB0d28gY29tcGxldGVseQo+ID4gPiA+ID4gICAgICBpbmRl cGVuZGVudCBkZXNjcmlwdGlvbnMgYW5kIEkgdGhpbmsgaXQgd291bGQgaGF2ZSBiZWVuIHZlcnkg Y29uZnVzaW5nLgo+ID4gPiA+IAo+ID4gPiA+IENvdWxkIHlvdSBlbGFib3JhdGU/IFVubWFwcGlu ZyBmcm9tIHRoZSBrZXJuZWwgYWRkcmVzcyBzcGFjZSBjYW4gd29yawo+ID4gPiA+IGJvdGggZm9y IHNlYWxlZCBvciBodWdldGxiIG1lbWZkcywgbm8/IFRob3NlIGZlYXR1cmVzIGFyZSBjb21wbGV0 ZWx5Cj4gPiA+ID4gb3J0aG9nb25hbCBBRkFJQ1MuIFdpdGggYSBkZWRpY2F0ZWQgc3lzY2FsbCB5 b3Ugd2lsbCBuZWVkIHRvIGludHJvZHVjZQo+ID4gPiA+IHRoaXMgZnVuY3Rpb25hbGl0eSBvbiB0 b3AgaWYgdGhhdCBpcyByZXF1aXJlZC4gSGF2ZSB5b3UgY29uc2lkZXJlZCB0aGF0Pwo+ID4gPiA+ IEkgbWVhbiBodWdldGxiIHBhZ2VzIGFyZSB1c2VkIHRvIGJhY2sgZ3Vlc3QgbWVtb3J5IHZlcnkg b2Z0ZW4uIElzIHRoaXMKPiA+ID4gPiBzb21ldGhpbmcgdGhhdCB3aWxsIGJlIGEgc2VjcmV0IG1l bW9yeSB1c2VjYXNlPwo+ID4gPiA+IAo+ID4gPiA+IFBsZWFzZSBiZSByZWFsbHkgc3BlY2lmaWMg d2hlbiBnaXZpbmcgYXJndW1lbnRzIHRvIGJhY2sgYSBuZXcgc3lzY2FsbAo+ID4gPiA+IGRlY2lz aW9uLgo+ID4gPiAKPiA+ID4gSXNuJ3QgInN5c2NhbGxzIGhhdmUgY29tcGxldGVseSBpbmRlcGVu ZGVudCBkZXNjcmlwdGlvbiIgc3BlY2lmaWMgZW5vdWdoPwo+ID4gCj4gPiBObywgaXQncyBub3Qg YXMgeW91IGNhbiBzZWUgZnJvbSBxdWVzdGlvbnMgSSd2ZSBoYWQgYWJvdmUuIE1vcmUgb24gdGhh dAo+ID4gYmVsb3cuCj4gPiAKPiA+ID4gV2UgYXJlIHRhbGtpbmcgYWJvdXQgQVBJIGhlcmUsIG5v dCB0aGUgaW1wbGVtZW50YXRpb24gZGV0YWlscyB3aGV0aGVyCj4gPiA+IHNlY3JldG1lbSBzdXBw b3J0cyBsYXJnZSBwYWdlcyBvciBub3QuCj4gPiA+IAo+ID4gPiBUaGUgcHVycG9zZSBvZiBtZW1m ZF9jcmVhdGUoKSBpcyB0byBjcmVhdGUgYSBmaWxlLWxpa2UgYWNjZXNzIHRvIG1lbW9yeS4KPiA+ ID4gVGhlIHB1cnBvc2Ugb2YgbWVtZmRfc2VjcmV0KCkgaXMgdG8gY3JlYXRlIGEgd2F5IHRvIGFj Y2VzcyBtZW1vcnkgaGlkZGVuCj4gPiA+IGZyb20gdGhlIGtlcm5lbC4KPiA+ID4gCj4gPiA+IEkg ZG9uJ3QgdGhpbmsgb3ZlcmxvYWRpbmcgbWVtZmRfY3JlYXRlKCkgd2l0aCB0aGUgc2VjcmV0bWVt IGZsYWdzIGJlY2F1c2UKPiA+ID4gdGhleSBoYXBwZW4gdG8gcmV0dXJuIGEgZmlsZSBkZXNjcmlw dG9yIHdpbGwgYmUgYmV0dGVyIGZvciB1c2VycywgYnV0Cj4gPiA+IHJhdGhlciB3aWxsIGJlIG1v cmUgY29uZnVzaW5nLgo+ID4gCj4gPiBUaGlzIGlzIHF1aXRlIGEgc3ViamVjdGl2ZSBjb25jbHVz aW9uLiBJIGNvdWxkIHZlcnkgd2VsbCBhcmd1ZSB0aGF0IGl0Cj4gPiB3b3VsZCBiZSBtdWNoIGJl dHRlciB0byBoYXZlIGEgc2luZ2xlIHN5c2NhbGwgdG8gZ2V0IGEgZmQgYmFja2VkIG1lbW9yeQo+ ID4gd2l0aCBzcGVkaWZpYyByZXF1aXJlbWVudHMgKHNlYWxpbmcsIHVubWFwcGluZyBmcm9tIHRo ZSBrZXJuZWwgYWRkcmVzcwo+ID4gc3BhY2UpLiBOZWl0aGVyIG9mIHVzIHdvdWxkIGJlIGNsZWFy bHkgcmlnaHQgb3Igd3JvbmcuIEEgbW9yZSBpbXBvcnRhbnQKPiA+IHBvaW50IGlzIGEgZnV0dXJl IGV4dGVuc2liaWxpdHkgYW5kIHVzYWJpbGl0eSwgdGhvdWdoLiBTbyBsZXQncyBqdXN0Cj4gPiB0 aGluayBvZiBmZXcgdXNlY2FzZXMgSSBoYXZlIG91dGxpbmVkIGFib3ZlLiBJcyBpdCB1bnJlYWxp c3RpYyB0byBleHBlY3QKPiA+IHRoYXQgc2VjcmV0IG1lbW9yeSBzaG91bGQgYmUgc2VhbGFibGU/ IFdoYXQgYWJvdXQgaHVnZXRsYj8gQmVjYXVzZSBpZgo+ID4gdGhlIGFuc3dlciBpcyBubyB0aGVu IGEgbmV3IEFQSSBpcyBhIGNsZWFyIHdpbiBhcyB0aGUgY29tYmluYXRpb24gb2YKPiA+IGZsYWdz IHdvdWxkIG5ldmVyIHdvcmsgYW5kIHRoZW4gd2Ugd291bGQganVzdCBzdWZmZXIgZnJvbSB0aGUg c3lzY2FsbAo+ID4gbXVsdGlwbGV4aW5nIHdpdGhvdXQgbXVjaCBnYWluLiBPbiB0aGUgb3RoZXIg aGFuZCBpZiBjb21iaW5hdGlvbiBvZiB0aGUKPiA+IGZ1bmN0aW9uYWxpdHkgaXMgdG8gYmUgZXhw ZWN0ZWQgdGhlbiB5b3Ugd2lsbCBoYXZlIHRvIGphbSBpdCBpbnRvCj4gPiBtZW1mZF9jcmVhdGUg YW5kIGNvcHkgdGhlIGludGVyZmFjZSBsaWtlbHkgY2F1c2luZyBtb3JlIGNvbmZ1c2lvbi4gU2Vl Cj4gPiB3aGF0IEkgbWVhbj8KPiA+IAo+ID4gSSBieSBubyBtZWFucyBkbyBub3QgaW5zaXN0IG9u ZSB3YXkgb3IgdGhlIG90aGVyIGJ1dCBmcm9tIHdoYXQgSSBoYXZlCj4gPiBzZWVuIHNvIGZhciBJ IGhhdmUgYSBmZWVsaW5nIHRoYXQgdGhlIGludGVyZmFjZSBoYXNuJ3QgYmVlbiB0aG91Z2h0Cj4g PiB0aHJvdWdoIGVub3VnaC4gU3VyZSB5b3UgaGF2ZSBsYW5kZWQgd2l0aCBmZCBiYXNlZCBhcHBy b2FjaCBhbmQgdGhhdAo+ID4gc2VlbXMgZmFpci4gQnV0IGhvdyB0byBnZXQgdGhhdCBmZCBzZWVt cyB0byBzdGlsbCBoYXZlIHNvbWUgZ2FwcyBJTUhPLgo+ID4gCj4gCj4gSSBhZ3JlZSB3aXRoIE1p Y2hhbC4gVGhpcyBoYXMgYmVlbiByYWlzZWQgYnkgZGlmZmVyZW50Cj4gcGVvcGxlIGFscmVhZHks IGluY2x1ZGluZyBvbiBMV04gKGh0dHBzOi8vbHduLm5ldC9BcnRpY2xlcy84MzUzNDIvKS4KPiAK PiBJIGNhbiBmb2xsb3cgTWlrZSdzIHJlYXNvbmluZyAobWFuIHBhZ2UpLCBhbmQgSSBhbSBhbHNv IGZpbmUgaWYgdGhlcmUgaXMKPiBhIHZhbGlkIHJlYXNvbi4gSG93ZXZlciwgSU1ITyB0aGUgYmFz aWMgZGVzY3JpcHRpb24gc2VlbXMgdG8gbWF0Y2ggcXVpdGUgZ29vZDoKPiAKPiAgICAgICAgbWVt ZmRfY3JlYXRlKCkgY3JlYXRlcyBhbiBhbm9ueW1vdXMgZmlsZSBhbmQgcmV0dXJucyBhIGZpbGUg ZGVzY3JpcHRvciB0aGF0IHJlZmVycyB0byBpdC4gIFRoZQo+ICAgICAgICBmaWxlIGJlaGF2ZXMg bGlrZSBhIHJlZ3VsYXIgZmlsZSwgYW5kIHNvIGNhbiBiZSBtb2RpZmllZCwgdHJ1bmNhdGVkLCBt ZW1vcnktbWFwcGVkLCBhbmQgc28gb24uCj4gICAgICAgIEhvd2V2ZXIsICB1bmxpa2UgYSByZWd1 bGFyIGZpbGUsIGl0IGxpdmVzIGluIFJBTSBhbmQgaGFzIGEgdm9sYXRpbGUgYmFja2luZyBzdG9y YWdlLiAgT25jZSBhbGwKPiAgICAgICAgcmVmZXJlbmNlcyB0byB0aGUgZmlsZSBhcmUgZHJvcHBl ZCwgaXQgaXMgYXV0b21hdGljYWxseSByZWxlYXNlZC4gIEFub255bW91cyAgbWVtb3J5ICBpcyAg dXNlZAo+ICAgICAgICBmb3IgIGFsbCAgYmFja2luZyBwYWdlcyBvZiB0aGUgZmlsZS4gIFRoZXJl Zm9yZSwgZmlsZXMgY3JlYXRlZCBieSBtZW1mZF9jcmVhdGUoKSBoYXZlIHRoZSBzYW1lCj4gICAg ICAgIHNlbWFudGljcyBhcyBvdGhlciBhbm9ueW1vdXMgbWVtb3J5IGFsbG9jYXRpb25zIHN1Y2gg YXMgdGhvc2UgYWxsb2NhdGVkIHVzaW5nIG1tYXAoMikgd2l0aCB0aGUKPiAgICAgICAgTUFQX0FO T05ZTU9VUyBmbGFnLgoKRXZlbiBkZXNwaXRlIG15IGxhemluZXNzIGFuZCBodWdlIGFtb3VudCBv ZiBjb3B5LXBhc3RlIHlvdSBjYW4gc3BvdCB0aGUKZGlmZmVyZW5jZXMgKHRoaXMgaXMgYSB2ZXJ5 IG9sZCB2ZXJzaW9uLCB1cGRhdGUgaXMgZHVlKToKCiAgICAgICBtZW1mZF9zZWNyZXQoKSAgY3Jl YXRlcyBhbiBhbm9ueW1vdXMgZmlsZSBhbmQgcmV0dXJucyBhIGZpbGUgZGVzY3JpcHRvcgogICAg ICAgdGhhdCByZWZlcnMgdG8gaXQuICBUaGUgZmlsZSBjYW4gb25seSBiZSBtZW1vcnktbWFwcGVk OyB0aGUgIG1lbW9yeSAgaW4KICAgICAgIHN1Y2ggIG1hcHBpbmcgIHdpbGwgIGhhdmUgIHN0cm9u Z2VyIHByb3RlY3Rpb24gdGhhbiB1c3VhbCBtZW1vcnkgbWFwcGVkCiAgICAgICBmaWxlcywgYW5k IHNvIGl0IGNhbiBiZSB1c2VkIHRvIHN0b3JlIGFwcGxpY2F0aW9uICBzZWNyZXRzLiAgIFVubGlr ZSAgYQogICAgICAgcmVndWxhciBmaWxlLCBhIGZpbGUgY3JlYXRlZCB3aXRoIG1lbWZkX3NlY3Jl dCgpIGxpdmVzIGluIFJBTSBhbmQgaGFzIGEKICAgICAgIHZvbGF0aWxlIGJhY2tpbmcgc3RvcmFn ZS4gIE9uY2UgYWxsIHJlZmVyZW5jZXMgdG8gdGhlIGZpbGUgYXJlIGRyb3BwZWQsCiAgICAgICBp dCAgaXMgIGF1dG9tYXRpY2FsbHkgcmVsZWFzZWQuICBUaGUgaW5pdGlhbCBzaXplIG9mIHRoZSBm aWxlIGlzIHNldCB0bwogICAgICAgMC4gIEZvbGxvd2luZyB0aGUgY2FsbCwgdGhlIGZpbGUgc2l6 ZSBzaG91bGQgYmUgc2V0IHVzaW5nIGZ0cnVuY2F0ZSgyKS4KCiAgICAgICBUaGUgbWVtb3J5IGFy ZWFzIG9idGFpbmVkIHdpdGggbW1hcCgyKSBmcm9tIHRoZSBmaWxlIGRlc2NyaXB0b3IgYXJlIGV4 4oCQCiAgICAgICBjbHVzaXZlIHRvIHRoZSBvd25pbmcgY29udGV4dC4gIFRoZXNlIGFyZWFzIGFy ZSByZW1vdmVkIGZyb20gdGhlIGtlcm5lbAogICAgICAgcGFnZSB0YWJsZXMgYW5kIG9ubHkgdGhl IHBhZ2UgdGFibGUgb2YgdGhlIHByb2Nlc3MgaG9sZGluZyB0aGUgZmlsZSBkZeKAkAogICAgICAg c2NyaXB0b3IgbWFwcyB0aGUgY29ycmVzcG9uZGluZyBwaHlzaWNhbCBtZW1vcnkuCiAKPiBBRkFJ S1MsIHdlIHdvdWxkIG5lZWQgTUZEX1NFQ1JFVCBhbmQgZGlzYWxsb3cKPiBNRkRfQUxMT1dfU0VB TElORyBhbmQgTUZEX0hVR0VUTEIuCgpTbyBoZXJlIHdlIHN0YXJ0IHRvIG11bHRpcGxleC4KCj4g SW4gYWRkaXRpb24sIHdlIGNvdWxkIGFkZCBNRkRfU0VDUkVUX05FVkVSX01BUCwgd2hpY2ggY291 bGQgZGlzYWxsb3cgYW55IGtpbmQgb2YKPiB0ZW1wb3JhcnkgbWFwcGluZ3MgKGVvciBtaWdyYXRp b24pLiBUQkMuCgpOZXZlciBtYXAgaXMgdGhlIGRlZmF1bHQuIFdoZW4gd2UnbGwgbmVlZCB0byBt YXAgd2UnbGwgYWRkIGFuIGV4cGxpY2l0IGZsYWcKZm9yIGl0LgoKLS0gClNpbmNlcmVseSB5b3Vy cywKTWlrZS4KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CmxpbnV4LXJpc2N2IG1haWxpbmcgbGlzdApsaW51eC1yaXNjdkBsaXN0cy5pbmZyYWRlYWQub3Jn Cmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtcmlzY3YK 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 X-Spam-Level: X-Spam-Status: No, score=-4.6 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C7EADC433DB for ; Thu, 11 Feb 2021 11:29:08 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 5543D64DCF for ; Thu, 11 Feb 2021 11:29:07 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5543D64DCF Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References:Message-ID: Subject:To:From:Date:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=b9f9Mh897W9lEWax5uMRxvPavyclHDXtKlc2iXUvdn0=; b=KTXbP8tm8l8jzUJDUXYOFb+dS pW3kxUuFnpPiwo0N164OmbrpleyiQ/TDET9uVkYzs3OHiFiREU6Oxiw5XfMJyVgH4PtBSuGQWp8cN 71korXNNVZWlGBVo8qg71ZF+y1RZtBUO1YXnMu8NVTdZdKXztkrdrL99oGv+YBlzgirU4xMasuX20 MztRc8qp647Gxe21qMYjMaPx910x0mEjT0mIMiURvPr+withbgI+TssBs46/7tllZ1D0xWcBtSpij t9NnwyQtdJic8OK9tMLft+4sotCS/V7s7Da1OssNVbdWDlQ0aLMUDmLAiYxI4p2sJz8enIXWB/ssv xASr8t/wg==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1lAA82-0006Zj-36; Thu, 11 Feb 2021 11:27:22 +0000 Received: from mail.kernel.org ([198.145.29.99]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1lAA7y-0006YH-IX; Thu, 11 Feb 2021 11:27:20 +0000 Received: by mail.kernel.org (Postfix) with ESMTPSA id 418C664E26; Thu, 11 Feb 2021 11:27:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1613042837; bh=opUcWXi7xUrvrbmjoDXPB2U6cbnKyKBkuV2eGoN2RQ0=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=A5/jbbX3iRUf/Jtm1xCh7A2cWOvkK3kzDtdhjuXDmdNdtTGER2HK1BFbOMjDHidEz SSAvvaYro9hQ+4UOj7rZChw3GBiogzmiN+96ZwTf8KpbmHjppkBqlpNOGx1+GYSKnW iiIhy5VQwzOPRd5nhGKpZX9Mb+eGqJHBo98bQp3LuQGfqZdzRYf/BQyRJyHvb6rQIR vf9QchKbM0VCUg7uK5ktt19qAUj7CPyDJjv4a7QDFu0SNwMWyc8ZvtWr5Inmu5RJdS kK6a/mH5rwOREuKbaRyEGTNNkx6bq86w3omRuJcmAk5yyZCS72ObmTWwCdBPlR5ydV SRb+HO2Qsif8g== Date: Thu, 11 Feb 2021 13:27:02 +0200 From: Mike Rapoport To: David Hildenbrand Subject: Re: [PATCH v17 07/10] mm: introduce memfd_secret system call to create "secret" memory areas Message-ID: <20210211112702.GI242749@kernel.org> References: <20210208084920.2884-1-rppt@kernel.org> <20210208084920.2884-8-rppt@kernel.org> <20210208212605.GX242749@kernel.org> <20210209090938.GP299309@linux.ibm.com> <20210211071319.GF242749@kernel.org> <0d66baec-1898-987b-7eaf-68a015c027ff@redhat.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <0d66baec-1898-987b-7eaf-68a015c027ff@redhat.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210211_062718_789907_29C07D61 X-CRM114-Status: GOOD ( 46.89 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Mark Rutland , Michal Hocko , Peter Zijlstra , Catalin Marinas , Dave Hansen , linux-mm@kvack.org, linux-kselftest@vger.kernel.org, "H. Peter Anvin" , Christopher Lameter , Shuah Khan , Thomas Gleixner , Elena Reshetova , linux-arch@vger.kernel.org, Tycho Andersen , linux-nvdimm@lists.01.org, Will Deacon , x86@kernel.org, Matthew Wilcox , Mike Rapoport , Ingo Molnar , Michael Kerrisk , Palmer Dabbelt , Arnd Bergmann , James Bottomley , Hagen Paul Pfeifer , Borislav Petkov , Alexander Viro , Andy Lutomirski , Paul Walmsley , "Kirill A. Shutemov" , Dan Williams , linux-arm-kernel@lists.infradead.org, linux-api@vger.kernel.org, linux-kernel@vger.kernel.org, linux-riscv@lists.infradead.org, Palmer Dabbelt , linux-fsdevel@vger.kernel.org, Shakeel Butt , Andrew Morton , Rick Edgecombe , Roman Gushchin Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gVGh1LCBGZWIgMTEsIDIwMjEgYXQgMTA6MDE6MzJBTSArMDEwMCwgRGF2aWQgSGlsZGVuYnJh bmQgd3JvdGU6Cj4gT24gMTEuMDIuMjEgMDk6MzksIE1pY2hhbCBIb2NrbyB3cm90ZToKPiA+IE9u IFRodSAxMS0wMi0yMSAwOToxMzoxOSwgTWlrZSBSYXBvcG9ydCB3cm90ZToKPiA+ID4gT24gVHVl LCBGZWIgMDksIDIwMjEgYXQgMDI6MTc6MTFQTSArMDEwMCwgTWljaGFsIEhvY2tvIHdyb3RlOgo+ ID4gPiA+IE9uIFR1ZSAwOS0wMi0yMSAxMTowOTozOCwgTWlrZSBSYXBvcG9ydCB3cm90ZToKPiA+ IFsuLi5dCj4gPiA+ID4gPiBDaXRpbmcgbXkgb2xkZXIgZW1haWw6Cj4gPiA+ID4gPiAKPiA+ID4g PiA+ICAgICAgSSd2ZSBoZXNpdGF0ZWQgd2hldGhlciB0byBjb250aW51ZSB0byB1c2UgbmV3IGZs YWdzIHRvIG1lbWZkX2NyZWF0ZSgpIG9yIHRvCj4gPiA+ID4gPiAgICAgIGFkZCBhIG5ldyBzeXN0 ZW0gY2FsbCBhbmQgSSd2ZSBkZWNpZGVkIHRvIHVzZSBhIG5ldyBzeXN0ZW0gY2FsbCBhZnRlciBJ J3ZlCj4gPiA+ID4gPiAgICAgIHN0YXJ0ZWQgdG8gbG9vayBpbnRvIG1hbiBwYWdlcyB1cGRhdGUu IFRoZXJlIHdvdWxkIGhhdmUgYmVlbiB0d28gY29tcGxldGVseQo+ID4gPiA+ID4gICAgICBpbmRl cGVuZGVudCBkZXNjcmlwdGlvbnMgYW5kIEkgdGhpbmsgaXQgd291bGQgaGF2ZSBiZWVuIHZlcnkg Y29uZnVzaW5nLgo+ID4gPiA+IAo+ID4gPiA+IENvdWxkIHlvdSBlbGFib3JhdGU/IFVubWFwcGlu ZyBmcm9tIHRoZSBrZXJuZWwgYWRkcmVzcyBzcGFjZSBjYW4gd29yawo+ID4gPiA+IGJvdGggZm9y IHNlYWxlZCBvciBodWdldGxiIG1lbWZkcywgbm8/IFRob3NlIGZlYXR1cmVzIGFyZSBjb21wbGV0 ZWx5Cj4gPiA+ID4gb3J0aG9nb25hbCBBRkFJQ1MuIFdpdGggYSBkZWRpY2F0ZWQgc3lzY2FsbCB5 b3Ugd2lsbCBuZWVkIHRvIGludHJvZHVjZQo+ID4gPiA+IHRoaXMgZnVuY3Rpb25hbGl0eSBvbiB0 b3AgaWYgdGhhdCBpcyByZXF1aXJlZC4gSGF2ZSB5b3UgY29uc2lkZXJlZCB0aGF0Pwo+ID4gPiA+ IEkgbWVhbiBodWdldGxiIHBhZ2VzIGFyZSB1c2VkIHRvIGJhY2sgZ3Vlc3QgbWVtb3J5IHZlcnkg b2Z0ZW4uIElzIHRoaXMKPiA+ID4gPiBzb21ldGhpbmcgdGhhdCB3aWxsIGJlIGEgc2VjcmV0IG1l bW9yeSB1c2VjYXNlPwo+ID4gPiA+IAo+ID4gPiA+IFBsZWFzZSBiZSByZWFsbHkgc3BlY2lmaWMg d2hlbiBnaXZpbmcgYXJndW1lbnRzIHRvIGJhY2sgYSBuZXcgc3lzY2FsbAo+ID4gPiA+IGRlY2lz aW9uLgo+ID4gPiAKPiA+ID4gSXNuJ3QgInN5c2NhbGxzIGhhdmUgY29tcGxldGVseSBpbmRlcGVu ZGVudCBkZXNjcmlwdGlvbiIgc3BlY2lmaWMgZW5vdWdoPwo+ID4gCj4gPiBObywgaXQncyBub3Qg YXMgeW91IGNhbiBzZWUgZnJvbSBxdWVzdGlvbnMgSSd2ZSBoYWQgYWJvdmUuIE1vcmUgb24gdGhh dAo+ID4gYmVsb3cuCj4gPiAKPiA+ID4gV2UgYXJlIHRhbGtpbmcgYWJvdXQgQVBJIGhlcmUsIG5v dCB0aGUgaW1wbGVtZW50YXRpb24gZGV0YWlscyB3aGV0aGVyCj4gPiA+IHNlY3JldG1lbSBzdXBw b3J0cyBsYXJnZSBwYWdlcyBvciBub3QuCj4gPiA+IAo+ID4gPiBUaGUgcHVycG9zZSBvZiBtZW1m ZF9jcmVhdGUoKSBpcyB0byBjcmVhdGUgYSBmaWxlLWxpa2UgYWNjZXNzIHRvIG1lbW9yeS4KPiA+ ID4gVGhlIHB1cnBvc2Ugb2YgbWVtZmRfc2VjcmV0KCkgaXMgdG8gY3JlYXRlIGEgd2F5IHRvIGFj Y2VzcyBtZW1vcnkgaGlkZGVuCj4gPiA+IGZyb20gdGhlIGtlcm5lbC4KPiA+ID4gCj4gPiA+IEkg ZG9uJ3QgdGhpbmsgb3ZlcmxvYWRpbmcgbWVtZmRfY3JlYXRlKCkgd2l0aCB0aGUgc2VjcmV0bWVt IGZsYWdzIGJlY2F1c2UKPiA+ID4gdGhleSBoYXBwZW4gdG8gcmV0dXJuIGEgZmlsZSBkZXNjcmlw dG9yIHdpbGwgYmUgYmV0dGVyIGZvciB1c2VycywgYnV0Cj4gPiA+IHJhdGhlciB3aWxsIGJlIG1v cmUgY29uZnVzaW5nLgo+ID4gCj4gPiBUaGlzIGlzIHF1aXRlIGEgc3ViamVjdGl2ZSBjb25jbHVz aW9uLiBJIGNvdWxkIHZlcnkgd2VsbCBhcmd1ZSB0aGF0IGl0Cj4gPiB3b3VsZCBiZSBtdWNoIGJl dHRlciB0byBoYXZlIGEgc2luZ2xlIHN5c2NhbGwgdG8gZ2V0IGEgZmQgYmFja2VkIG1lbW9yeQo+ ID4gd2l0aCBzcGVkaWZpYyByZXF1aXJlbWVudHMgKHNlYWxpbmcsIHVubWFwcGluZyBmcm9tIHRo ZSBrZXJuZWwgYWRkcmVzcwo+ID4gc3BhY2UpLiBOZWl0aGVyIG9mIHVzIHdvdWxkIGJlIGNsZWFy bHkgcmlnaHQgb3Igd3JvbmcuIEEgbW9yZSBpbXBvcnRhbnQKPiA+IHBvaW50IGlzIGEgZnV0dXJl IGV4dGVuc2liaWxpdHkgYW5kIHVzYWJpbGl0eSwgdGhvdWdoLiBTbyBsZXQncyBqdXN0Cj4gPiB0 aGluayBvZiBmZXcgdXNlY2FzZXMgSSBoYXZlIG91dGxpbmVkIGFib3ZlLiBJcyBpdCB1bnJlYWxp c3RpYyB0byBleHBlY3QKPiA+IHRoYXQgc2VjcmV0IG1lbW9yeSBzaG91bGQgYmUgc2VhbGFibGU/ IFdoYXQgYWJvdXQgaHVnZXRsYj8gQmVjYXVzZSBpZgo+ID4gdGhlIGFuc3dlciBpcyBubyB0aGVu IGEgbmV3IEFQSSBpcyBhIGNsZWFyIHdpbiBhcyB0aGUgY29tYmluYXRpb24gb2YKPiA+IGZsYWdz IHdvdWxkIG5ldmVyIHdvcmsgYW5kIHRoZW4gd2Ugd291bGQganVzdCBzdWZmZXIgZnJvbSB0aGUg c3lzY2FsbAo+ID4gbXVsdGlwbGV4aW5nIHdpdGhvdXQgbXVjaCBnYWluLiBPbiB0aGUgb3RoZXIg aGFuZCBpZiBjb21iaW5hdGlvbiBvZiB0aGUKPiA+IGZ1bmN0aW9uYWxpdHkgaXMgdG8gYmUgZXhw ZWN0ZWQgdGhlbiB5b3Ugd2lsbCBoYXZlIHRvIGphbSBpdCBpbnRvCj4gPiBtZW1mZF9jcmVhdGUg YW5kIGNvcHkgdGhlIGludGVyZmFjZSBsaWtlbHkgY2F1c2luZyBtb3JlIGNvbmZ1c2lvbi4gU2Vl Cj4gPiB3aGF0IEkgbWVhbj8KPiA+IAo+ID4gSSBieSBubyBtZWFucyBkbyBub3QgaW5zaXN0IG9u ZSB3YXkgb3IgdGhlIG90aGVyIGJ1dCBmcm9tIHdoYXQgSSBoYXZlCj4gPiBzZWVuIHNvIGZhciBJ IGhhdmUgYSBmZWVsaW5nIHRoYXQgdGhlIGludGVyZmFjZSBoYXNuJ3QgYmVlbiB0aG91Z2h0Cj4g PiB0aHJvdWdoIGVub3VnaC4gU3VyZSB5b3UgaGF2ZSBsYW5kZWQgd2l0aCBmZCBiYXNlZCBhcHBy b2FjaCBhbmQgdGhhdAo+ID4gc2VlbXMgZmFpci4gQnV0IGhvdyB0byBnZXQgdGhhdCBmZCBzZWVt cyB0byBzdGlsbCBoYXZlIHNvbWUgZ2FwcyBJTUhPLgo+ID4gCj4gCj4gSSBhZ3JlZSB3aXRoIE1p Y2hhbC4gVGhpcyBoYXMgYmVlbiByYWlzZWQgYnkgZGlmZmVyZW50Cj4gcGVvcGxlIGFscmVhZHks IGluY2x1ZGluZyBvbiBMV04gKGh0dHBzOi8vbHduLm5ldC9BcnRpY2xlcy84MzUzNDIvKS4KPiAK PiBJIGNhbiBmb2xsb3cgTWlrZSdzIHJlYXNvbmluZyAobWFuIHBhZ2UpLCBhbmQgSSBhbSBhbHNv IGZpbmUgaWYgdGhlcmUgaXMKPiBhIHZhbGlkIHJlYXNvbi4gSG93ZXZlciwgSU1ITyB0aGUgYmFz aWMgZGVzY3JpcHRpb24gc2VlbXMgdG8gbWF0Y2ggcXVpdGUgZ29vZDoKPiAKPiAgICAgICAgbWVt ZmRfY3JlYXRlKCkgY3JlYXRlcyBhbiBhbm9ueW1vdXMgZmlsZSBhbmQgcmV0dXJucyBhIGZpbGUg ZGVzY3JpcHRvciB0aGF0IHJlZmVycyB0byBpdC4gIFRoZQo+ICAgICAgICBmaWxlIGJlaGF2ZXMg bGlrZSBhIHJlZ3VsYXIgZmlsZSwgYW5kIHNvIGNhbiBiZSBtb2RpZmllZCwgdHJ1bmNhdGVkLCBt ZW1vcnktbWFwcGVkLCBhbmQgc28gb24uCj4gICAgICAgIEhvd2V2ZXIsICB1bmxpa2UgYSByZWd1 bGFyIGZpbGUsIGl0IGxpdmVzIGluIFJBTSBhbmQgaGFzIGEgdm9sYXRpbGUgYmFja2luZyBzdG9y YWdlLiAgT25jZSBhbGwKPiAgICAgICAgcmVmZXJlbmNlcyB0byB0aGUgZmlsZSBhcmUgZHJvcHBl ZCwgaXQgaXMgYXV0b21hdGljYWxseSByZWxlYXNlZC4gIEFub255bW91cyAgbWVtb3J5ICBpcyAg dXNlZAo+ICAgICAgICBmb3IgIGFsbCAgYmFja2luZyBwYWdlcyBvZiB0aGUgZmlsZS4gIFRoZXJl Zm9yZSwgZmlsZXMgY3JlYXRlZCBieSBtZW1mZF9jcmVhdGUoKSBoYXZlIHRoZSBzYW1lCj4gICAg ICAgIHNlbWFudGljcyBhcyBvdGhlciBhbm9ueW1vdXMgbWVtb3J5IGFsbG9jYXRpb25zIHN1Y2gg YXMgdGhvc2UgYWxsb2NhdGVkIHVzaW5nIG1tYXAoMikgd2l0aCB0aGUKPiAgICAgICAgTUFQX0FO T05ZTU9VUyBmbGFnLgoKRXZlbiBkZXNwaXRlIG15IGxhemluZXNzIGFuZCBodWdlIGFtb3VudCBv ZiBjb3B5LXBhc3RlIHlvdSBjYW4gc3BvdCB0aGUKZGlmZmVyZW5jZXMgKHRoaXMgaXMgYSB2ZXJ5 IG9sZCB2ZXJzaW9uLCB1cGRhdGUgaXMgZHVlKToKCiAgICAgICBtZW1mZF9zZWNyZXQoKSAgY3Jl YXRlcyBhbiBhbm9ueW1vdXMgZmlsZSBhbmQgcmV0dXJucyBhIGZpbGUgZGVzY3JpcHRvcgogICAg ICAgdGhhdCByZWZlcnMgdG8gaXQuICBUaGUgZmlsZSBjYW4gb25seSBiZSBtZW1vcnktbWFwcGVk OyB0aGUgIG1lbW9yeSAgaW4KICAgICAgIHN1Y2ggIG1hcHBpbmcgIHdpbGwgIGhhdmUgIHN0cm9u Z2VyIHByb3RlY3Rpb24gdGhhbiB1c3VhbCBtZW1vcnkgbWFwcGVkCiAgICAgICBmaWxlcywgYW5k IHNvIGl0IGNhbiBiZSB1c2VkIHRvIHN0b3JlIGFwcGxpY2F0aW9uICBzZWNyZXRzLiAgIFVubGlr ZSAgYQogICAgICAgcmVndWxhciBmaWxlLCBhIGZpbGUgY3JlYXRlZCB3aXRoIG1lbWZkX3NlY3Jl dCgpIGxpdmVzIGluIFJBTSBhbmQgaGFzIGEKICAgICAgIHZvbGF0aWxlIGJhY2tpbmcgc3RvcmFn ZS4gIE9uY2UgYWxsIHJlZmVyZW5jZXMgdG8gdGhlIGZpbGUgYXJlIGRyb3BwZWQsCiAgICAgICBp dCAgaXMgIGF1dG9tYXRpY2FsbHkgcmVsZWFzZWQuICBUaGUgaW5pdGlhbCBzaXplIG9mIHRoZSBm aWxlIGlzIHNldCB0bwogICAgICAgMC4gIEZvbGxvd2luZyB0aGUgY2FsbCwgdGhlIGZpbGUgc2l6 ZSBzaG91bGQgYmUgc2V0IHVzaW5nIGZ0cnVuY2F0ZSgyKS4KCiAgICAgICBUaGUgbWVtb3J5IGFy ZWFzIG9idGFpbmVkIHdpdGggbW1hcCgyKSBmcm9tIHRoZSBmaWxlIGRlc2NyaXB0b3IgYXJlIGV4 4oCQCiAgICAgICBjbHVzaXZlIHRvIHRoZSBvd25pbmcgY29udGV4dC4gIFRoZXNlIGFyZWFzIGFy ZSByZW1vdmVkIGZyb20gdGhlIGtlcm5lbAogICAgICAgcGFnZSB0YWJsZXMgYW5kIG9ubHkgdGhl IHBhZ2UgdGFibGUgb2YgdGhlIHByb2Nlc3MgaG9sZGluZyB0aGUgZmlsZSBkZeKAkAogICAgICAg c2NyaXB0b3IgbWFwcyB0aGUgY29ycmVzcG9uZGluZyBwaHlzaWNhbCBtZW1vcnkuCiAKPiBBRkFJ S1MsIHdlIHdvdWxkIG5lZWQgTUZEX1NFQ1JFVCBhbmQgZGlzYWxsb3cKPiBNRkRfQUxMT1dfU0VB TElORyBhbmQgTUZEX0hVR0VUTEIuCgpTbyBoZXJlIHdlIHN0YXJ0IHRvIG11bHRpcGxleC4KCj4g SW4gYWRkaXRpb24sIHdlIGNvdWxkIGFkZCBNRkRfU0VDUkVUX05FVkVSX01BUCwgd2hpY2ggY291 bGQgZGlzYWxsb3cgYW55IGtpbmQgb2YKPiB0ZW1wb3JhcnkgbWFwcGluZ3MgKGVvciBtaWdyYXRp b24pLiBUQkMuCgpOZXZlciBtYXAgaXMgdGhlIGRlZmF1bHQuIFdoZW4gd2UnbGwgbmVlZCB0byBt YXAgd2UnbGwgYWRkIGFuIGV4cGxpY2l0IGZsYWcKZm9yIGl0LgoKLS0gClNpbmNlcmVseSB5b3Vy cywKTWlrZS4KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5m cmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xp bnV4LWFybS1rZXJuZWwK