[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200724070116.GA1872085@linux.intel.com>
Date: Fri, 24 Jul 2020 10:01:16 +0300
From: Jarkko Sakkinen <jarkko.sakkinen@...ux.intel.com>
To: linux-kernel@...r.kernel.org
Cc: linux-mm@...ck.org, Andi Kleen <ak@...ux.intel.com>,
Masami Hiramatsu <mhiramat@...nel.org>,
Peter Zijlstra <peterz@...radead.org>
Subject: Re: [PATCH v5 0/6] arch/x86: kprobes: Remove MODULES dependency
On Fri, Jul 24, 2020 at 08:05:47AM +0300, Jarkko Sakkinen wrote:
> Remove MODULES dependency by migrating from module_alloc() to the new
> text_alloc() API. Essentially these changes provide preliminaries for
> allowing to compile a static kernel with a proper tracing support.
>
> The same API can be used later on in other sites that allocate space for
> trampolines, and trivially scaled to other arch's. An arch can inform
> with CONFIG_ARCH_HAS_TEXT_ALLOC that it's providing implementation for
> text_alloc().
>
> Cc: linux-mm@...ck.org
> Cc: Andi Kleen <ak@...ux.intel.com>
> Cc: Masami Hiramatsu <mhiramat@...nel.org>
> Cc: Peter Zijlstra <peterz@...radead.org>
>
> v4:
> * Squash lock_modules() patches into one.
> * Remove fallback versions of text_alloc() and text_free(). Instead, use
> ARCH_HAS_TEXT_ALLOC at site when required.
> * Use lockdep_assert_irqs_enabled() in text_free() instead of
> WARN_ON(in_interrupt()).
>
> v3:
> * Make text_alloc() API disjoint.
> * Remove all the possible extra clutter not absolutely required and
> split into more logical pieces.
>
> Jarkko Sakkinen (6):
> kprobes: Remove dependency to the module_mutex
> vmalloc: Add text_alloc() and text_free()
> arch/x86: Implement text_alloc() and text_free()
> arch/x86: kprobes: Use text_alloc() and text_free()
> kprobes: Use text_alloc() and text_free()
> kprobes: Remove CONFIG_MODULES dependency
>
> arch/Kconfig | 2 +-
> arch/x86/Kconfig | 3 ++
> arch/x86/kernel/Makefile | 1 +
> arch/x86/kernel/kprobes/core.c | 4 +--
> arch/x86/kernel/text_alloc.c | 41 +++++++++++++++++++++++
> include/linux/module.h | 32 ++++++++++++++----
> include/linux/vmalloc.h | 17 ++++++++++
> kernel/kprobes.c | 61 +++++++++++++++++++++++-----------
> kernel/trace/trace_kprobe.c | 20 ++++++++---
> 9 files changed, 147 insertions(+), 34 deletions(-)
> create mode 100644 arch/x86/kernel/text_alloc.c
>
> --
> 2.25.1
>
Duplicates were caused by Internet connection breaking up in the
middle. Apologies.
/Jarkko
Powered by blists - more mailing lists