Re: [PATCH] kprobes: Enable tracing for mololithic kernel images
From: Luis Chamberlain <mcgrof@kernel.org>
Date: 2022-06-08 20:26:41
Also in:
linux-mips, linux-modules, linux-riscv, linux-s390, lkml, sparclinux
da [off-list ref], Jarkko Sakkinen [off-list ref], Sami Tolvanen [off-list ref], "Naveen N. Rao" [off-list ref], Marco Elver [off-list ref], Kees Cook [off-list ref], Steven Rostedt [off-list ref], Nathan Chancellor [off-list ref], "Russell King \(Oracle\)" [off-list ref], Mark Brown [off-list ref], Borislav Petkov [off-list ref], Alexander Egorenkov [off-list ref], Thomas Bogendoerfer [off-list ref], Parisc List [off-list ref], Nathaniel McCallum [off-list ref], Dmitry Torokhov [off-list ref], "David S. Miller" [off-list ref], "Kirill A. Shutemov" [off-list ref], Tobias Huschle [off-list ref], "Peter Zijlstra \(Intel\)" [off-list ref], "H. Peter Anvin" [off-list ref], sparclinux [off-list ref], Tiezhu Yang [off-list ref], Miroslav Benes [off-list ref], Chen Zhongjin <chen zhongjin@huawei.com>, Ard Biesheuvel [off-list ref], the arch/x86 maintainers [off-list ref], Russell King [off-list ref], linux-riscv [off-list ref], Ingo Molnar [off-list ref], Aaron Tomlin [off-list ref], Albert Ou [off-list ref], Heiko Carstens [off-list ref], Liao Chang [off-list ref], Paul Walmsley [off-list ref], Josh Poimboeuf [off-list ref], Thomas Richter [off-list ref], "open list:BROADCOM NVRAM DRIVER" [off-list ref], Changbin Du [off-list ref], Palmer Dabbelt [off-list ref], linuxppc-dev [off-list ref], linux-modules@vger.kernel.org Errors-To: linuxppc-dev-bounces+linuxppc-dev=archiver.kernel.org@lists.ozlabs.org Sender: "Linuxppc-dev" [off-list ref] On Wed, Jun 08, 2022 at 11:20:53AM -0700, Song Liu wrote:
On Wed, Jun 8, 2022 at 9:12 AM Song Liu [off-list ref] wrote:quoted
On Wed, Jun 8, 2022 at 7:21 AM Masami Hiramatsu [off-list ref] wrote:quoted
On Wed, 8 Jun 2022 08:25:38 +0300 Jarkko Sakkinen [off-list ref] wrote:quoted
On Wed, Jun 08, 2022 at 10:35:42AM +0800, Guo Ren wrote:quoted
On Wed, Jun 8, 2022 at 8:02 AM Jarkko Sakkinen [off-list ref] wrote:quoted
As the result, kprobes can be used with a monolithic kernel.It's strange when MODULES is n, but vmlinux still obtains module_alloc. Maybe we need a kprobe_alloc, right?Perhaps not the best name but at least it documents the fact that they use the same allocator. Few years ago I carved up something "half-way there" for kprobes, and I used the name text_alloc() [*]. [*] https://lore.kernel.org/all/20200724050553.1724168-1-jarkko.sakkinen@linux.intel.com/ (local)Yeah, I remember that. Thank you for updating your patch! I think the idea (split module_alloc() from CONFIG_MODULE) is good to me. If module support maintainers think this name is not good, you may be able to rename it as text_alloc() and make the module_alloc() as a wrapper of it.IIUC, most users of module_alloc() use it to allocate memory for text, except that module code uses it for both text and data. Therefore, I guess calling it text_alloc() is not 100% accurate until we change the module code (to use a different API to allocate memory for data).Git history showed me 7a0e27b2a0ce mm: remove vmalloc_exec I guess we are somehow going back in time...
No, that was removed because it has only one user. The real hard work to generalize vmalloc_exec() with all the arch special sauce was not done. To do this properly architectures must be able to override it. We can use the old vmalloc_exec() or text_alloc(). I think vmalloc_exec() is more in line with mm stuff, but it would be our first __weak mm call from what I can tell. Anyway patches welcomed. Luis