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

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

From: Christophe Leroy <hidden>
Date: 2023-09-22 10:13:32
Also in: bpf, linux-arm-kernel, linux-mips, linux-mm, linux-modules, linux-riscv, linux-s390, linux-trace-kernel, lkml, loongarch, netdev, sparclinux


Le 22/09/2023 à 10:55, Song Liu a écrit :
On Fri, Sep 22, 2023 at 12:17 AM Christophe Leroy
[off-list ref] wrote:
quoted


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?
In fact I may have misunderstood patch 9. I'll provide a response there.

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