Thread (49 messages) 49 messages, 7 authors, 2023-11-07

Re: [PATCH v3 06/13] mm/execmem: introduce execmem_data_alloc()

From: Song Liu <song@kernel.org>
Date: 2023-09-22 08:55:48
Also in: bpf, linux-arm-kernel, linux-mips, linux-mm, linux-modules, linux-riscv, linux-s390, linux-trace-kernel, linuxppc-dev, lkml, loongarch, sparclinux

On Fri, Sep 22, 2023 at 12:17 AM Christophe Leroy
[off-list ref] wrote:


Le 22/09/2023 à 00:52, Song Liu a écrit :
quoted
On Mon, Sep 18, 2023 at 12:31 AM Mike Rapoport [off-list ref] wrote:
quoted
[...]
quoted
diff --git a/include/linux/execmem.h b/include/linux/execmem.h
index 519bdfdca595..09d45ac786e9 100644
--- a/include/linux/execmem.h
+++ b/include/linux/execmem.h
@@ -29,6 +29,7 @@
   * @EXECMEM_KPROBES: parameters for kprobes
   * @EXECMEM_FTRACE: parameters for ftrace
   * @EXECMEM_BPF: parameters for BPF
+ * @EXECMEM_MODULE_DATA: parameters for module data sections
   * @EXECMEM_TYPE_MAX:
   */
  enum execmem_type {
@@ -37,6 +38,7 @@ enum execmem_type {
         EXECMEM_KPROBES,
         EXECMEM_FTRACE,
In longer term, I think we can improve the JITed code and merge
kprobe/ftrace/bpf. to use the same ranges. Also, do we need special
setting for FTRACE? If not, let's just remove it.
How can we do that ? Some platforms like powerpc require executable
memory for BPF and non-exec mem for KPROBE so it can't be in the same
area/ranges.
Hmm... non-exec mem for kprobes?

       if (strict_module_rwx_enabled())
               execmem_params.ranges[EXECMEM_KPROBES].pgprot = PAGE_KERNEL_ROX;
       else
               execmem_params.ranges[EXECMEM_KPROBES].pgprot = PAGE_KERNEL_EXEC;

Do you mean the latter case?

Thanks,
Song
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help