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 D6461C4345F for ; Fri, 19 Apr 2024 20:00:46 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 081DC6B0083; Fri, 19 Apr 2024 16:00:46 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 032B66B0085; Fri, 19 Apr 2024 16:00:45 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E3B6A6B0088; Fri, 19 Apr 2024 16:00:45 -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 C68DB6B0083 for ; Fri, 19 Apr 2024 16:00:45 -0400 (EDT) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 7930114148F for ; Fri, 19 Apr 2024 20:00:45 +0000 (UTC) X-FDA: 82027349250.26.BB13F4F Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf10.hostedemail.com (Postfix) with ESMTP id B9652C0006 for ; Fri, 19 Apr 2024 20:00:43 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=hePROBT+; spf=pass (imf10.hostedemail.com: domain of rppt@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=rppt@kernel.org; dmarc=pass (policy=none) header.from=kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1713556843; a=rsa-sha256; cv=none; b=VeHNqGwwnQEzX1fDPMVQ5H1EUJnxWbRX3l8MS3mzBeZt4Qp1Q60LV8shiRRs5olSddFw2H lZhUGFj7V7TnI/jer0kJVLiEfzs1Bfhjc5/UnLCxscFhMGUkjj/2y4gDp/JT9UFPwLBbLO Wxb9jiX6tqGTjzN1MaGiforn5AAc8cY= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=hePROBT+; spf=pass (imf10.hostedemail.com: domain of rppt@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=rppt@kernel.org; dmarc=pass (policy=none) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1713556843; 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=Z7FmTSDL0DsiTFkA903ZicdtUlw/HmenLkxicgXNje0=; b=D4/Q1HECD68XVvVA0WVRQGopGXI6Wm0/5zLimb9ayW0+WyQu08vjH8mr8Tm0FWCJ9Y4THt 5eIZPvyAsSY0pJDyqKc4AyMwSCqtEGvy10sS6YXj5xJPD/rVK9JkAa5GTsKRkY8RNYtwnX V+VgiVPD9EsZauXCah2xkJh2tJiGSsE= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 815A661A8B; Fri, 19 Apr 2024 20:00:42 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 36E93C116B1; Fri, 19 Apr 2024 20:00:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1713556842; bh=1irIlRUcjlhAgXQYQkJd/oGHdCUHLQFxqqgY1XfLhP4=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=hePROBT+glizGF2HhWjQfOISipAvaDLeIwoPfB6eB/130EUaYxI8C9JiOZ0p4IuPP wJr3uvJ18Qdtvzvp+1EN21A1wIYXV57CwgYBWxwwSTpuZVC3Y+zaCK4bAzWjqyz19x of4ezj0xR0KrcZGKrma2TwE1tPaK9aqfe2f5ZULEd8dNouln7cfqCdOX1Qzu+4TMk8 WLbPp6C0rIz8BNuB+lG6UD/vpJZsyvT1zRcqUNkcRP+vw16ocKGnhDqx8/KxOoGcQD fvWWbiJ1tqrYnX18IQfVwbrFy6dcbjd61pDUGP6pZkbtq0sqUsgCyvD6UjOkfp09sG phC1jK7//sNkA== Date: Fri, 19 Apr 2024 22:59:22 +0300 From: Mike Rapoport To: Song Liu Cc: Mark Rutland , Peter Zijlstra , linux-kernel@vger.kernel.org, Alexandre Ghiti , Andrew Morton , Bjorn Topel , Catalin Marinas , Christophe Leroy , "David S. Miller" , Dinh Nguyen , Donald Dutile , Eric Chanudet , Heiko Carstens , Helge Deller , Huacai Chen , Kent Overstreet , Luis Chamberlain , Michael Ellerman , Nadav Amit , Palmer Dabbelt , Puranjay Mohan , Rick Edgecombe , Russell King , Steven Rostedt , Thomas Bogendoerfer , Thomas Gleixner , Will Deacon , bpf@vger.kernel.org, linux-arch@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mips@vger.kernel.org, linux-mm@kvack.org, linux-modules@vger.kernel.org, linux-parisc@vger.kernel.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org, linux-trace-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, loongarch@lists.linux.dev, netdev@vger.kernel.org, sparclinux@vger.kernel.org, x86@kernel.org Subject: Re: [PATCH v4 05/15] mm: introduce execmem_alloc() and execmem_free() Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: B9652C0006 X-Stat-Signature: apbtiznmpcfjj5jo8atg8hoee9juz14y X-Rspam-User: X-HE-Tag: 1713556843-766983 X-HE-Meta: U2FsdGVkX1+JR7EXxR9z0JQPx7T/RvGyVDiT4HAimNBL3+3ejaI6vPVemaUaD4wFkEwrc0DqxYDYKqz/zLGcnjqo1EVkrEBOkx1zU+bUfxvQ1g5HGmHaTvEcxtcikalprTplFpNrO6xrEcDJE1Oa5Pd00+ABEGKK+xn+DnLgy0oZqtJJxptL2pEjMB7TAXqMT8f4BkUoNN08Bnmt+wjyFteAMYuKsb+KvyX9CEbJwFpYaTCWZ+E7CwIEa4UXzvBdxmBpsnPGzBrD6jP1rWOjRVpWUo2vqIN1TblYtd8ieYVqg/5MMab5lRTllMxhCvUwToaCg77ZaSMJpACoe+4P3D1GeLB9QPRILjv9008LROZswrpkNFpl75MhU36fI/nNjKJTerOsg2+QYVOXN2CYQii6hPZo+Wsp9BiMRcQqvYqydNObgsWlnMQtEORK1LyzEyvwszn/QuUBiwF0vTSvLwhYzOamP47bJVMwxTxh506fFFps5CHkSCtAMOt/AGpdzy+M+9lmOXPU9bOK9J0hqTOivFfZSMyucjxpbKkIyD2wX33bHGBcRaXf+Gk7clMSWkyJJIylTIl/ZZ/4wu8mx1Egr1ul4dU6+SOn/Cy1jEQsxD8PcsM8pwUl1G4KT3hkEF8M5f8T+YeS1r5pJqI37ccfedHmHaZSkSftNPwZr66u/gzg991lI+FwoER7rzM5FCFMFcuqoXp5JRNqw/fQjqhDlci/8pykTGH5mze5MSjP0DhQDR0/tqFdTc5MwY25ibTUkxSeA8SdtCt5b9y33LzO1a6/1Q00kYID74jhdjdpfGuyOzeQ7rv+7djw0ITcth8Eju4C310EZINV+VMznTrfqEJAEOlQIQJNz/ww7Es3RD08dNA8yn4NoQ26S+/t/kSTN03gvXZymlIvHT92yW1s5OtcOxnhZIyytwXLLcUJql2mA0CZa6TDUM2+JFED/cV6Pw4NzJGpgYTqvVu hyYCXppX WxB/4PenaiDv9ngsTfb0TfbQ5tfrSg5McnFFeEpDaTjTjZWXEZxUhlw0ZrlSSavn1B9FyrysBb1wMo3cDYxQ56bA3aF9i6U1WLSOhZbbMD+9UdsRNDHDNrTRvMSEWUG6yDdp9jooTmIdDScjqVXXOgbXehBZzwghJ9c2nRyD4ueDIgO/LkhneqaGmMH8z+eWEZOvryzM7DUCyiAqJJmEPwZnH0GK+TaksRnQDbk3TR7OJphXnI9NEJXEY1wETM725FH6FB/d7b+r2GCioka53PQVzZBIu/CeYi2xSIEQydsmrmaI/0vo1gnH76+hc2bFLVzM3HtJC8bC0/A8MGLysDSzEgUjj/z7kvSdBudk1qFRSP1SwNS+sjfBqVw6X2Ot8DYS35x1ZPM972s4= 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: List-Subscribe: List-Unsubscribe: On Fri, Apr 19, 2024 at 10:32:39AM -0700, Song Liu wrote: > On Fri, Apr 19, 2024 at 10:03 AM Mike Rapoport wrote: > [...] > > > > > > > > [1] https://lore.kernel.org/all/20240411160526.2093408-1-rppt@kernel.org > > > > > > For the ROX to work, we need different users (module text, kprobe, etc.) to have > > > the same execmem_range. From [1]: > > > > > > static void *execmem_cache_alloc(struct execmem_range *range, size_t size) > > > { > > > ... > > > p = __execmem_cache_alloc(size); > > > if (p) > > > return p; > > > err = execmem_cache_populate(range, size); > > > ... > > > } > > > > > > We are calling __execmem_cache_alloc() without range. For this to work, > > > we can only call execmem_cache_alloc() with one execmem_range. > > > > Actually, on x86 this will "just work" because everything shares the same > > address space :) > > > > The 2M pages in the cache will be in the modules space, so > > __execmem_cache_alloc() will always return memory from that address space. > > > > For other architectures this indeed needs to be fixed with passing the > > range to __execmem_cache_alloc() and limiting search in the cache for that > > range. > > I think we at least need the "map to" concept (initially proposed by Thomas) > to get this work. For example, EXECMEM_BPF and EXECMEM_KPROBE > maps to EXECMEM_MODULE_TEXT, so that all these actually share > the same range. Why? > Does this make sense? > > Song -- Sincerely yours, Mike.