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 CEEFCC43334 for ; Thu, 14 Jul 2022 04:55:37 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5E6BC940184; Thu, 14 Jul 2022 00:55:37 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 595F6940134; Thu, 14 Jul 2022 00:55:37 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3E8F2940184; Thu, 14 Jul 2022 00:55:37 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 30B79940134 for ; Thu, 14 Jul 2022 00:55:37 -0400 (EDT) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 11C0A34CFD for ; Thu, 14 Jul 2022 04:55:37 +0000 (UTC) X-FDA: 79684492314.07.4051C1B Received: from mx0a-00082601.pphosted.com (mx0a-00082601.pphosted.com [67.231.145.42]) by imf10.hostedemail.com (Postfix) with ESMTP id 61E4AC0076 for ; Thu, 14 Jul 2022 04:55:35 +0000 (UTC) Received: from pps.filterd (m0044010.ppops.net [127.0.0.1]) by mx0a-00082601.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 26DICf8e009029; Wed, 13 Jul 2022 21:54:44 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fb.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-id : content-transfer-encoding : mime-version; s=facebook; bh=ChtCdd7gfEBYoC3m6efpRshtoTfIk0qhA/+cFrhiJX4=; b=K6SJIXxHBRIk5rkUUgVMdYW1P6x5gUrJQXynxfSqrzchqmGsb/+UNikVYIgCIbn9Sql0 oMnesL8zUAjeRXycx0sO2BG3MtsKHJNHPHm3xZSZBM0VWG/vU+AYUvHDjM+4GRwqX8I4 QOnRCr13my7B9eCFNWCaNyrB1rf8cCD7ELQ= Received: from nam02-sn1-obe.outbound.protection.outlook.com (mail-sn1anam02lp2049.outbound.protection.outlook.com [104.47.57.49]) by mx0a-00082601.pphosted.com (PPS) with ESMTPS id 3h9h5f8w72-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 13 Jul 2022 21:54:44 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VUYtf30XGgpQyznVb4BSX5pdPDwv97YGZ/dTGbj0o7AXHhvDA/HzV49N+5Vv6O9XF/2tEAOVhDMy3/jAG/PNIiENsLtjiFMw/OPec2yZfK9Lb8MZ+ddw3J4qok2HFaKXQJBUaAGv0+tWGHbzMIYrQtJZkCsEoxI0VBZj7l/z3moiKeQ+Vv4xdCL3x8U1IaX+efY5HdsYeNmg+VxtUkKql36oWqOz+ikYxpOoSkyG9ieeqAUpwE2xgBo47PFMn90zPkjYxrQkH0mwpWGdvwtkvqIH8/tsrQoeoc/Cyvesnc2Er+M0d4sT78Xu4GcljBOaIk7RCtEOmCHye0JpDPx/Lg== 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=YQEuePZSf7xgpzquC5W+V/AyK5WlEnGxQD8mvqJAX2Q=; b=VHfUe3WdSB9sRe29FIhnbQFDgHv/xM/NybGe495Now0Nw1BsEXj6L/SmmVQ/2mqE8/vZjhyvc4naExyr4mDQzgu7JEh/cyrcbBf9yPvE/+2hgSQRHR0yxiOQSCuKWD9Mu7d1RrsoacggNH1n93HQM7hJtLOVjtRaURB3nUMZQ+SuwlsYGvSQshwbpDz18MXe2/QzAlG5O1h67SL1z9SwSWJKBXevBbpiHBoCGYeGqEvvoV6Cgdphnf8Swf45ldkZ+Gky+oTTaxI2qw1FMorwpfNVT3QmtM6CqGo2jozewvOEX272eHp/k/2plOlh6iJf19nwYihOhjDXi9u+ehG1Mg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=fb.com; dmarc=pass action=none header.from=fb.com; dkim=pass header.d=fb.com; arc=none Received: from SA1PR15MB5109.namprd15.prod.outlook.com (2603:10b6:806:1dc::10) by BN6PR15MB1764.namprd15.prod.outlook.com (2603:10b6:405:4d::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5438.12; Thu, 14 Jul 2022 04:54:41 +0000 Received: from SA1PR15MB5109.namprd15.prod.outlook.com ([fe80::5de3:3999:66df:42d1]) by SA1PR15MB5109.namprd15.prod.outlook.com ([fe80::5de3:3999:66df:42d1%4]) with mapi id 15.20.5438.012; Thu, 14 Jul 2022 04:54:41 +0000 From: Song Liu To: Christoph Hellwig CC: Song Liu , bpf , "linux-kernel@vger.kernel.org" , "linux-mm@kvack.org" , "linux-modules@vger.kernel.org" , "mcgrof@kernel.org" , "peterz@infradead.org" , "rostedt@goodmis.org" , "tglx@linutronix.de" , "mingo@redhat.com" , "bp@alien8.de" , "mhiramat@kernel.org" , "naveen.n.rao@linux.ibm.com" , "davem@davemloft.net" , "anil.s.keshavamurthy@intel.com" , "keescook@chromium.org" , "dave@stgolabs.net" , "daniel@iogearbox.net" , Kernel Team , "x86@kernel.org" , "dave.hansen@linux.intel.com" , "rick.p.edgecombe@intel.com" , "akpm@linux-foundation.org" Subject: Re: [PATCH bpf-next 1/3] mm/vmalloc: introduce vmalloc_exec which allocates RO+X memory Thread-Topic: [PATCH bpf-next 1/3] mm/vmalloc: introduce vmalloc_exec which allocates RO+X memory Thread-Index: AQHYlpK25UY5kW1ND0S/krM8qG//OK18E8oAgABfaYCAANKuAIAACKAA Date: Thu, 14 Jul 2022 04:54:40 +0000 Message-ID: <8AC2399B-F3B2-4F91-B18C-D9D3D5085471@fb.com> References: <20220713071846.3286727-1-song@kernel.org> <20220713071846.3286727-2-song@kernel.org> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: Apple Mail (2.3696.100.31) x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 35310173-57f2-4a96-e845-08da6554f649 x-ms-traffictypediagnostic: BN6PR15MB1764:EE_ x-fb-source: Internal x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: doAzMNhdqcg+iaZCNKfxUgnZT2soWdVXpx5fCSnYY9Jp9J5sw0VLlMnl2wX3xPiFU82P8YL1hmnWCNoZwqhQBJKJ76YIiiwbds54o/Ae1RHEbnRRtyD2XHk0HY8YAGMW0hpk4tZMYDwJyjE6SnO72M8bDZ4P3zyM+uMASOCvY8HPujX3q7WATZhRJ9Uoew+e4VDEtQnhJlyQkH5I8A1CmiMvA0boN42v9BNT5llPsdTc9rs0ZpK0ODq/IT8JoooIzF3B5wwc7yuY4qmIkdJCmdY3YbBclwfDMifrc6nUXrdCdOT39XDS8C3pCTQ6XBt9Z4v29suRajPMHh31+Dcat2gMk3raW9GUgmVHFZL8tMXT5n6GJGvX99NnESKHl9wqHTQ1NF170cJCsu2rITZ/BPOR3VruWMIlVt2qZlmi5L8HIgo7CBw/yvfSb7Ux9/6Uku3r1DeHK7fB++saZDwFJ0UHmtQ8UEI1x5I1iS5IMcPEQ5Q+87IWb1RWGTyab1tWFF9cQ+GFJnvoovyYWViC37QcPOlkYNqA6N+ynJ6d9h266nzITI71+a7Ihk4Fl1GnbFc06xlOw8T0vw74d7SmLRDQOC3b4LbGrJwF9iLP4rTs2RSANiJRQ5WSIV0y4qUckL9QyunI7R2CuT2I1NHo5qyDsuffpXxCZVt7PX+0q14CCqdB5wZyvHZYA7WVvoCokgeOaTzN8+hrCKuOccMxsg9/+cZkKmClyg6lzTiQLHMpq0ajeVZVVHjAbNNMU1R5CNpm3TGZ6Z0zX47hpP6ORbcWAsL7qIbX4Avwi3/iQLuSW1P59JcHUkvMgst0CwhtDnBroDklnGpuC6Z4UZbbhiBMjaSBXIZmCrANbWSfiYCGATn6TcXQtgx68bLd8RGO x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SA1PR15MB5109.namprd15.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(366004)(376002)(39860400002)(396003)(136003)(346002)(966005)(76116006)(41300700001)(66556008)(478600001)(8676002)(71200400001)(64756008)(6512007)(66446008)(6486002)(6506007)(66946007)(91956017)(86362001)(316002)(6916009)(53546011)(54906003)(66476007)(83380400001)(4326008)(122000001)(2616005)(38070700005)(186003)(36756003)(33656002)(8936002)(5660300002)(7416002)(38100700002)(2906002)(45980500001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?iQL943EOKpXWgcDfStJ3ZHK102GmBZCFOrsyyouEYL2esxqmtvkyqGFETBEv?= =?us-ascii?Q?blrJd8xizL4HB7YKORG4Bg7fS9Iwbpc/EdXyFBbFUTJHI/yqJ6DkwO4og3VQ?= =?us-ascii?Q?3C+Bc1CZFIaVPK5ZcZdv6EmQLCXjPKJgfKYQh0rIc5U00u/jD2+ViVzKvcPX?= =?us-ascii?Q?659acBr3t2wLDofKEmQR5QF/dtWAQ4d+jDrc5I4bA6AyS5KobpBh/2L227RS?= =?us-ascii?Q?RBf8kN5dBjGoLN3XwXfJBH3p7PcYW+Mo/eI9oG8s7Y/qcEAxGukt0wHE+w1D?= =?us-ascii?Q?y+GjWBBVCS2/RgxrhLMzuoL650Sqcmj063jvjHOUyFe5nH1uMn2uFKihodkV?= =?us-ascii?Q?UBOH8Xmn4B6FcalTWPl2vAcetcpihbA6EMMr75l6sxE9mFqtn5WcPngyVFoc?= =?us-ascii?Q?TSZ+EvNIbuA1EpfCXpohivB1Mma542kJDM+mih9u8fA701QX3QdobOkmrq95?= =?us-ascii?Q?sLDI/1uth6MokYLqMSYFRK/grCwkbbAQr1utdvELsGdMfd/s5LdATwTOZOY4?= =?us-ascii?Q?7IIQjp+I8vFcFzRxkTD+uFK/gpPa8DVA8543aT+LskZ+6IGBgDPy56Fwe/cy?= =?us-ascii?Q?2D79dMGYRVSG4i0HFBrO4+p+tb6w+AV3BZZJf3XxGI5PLBjyB0+4bYtyNsxN?= =?us-ascii?Q?iy1F0FTZnQ5u9uBmKC9H16n7gzo2khFcevNksjyuH1uC33R7kDDiGVHT0TCh?= =?us-ascii?Q?+NGrrFrumJp+qkerVhfOM/cj61bE0o/sjKOKSZ6jxcO6DSMQiyo2z+qEZHGw?= =?us-ascii?Q?Qv2mh4kbTKziKFjhsUfnzCzGD3emtMl+v2qP9HSH7QxZ//iMRY2Gr1/Kj7vP?= =?us-ascii?Q?41eVPtqmsFiq2mSvje1blEZwpgiY8s3fK8JKlViQCTjAM6yi0EfyW+GHWvU7?= =?us-ascii?Q?CKgpoCJ0GrD+0hO+Xt05n89FKdVYugUGACMcmpUk7+2AumgN68U8klzjl88X?= =?us-ascii?Q?mN15PLzIt+JtS+6iir++SDSuHxX6bJVNjPsm9Y0RsMXGUryU81jxPdjN6eHw?= =?us-ascii?Q?4xSL3TzQlV2GX1PHDqzZQ9MywOlA7V/O4SX0r/hAcJFjQydD6qpj8UWGoNgT?= =?us-ascii?Q?YAMzGo0DhATRNjrZ0GB4TtByuVQhZYykyuo8KPLrogFt6QQvlb3iyYK1fWKT?= =?us-ascii?Q?5YCe5r9hjUZTYGdJunngQEErlFRzkfVD+Zb9EEgJBsIlKuVRYgZ8dA9CBPKa?= =?us-ascii?Q?neuXlNceS9GmUovJMqwsNDjT5idqTSF9zwz/fzOgIDB9uir2BCrqk9JHigIb?= =?us-ascii?Q?xrJeYX9y7aW8YJnLCuw5yHpQcBMqdnR2jRZkCNg8Cx1UpAwvXxNX1d5L2DzE?= =?us-ascii?Q?Zq8OIlsCSQEIbBdlmXU/9dhwBitSBOro5sX4zBN4MFOL+OGZs8vj5F4q1yzh?= =?us-ascii?Q?rIjnqoVeqCzRWQEydUq6NN59dwLfLCGTsDDPTliZbFFezi3k1IG2Z3r7k6tb?= =?us-ascii?Q?J7v7EBHPUW9iV6ImNDGO6JlLFTe0SejoG3hsT+9BXZ4GdP0qlVvCwkoZDw0x?= =?us-ascii?Q?2I/gDI/yT9BSB16SYI1R+zm25YpCzPI1LOEd3d7sjPOjtxFM1G9eM2qsjf6x?= =?us-ascii?Q?elKsjLgcpF9SBIIrhbov6H8UIgyIt7RMBQI1Lc4EgJre6Tk5EPGETb+jbutM?= =?us-ascii?Q?NRUc2eneAVOY41leNRGH4sM=3D?= Content-Type: text/plain; charset="us-ascii" Content-ID: X-OriginatorOrg: fb.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SA1PR15MB5109.namprd15.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 35310173-57f2-4a96-e845-08da6554f649 X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Jul 2022 04:54:40.9731 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 8ae927fe-1255-47a7-a2af-5f3a069daaa2 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: eJaw49qNl/A4R6+tY3kRgffNoUQc8jDDESSG84KBjZp8u371jyTFLoH2BwiPD6h0w4lfHkxcZD7KIqx3WAUnag== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR15MB1764 X-Proofpoint-ORIG-GUID: 8ljzrXdOcnvUZ6G4JbcNCxydycFKbGRW X-Proofpoint-GUID: 8ljzrXdOcnvUZ6G4JbcNCxydycFKbGRW Content-Transfer-Encoding: quoted-printable X-Proofpoint-UnRewURL: 0 URL was un-rewritten MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.883,Hydra:6.0.517,FMLib:17.11.122.1 definitions=2022-07-14_03,2022-07-13_03,2022-06-22_01 ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1657774535; a=rsa-sha256; cv=fail; b=XIeszVyuMSbEJupmL1mIkX4V/GTkmdNekRj9e9rM5/hkQj0pGbtdUKTACFjiyR5JmQvqP9 TFbUyrHL+HrrK+EU9sxA+2fY+6kh3rh4c7o4fRu01Oc68pdyQu1+vm1SmKAjdaEI2sgYyP O3sLvuD06CSMjeo7doUiWJP1zeav7NM= ARC-Authentication-Results: i=2; imf10.hostedemail.com; dkim=pass header.d=fb.com header.s=facebook header.b=K6SJIXxH; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}"); dmarc=pass (policy=reject) header.from=fb.com; spf=none (imf10.hostedemail.com: domain of "prvs=819486568d=songliubraving@fb.com" has no SPF policy when checking 67.231.145.42) smtp.mailfrom="prvs=819486568d=songliubraving@fb.com" ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1657774535; 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=ChtCdd7gfEBYoC3m6efpRshtoTfIk0qhA/+cFrhiJX4=; b=JH5nCF+rAUgHWlLeNZAAX2iTWP1ye7zPmc9DAYa8LWw0Qhh8/oQ5Zt4RZYh/zeQwPCqLek 8YHI+JR0b5SvfDI92n5fNsk8JYc/wfQZpoWogOyOF8t5JB8mo7ut1kbqu9rK+/XESVtpq2 mOTpLhlT8PAWyGf8WUJU7VblTgk82Qw= X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 61E4AC0076 Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=fb.com header.s=facebook header.b=K6SJIXxH; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}"); dmarc=pass (policy=reject) header.from=fb.com; spf=none (imf10.hostedemail.com: domain of "prvs=819486568d=songliubraving@fb.com" has no SPF policy when checking 67.231.145.42) smtp.mailfrom="prvs=819486568d=songliubraving@fb.com" X-Stat-Signature: 15wk4fe33o6ijst5m533rid5f4rf8r5f X-Rspam-User: X-HE-Tag: 1657774535-216150 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: > On Jul 13, 2022, at 9:23 PM, Christoph Hellwig wrote: >=20 > On Wed, Jul 13, 2022 at 03:49:45PM +0000, Song Liu wrote: >>=20 >>=20 >>> On Jul 13, 2022, at 3:08 AM, Christoph Hellwig wrot= e: >>>=20 >>> NAK. This is not something that should be an exported public API >>> ever. >>=20 >> Hmm.. I will remove EXPORT_SYMBOL_GPL (if we ever do a v2 of this..) >=20 > Even without that it really is not a vmalloc API anyway.=20=20 This ... > Executable > memory needs to be written first, so we should allocate it in that state > and only mark it executable after that write has completed. ... and this are two separate NAKs. For the first NAK, I agree that my version is another layer on top of=20 vmalloc. But what do you think about Peter's idea? AFAICT, that fits well in vmalloc logic.=20 For the second NAK, I acknowledge the concern. However, I think we=20 will need some mechanism to update text without flipping W and X bit in=20 the page table. Otherwise, set_memory_* w/ alias will fragment the=20 direct map, and cause significant performance drop over time. If this really doesn't work because of this concern, we will need to look into=20 other solutions discussed in LSFMMBPF [1].=20 Thanks, Song [1] https://lwn.net/Articles/894557/