All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ritesh Harjani (IBM) <ritesh.list@gmail.com>
To: Mike Rapoport <rppt@kernel.org>,
	"Christophe Leroy (CS GROUP)" <chleroy@kernel.org>
Cc: linux-kernel@vger.kernel.org,
	"Alexandre Ghiti" <alexghiti@rivosinc.com>,
	"Andrew Morton" <akpm@linux-foundation.org>,
	"Björn Töpel" <bjorn@kernel.org>,
	"Catalin Marinas" <catalin.marinas@arm.com>,
	"David S. Miller" <davem@davemloft.net>,
	"Dinh Nguyen" <dinguyen@kernel.org>,
	"Donald Dutile" <ddutile@redhat.com>,
	"Eric Chanudet" <echanude@redhat.com>,
	"Heiko Carstens" <hca@linux.ibm.com>,
	"Helge Deller" <deller@gmx.de>,
	"Huacai Chen" <chenhuacai@kernel.org>,
	"Kent Overstreet" <kent.overstreet@linux.dev>,
	"Liviu Dudau" <liviu@dudau.co.uk>,
	"Luis Chamberlain" <mcgrof@kernel.org>,
	"Mark Rutland" <mark.rutland@arm.com>,
	"Masami Hiramatsu" <mhiramat@kernel.org>,
	"Michael Ellerman" <mpe@ellerman.id.au>,
	"Nadav Amit" <nadav.amit@gmail.com>,
	"Palmer Dabbelt" <palmer@dabbelt.com>,
	"Peter Zijlstra" <peterz@infradead.org>,
	"Philippe Mathieu-Daudé" <philmd@linaro.org>,
	"Rick Edgecombe" <rick.p.edgecombe@intel.com>,
	"Russell King" <linux@armlinux.org.uk>,
	"Sam Ravnborg" <sam@ravnborg.org>, "Song Liu" <song@kernel.org>,
	"Steven Rostedt" <rostedt@goodmis.org>,
	"Thomas Bogendoerfer" <tsbogend@alpha.franken.de>,
	"Thomas Gleixner" <tglx@linutronix.de>,
	"Will Deacon" <will@kernel.org>,
	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, "Madhavan Srinivasan" <maddy@linux.ibm.com>
Subject: Re: [PATCH RESEND v8 11/16] powerpc: extend execmem_params for kprobes allocations
Date: Sun, 15 Nov 2026 12:33:31 +0530	[thread overview]
Message-ID: <4idi8tks.ritesh.list@gmail.com> (raw)
In-Reply-To: <avlTdlK9ErlqVRYl@kernel.org>

Mike Rapoport <rppt@kernel.org> writes:

> Hi Christophe,
>
> On Fri, Nov 13, 2026 at 03:36:01PM +0100, Christophe Leroy (CS GROUP) wrote:
>> Hi Mike,
>> 
>> Looks like I missed this change ...
>> 

I didn't initially get what Christophe meant here. Then I came across this
reply of from him[1]. So looks like somehow between v3 to v8, something got
changed? 

    On powerpc book3s/32, vmalloc space is not executable. Only modules 
    space is executable. X/NX cannot be set on a per page basis, it can only 
    be set on a 256 Mbytes segment basis.

    See commit c49643319715 ("powerpc/32s: Only leave NX unset on segments 
    used for modules") and 6ca055322da8 ("powerpc/32s: Use dedicated segment 
    for modules with STRICT_KERNEL_RWX") and 7bee31ad8e2f ("powerpc/32s: Fix 
    is_module_segment() when MODULES_VADDR is defined").

    So if your intention is still to have an executable kprobes, then you 
    can't use vmalloc address space.

[1]: https://lore.kernel.org/all/1cb41761-29d0-5d33-b7c1-0ca3acaa810d@csgroup.eu/

>> Le 05/05/2024 à 18:06, Mike Rapoport a écrit :
>> > From: "Mike Rapoport (IBM)" <rppt@kernel.org>
>> > 
>> > powerpc overrides kprobes::alloc_insn_page() to remove writable
>> > permissions when STRICT_MODULE_RWX is on.
>> > 
>> > Add definition of EXECMEM_KRPOBES to execmem_params to allow using the
>> > generic kprobes::alloc_insn_page() with the desired permissions.
>> > 
>> > As powerpc uses breakpoint instructions to inject kprobes, it does not
>> > need to constrain kprobe allocations to the modules area and can use the
>> > entire vmalloc address space.
>> 
>> Using breakpoint means the segment must still be executable.
>> On book3s/32 VMALLOC segment is not executable, while module segment is.
>> 
>> See commit 6ca055322da8 ("powerpc/32s: Use dedicated segment for modules
>> with STRICT_KERNEL_RWX")
>> 
>> See report and fix at https://lore.kernel.org/all/ed03d290d440d579a81ae0b7de5243721291d903.1794543909.git.ritesh.list@gmail.com/
>
> I'll take a look, thanks!
>  

Thanks Mike for taking a look. Sorry, I should have ccd'd you there, I
guess I missed it. However, the changes are these one here [2][3]

[2]: https://lore.kernel.org/linuxppc-dev/82c4973addebd82923c460cb44221f5b76146afe.1794572365.git.ritesh.list@gmail.com/
[3]: https://lore.kernel.org/linuxppc-dev/f75f2cf97f44375fd2c8820e0caeab703cdb371c.1794572365.git.ritesh.list@gmail.com/

-ritesh


WARNING: multiple messages have this Message-ID (diff)
From: Ritesh Harjani (IBM) <ritesh.list@gmail.com>
To: Mike Rapoport <rppt@kernel.org>,
	"Christophe Leroy (CS GROUP)" <chleroy@kernel.org>
Cc: linux-kernel@vger.kernel.org,
	"Alexandre Ghiti" <alexghiti@rivosinc.com>,
	"Andrew Morton" <akpm@linux-foundation.org>,
	"Björn Töpel" <bjorn@kernel.org>,
	"Catalin Marinas" <catalin.marinas@arm.com>,
	"David S. Miller" <davem@davemloft.net>,
	"Dinh Nguyen" <dinguyen@kernel.org>,
	"Donald Dutile" <ddutile@redhat.com>,
	"Eric Chanudet" <echanude@redhat.com>,
	"Heiko Carstens" <hca@linux.ibm.com>,
	"Helge Deller" <deller@gmx.de>,
	"Huacai Chen" <chenhuacai@kernel.org>,
	"Kent Overstreet" <kent.overstreet@linux.dev>,
	"Liviu Dudau" <liviu@dudau.co.uk>,
	"Luis Chamberlain" <mcgrof@kernel.org>,
	"Mark Rutland" <mark.rutland@arm.com>,
	"Masami Hiramatsu" <mhiramat@kernel.org>,
	"Michael Ellerman" <mpe@ellerman.id.au>,
	"Nadav Amit" <nadav.amit@gmail.com>,
	"Palmer Dabbelt" <palmer@dabbelt.com>,
	"Peter Zijlstra" <peterz@infradead.org>,
	"Philippe Mathieu-Daudé" <philmd@linaro.org>,
	"Rick Edgecombe" <rick.p.edgecombe@intel.com>,
	"Russell King" <linux@armlinux.org.uk>,
	"Sam Ravnborg" <sam@ravnborg.org>, "Song Liu" <song@kernel.org>,
	"Steven Rostedt" <rostedt@goodmis.org>,
	"Thomas Bogendoerfer" <tsbogend@alpha.franken.de>,
	"Thomas Gleixner" <tglx@linutronix.de>,
	"Will Deacon" <will@kernel.org>,
	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, "Madhavan Srinivasan" <maddy@linux.ibm.com>
Subject: Re: [PATCH RESEND v8 11/16] powerpc: extend execmem_params for kprobes allocations
Date: Sun, 15 Nov 2026 12:33:31 +0530	[thread overview]
Message-ID: <4idi8tks.ritesh.list@gmail.com> (raw)
In-Reply-To: <avlTdlK9ErlqVRYl@kernel.org>

Mike Rapoport <rppt@kernel.org> writes:

> Hi Christophe,
>
> On Fri, Nov 13, 2026 at 03:36:01PM +0100, Christophe Leroy (CS GROUP) wrote:
>> Hi Mike,
>> 
>> Looks like I missed this change ...
>> 

I didn't initially get what Christophe meant here. Then I came across this
reply of from him[1]. So looks like somehow between v3 to v8, something got
changed? 

    On powerpc book3s/32, vmalloc space is not executable. Only modules 
    space is executable. X/NX cannot be set on a per page basis, it can only 
    be set on a 256 Mbytes segment basis.

    See commit c49643319715 ("powerpc/32s: Only leave NX unset on segments 
    used for modules") and 6ca055322da8 ("powerpc/32s: Use dedicated segment 
    for modules with STRICT_KERNEL_RWX") and 7bee31ad8e2f ("powerpc/32s: Fix 
    is_module_segment() when MODULES_VADDR is defined").

    So if your intention is still to have an executable kprobes, then you 
    can't use vmalloc address space.

[1]: https://lore.kernel.org/all/1cb41761-29d0-5d33-b7c1-0ca3acaa810d@csgroup.eu/

>> Le 05/05/2024 à 18:06, Mike Rapoport a écrit :
>> > From: "Mike Rapoport (IBM)" <rppt@kernel.org>
>> > 
>> > powerpc overrides kprobes::alloc_insn_page() to remove writable
>> > permissions when STRICT_MODULE_RWX is on.
>> > 
>> > Add definition of EXECMEM_KRPOBES to execmem_params to allow using the
>> > generic kprobes::alloc_insn_page() with the desired permissions.
>> > 
>> > As powerpc uses breakpoint instructions to inject kprobes, it does not
>> > need to constrain kprobe allocations to the modules area and can use the
>> > entire vmalloc address space.
>> 
>> Using breakpoint means the segment must still be executable.
>> On book3s/32 VMALLOC segment is not executable, while module segment is.
>> 
>> See commit 6ca055322da8 ("powerpc/32s: Use dedicated segment for modules
>> with STRICT_KERNEL_RWX")
>> 
>> See report and fix at https://lore.kernel.org/all/ed03d290d440d579a81ae0b7de5243721291d903.1794543909.git.ritesh.list@gmail.com/
>
> I'll take a look, thanks!
>  

Thanks Mike for taking a look. Sorry, I should have ccd'd you there, I
guess I missed it. However, the changes are these one here [2][3]

[2]: https://lore.kernel.org/linuxppc-dev/82c4973addebd82923c460cb44221f5b76146afe.1794572365.git.ritesh.list@gmail.com/
[3]: https://lore.kernel.org/linuxppc-dev/f75f2cf97f44375fd2c8820e0caeab703cdb371c.1794572365.git.ritesh.list@gmail.com/

-ritesh


_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

  reply	other threads:[~2026-11-15  7:13 UTC|newest]

Thread overview: 98+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-05-05 16:06 [PATCH RESEND v8 00/16] mm: jit/text allocator Mike Rapoport
2024-05-05 16:06 ` Mike Rapoport
2024-05-05 16:06 ` Mike Rapoport
2024-05-05 16:06 ` Mike Rapoport
2024-05-05 16:06 ` [PATCH RESEND v8 01/16] arm64: module: remove unneeded call to kasan_alloc_module_shadow() Mike Rapoport
2024-05-05 16:06   ` Mike Rapoport
2024-05-05 16:06   ` Mike Rapoport
2024-05-05 16:06   ` Mike Rapoport
2024-05-05 16:06 ` [PATCH RESEND v8 02/16] mips: module: rename MODULE_START to MODULES_VADDR Mike Rapoport
2024-05-05 16:06   ` Mike Rapoport
2024-05-05 16:06   ` Mike Rapoport
2024-05-05 16:06   ` Mike Rapoport
2024-05-05 16:06 ` [PATCH RESEND v8 03/16] nios2: define virtual address space for modules Mike Rapoport
2024-05-05 16:06   ` Mike Rapoport
2024-05-05 16:06   ` Mike Rapoport
2024-05-05 16:06   ` Mike Rapoport
2024-05-05 16:06 ` [PATCH RESEND v8 04/16] sparc: simplify module_alloc() Mike Rapoport
2024-05-05 16:06   ` Mike Rapoport
2024-05-05 16:06   ` Mike Rapoport
2024-05-05 16:06   ` Mike Rapoport
2024-05-05 16:06 ` [PATCH RESEND v8 05/16] module: make module_memory_{alloc,free} more self-contained Mike Rapoport
2024-05-05 16:06   ` Mike Rapoport
2024-05-05 16:06   ` Mike Rapoport
2024-05-05 16:06   ` Mike Rapoport
2024-05-07 23:41   ` Masami Hiramatsu
2024-05-07 23:41     ` Masami Hiramatsu
2024-05-07 23:41     ` Masami Hiramatsu
2024-05-07 23:41     ` Masami Hiramatsu
2024-05-05 16:06 ` [PATCH RESEND v8 06/16] mm: introduce execmem_alloc() and execmem_free() Mike Rapoport
2024-05-05 16:06   ` Mike Rapoport
2024-05-05 16:06   ` Mike Rapoport
2024-05-05 16:06   ` Mike Rapoport
2024-05-05 16:06 ` [PATCH RESEND v8 07/16] mm/execmem, arch: convert simple overrides of module_alloc to execmem Mike Rapoport
2024-05-05 16:06   ` Mike Rapoport
2024-05-05 16:06   ` Mike Rapoport
2024-05-05 16:06   ` Mike Rapoport
2024-05-07 23:52   ` Masami Hiramatsu
2024-05-07 23:52     ` Masami Hiramatsu
2024-05-07 23:52     ` Masami Hiramatsu
2024-05-07 23:52     ` Masami Hiramatsu
2024-05-05 16:06 ` [PATCH RESEND v8 08/16] mm/execmem, arch: convert remaining " Mike Rapoport
2024-05-05 16:06   ` Mike Rapoport
2024-05-05 16:06   ` Mike Rapoport
2024-05-05 16:06   ` Mike Rapoport
2024-05-05 16:06 ` [PATCH RESEND v8 09/16] riscv: extend execmem_params for generated code allocations Mike Rapoport
2024-05-05 16:06   ` Mike Rapoport
2024-05-05 16:06   ` Mike Rapoport
2024-05-05 16:06   ` Mike Rapoport
2024-05-05 16:06 ` [PATCH RESEND v8 10/16] arm64: extend execmem_info " Mike Rapoport
2024-05-05 16:06   ` Mike Rapoport
2024-05-05 16:06   ` Mike Rapoport
2024-05-05 16:06   ` Mike Rapoport
2024-05-05 16:06 ` [PATCH RESEND v8 11/16] powerpc: extend execmem_params for kprobes allocations Mike Rapoport
2024-05-05 16:06   ` Mike Rapoport
2024-05-05 16:06   ` Mike Rapoport
2024-05-05 16:06   ` Mike Rapoport
2026-11-13 14:36   ` Christophe Leroy (CS GROUP)
2026-11-13 14:36     ` Christophe Leroy (CS GROUP)
2026-11-15  6:38     ` Mike Rapoport
2026-11-15  6:38       ` Mike Rapoport
2026-11-15  7:03       ` Ritesh Harjani [this message]
2026-11-15  7:03         ` Ritesh Harjani
2024-05-05 16:06 ` [PATCH RESEND v8 12/16] arch: make execmem setup available regardless of CONFIG_MODULES Mike Rapoport
2024-05-05 16:06   ` Mike Rapoport
2024-05-05 16:06   ` Mike Rapoport
2024-05-05 16:06   ` Mike Rapoport
2024-05-05 16:06 ` [PATCH RESEND v8 13/16] x86/ftrace: enable dynamic ftrace without CONFIG_MODULES Mike Rapoport
2024-05-05 16:06   ` Mike Rapoport
2024-05-05 16:06   ` Mike Rapoport
2024-05-05 16:06   ` Mike Rapoport
2024-05-05 16:06 ` [PATCH RESEND v8 14/16] powerpc: use CONFIG_EXECMEM instead of CONFIG_MODULES where appropriate Mike Rapoport
2024-05-05 16:06   ` Mike Rapoport
2024-05-05 16:06   ` Mike Rapoport
2024-05-05 16:06   ` Mike Rapoport
2024-05-05 16:06 ` [PATCH RESEND v8 15/16] kprobes: remove dependency on CONFIG_MODULES Mike Rapoport
2024-05-05 16:06   ` Mike Rapoport
2024-05-05 16:06   ` Mike Rapoport
2024-05-05 16:06   ` Mike Rapoport
2024-05-05 16:06 ` [PATCH RESEND v8 16/16] bpf: remove CONFIG_BPF_JIT dependency on CONFIG_MODULES of Mike Rapoport
2024-05-05 16:06   ` Mike Rapoport
2024-05-05 16:06   ` Mike Rapoport
2024-05-05 16:06   ` Mike Rapoport
2024-05-16 23:00   ` Klara Modin
2024-05-16 23:00     ` Klara Modin
2024-05-16 23:00     ` Klara Modin
2024-05-16 23:00     ` Klara Modin
2024-05-17 15:46     ` Will Deacon
2024-05-17 15:46       ` Will Deacon
2024-05-17 15:46       ` Will Deacon
2024-05-17 15:46       ` Will Deacon
2024-05-17 16:09       ` Klara Modin
2024-05-17 16:09         ` Klara Modin
2024-05-17 16:09         ` Klara Modin
2024-05-17 16:09         ` Klara Modin
2024-05-05 19:33 ` [PATCH RESEND v8 00/16] mm: jit/text allocator Luis Chamberlain
2024-05-05 19:33   ` Luis Chamberlain
2024-05-05 19:33   ` Luis Chamberlain
2024-05-05 19:33   ` Luis Chamberlain

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4idi8tks.ritesh.list@gmail.com \
    --to=ritesh.list@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=alexghiti@rivosinc.com \
    --cc=bjorn@kernel.org \
    --cc=bpf@vger.kernel.org \
    --cc=catalin.marinas@arm.com \
    --cc=chenhuacai@kernel.org \
    --cc=chleroy@kernel.org \
    --cc=davem@davemloft.net \
    --cc=ddutile@redhat.com \
    --cc=deller@gmx.de \
    --cc=dinguyen@kernel.org \
    --cc=echanude@redhat.com \
    --cc=hca@linux.ibm.com \
    --cc=kent.overstreet@linux.dev \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mips@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-modules@vger.kernel.org \
    --cc=linux-parisc@vger.kernel.org \
    --cc=linux-riscv@lists.infradead.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=linux-trace-kernel@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=liviu@dudau.co.uk \
    --cc=loongarch@lists.linux.dev \
    --cc=maddy@linux.ibm.com \
    --cc=mark.rutland@arm.com \
    --cc=mcgrof@kernel.org \
    --cc=mhiramat@kernel.org \
    --cc=mpe@ellerman.id.au \
    --cc=nadav.amit@gmail.com \
    --cc=netdev@vger.kernel.org \
    --cc=palmer@dabbelt.com \
    --cc=peterz@infradead.org \
    --cc=philmd@linaro.org \
    --cc=rick.p.edgecombe@intel.com \
    --cc=rostedt@goodmis.org \
    --cc=rppt@kernel.org \
    --cc=sam@ravnborg.org \
    --cc=song@kernel.org \
    --cc=sparclinux@vger.kernel.org \
    --cc=tglx@linutronix.de \
    --cc=tsbogend@alpha.franken.de \
    --cc=will@kernel.org \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.