[RFC PATCH 3/7] module: prepare to handle ROX allocations for text

2024-04-11 Thread Mike Rapoport
From: "Mike Rapoport (IBM)" In order to support ROX allocations for module text, it is necessary to handle modifications to the code, such as relocations and alternatives patching, without write access to that memory. One option is to use text patching, but this would make modu

[RFC PATCH 2/7] mm: vmalloc: don't account for number of nodes for HUGE_VMAP allocations

2024-04-11 Thread Mike Rapoport
From: "Mike Rapoport (IBM)" vmalloc allocations with VM_ALLOW_HUGE_VMAP that do not explictly specify node ID will use huge pages only if size_per_node is larger than PMD_SIZE. Still the actual allocated memory is not distributed between nodes and there is no advantage in suc

[RFC PATCH 1/7] asm-generic: introduce text-patching.h

2024-04-11 Thread Mike Rapoport
From: "Mike Rapoport (IBM)" Several architectures support text patching, but they name the header files that declare patching functions differently. Make all such headers consistently named text-patching.h and add an empty header in asm-generic for architectures that do not su

[RFC PATCH 0/7] x86/module: use large ROX pages for text allocations

2024-04-11 Thread Mike Rapoport
From: "Mike Rapoport (IBM)" Hi, These patches add support for using large ROX pages for allocations of executable memory on x86. They address Andy's comments [1] about having executable mappings for code that was not completely formed. The approach taken is to allocate ROX me

[PATCH v4 15/15] bpf: remove CONFIG_BPF_JIT dependency on CONFIG_MODULES of

2024-04-11 Thread Mike Rapoport
From: "Mike Rapoport (IBM)" BPF just-in-time compiler depended on CONFIG_MODULES because it used module_alloc() to allocate memory for the generated code. Since code allocations are now implemented with execmem, drop dependency of CONFIG_BPF_JIT on CONFIG_MODULES and make

[PATCH v4 14/15] kprobes: remove dependency on CONFIG_MODULES

2024-04-11 Thread Mike Rapoport
From: "Mike Rapoport (IBM)" kprobes depended on CONFIG_MODULES because it has to allocate memory for code. Since code allocations are now implemented with execmem, kprobes can be enabled in non-modular kernels. Add #ifdef CONFIG_MODULE guards for the code dealing with kprobes insi

[PATCH v4 13/15] powerpc: use CONFIG_EXECMEM instead of CONFIG_MODULES where appropiate

2024-04-11 Thread Mike Rapoport
From: "Mike Rapoport (IBM)" There are places where CONFIG_MODULES guards the code that depends on memory allocation being done with module_alloc(). Replace CONFIG_MODULES with CONFIG_EXECMEM in such places. Signed-off-by: Mike Rapoport (IBM) --- arch/powerpc/Kconfig

[PATCH v4 12/15] x86/ftrace: enable dynamic ftrace without CONFIG_MODULES

2024-04-11 Thread Mike Rapoport
From: "Mike Rapoport (IBM)" Dynamic ftrace must allocate memory for code and this was impossible without CONFIG_MODULES. With execmem separated from the modules code, execmem_text_alloc() is available regardless of CONFIG_MODULES. Remove dependency of dynamic ftrace on CONFIG_MODULE

[PATCH v4 11/15] arch: make execmem setup available regardless of CONFIG_MODULES

2024-04-11 Thread Mike Rapoport
From: "Mike Rapoport (IBM)" execmem does not depend on modules, on the contrary modules use execmem. To make execmem available when CONFIG_MODULES=n, for instance for kprobes, split execmem_params initialization out from arch/*/kernel/module.c and compile it when CONFIG_EXECMEM=y

[PATCH v4 10/15] powerpc: extend execmem_params for kprobes allocations

2024-04-11 Thread Mike Rapoport
From: "Mike Rapoport (IBM)" 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 po

[PATCH v4 09/15] riscv: extend execmem_params for generated code allocations

2024-04-11 Thread Mike Rapoport
From: "Mike Rapoport (IBM)" The memory allocations for kprobes and BPF on RISC-V are not placed in the modules area and these custom allocations are implemented with overrides of alloc_insn_page() and bpf_jit_alloc_exec(). Slightly reorder execmem_params initialization to suppo

[PATCH v4 08/15] arm64: extend execmem_info for generated code allocations

2024-04-11 Thread Mike Rapoport
From: "Mike Rapoport (IBM)" The memory allocations for kprobes and BPF on arm64 can be placed anywhere in vmalloc address space and currently this is implemented with overrides of alloc_insn_page() and bpf_jit_alloc_exec() in arm64. Define EXECMEM_KPROBES and EXECMEM_BPF range

[PATCH v4 07/15] mm/execmem, arch: convert remaining overrides of module_alloc to execmem

2024-04-11 Thread Mike Rapoport
From: "Mike Rapoport (IBM)" Extend execmem parameters to accommodate more complex overrides of module_alloc() by architectures. This includes specification of a fallback range required by arm, arm64 and powerpc, EXECMEM_MODULE_DATA type required by powerpc, support for allocatio

[PATCH v4 06/15] mm/execmem, arch: convert simple overrides of module_alloc to execmem

2024-04-11 Thread Mike Rapoport
From: "Mike Rapoport (IBM)" Several architectures override module_alloc() only to define address range for code allocations different than VMALLOC address space. Provide a generic implementation in execmem that uses the parameters for address space ranges, required alignmen

[PATCH v4 05/15] mm: introduce execmem_alloc() and execmem_free()

2024-04-11 Thread Mike Rapoport
From: "Mike Rapoport (IBM)" module_alloc() is used everywhere as a mean to allocate memory for code. Beside being semantically wrong, this unnecessarily ties all subsystems that need to allocate code, such as ftrace, kprobes and BPF to modules and puts the burden of code

[PATCH v4 04/15] module: make module_memory_{alloc,free} more self-contained

2024-04-11 Thread Mike Rapoport
From: "Mike Rapoport (IBM)" Move the logic related to the memory allocation and freeing into module_memory_alloc() and module_memory_free(). Signed-off-by: Mike Rapoport (IBM) --- kernel/module/main.c | 64 +++- 1 file changed, 39 inserti

[PATCH v4 03/15] nios2: define virtual address space for modules

2024-04-11 Thread Mike Rapoport
From: "Mike Rapoport (IBM)" nios2 uses kmalloc() to implement module_alloc() because CALL26/PCREL26 cannot reach all of vmalloc address space. Define module space as 32MiB below the kernel base and switch nios2 to use vmalloc for module allocations. Suggested-by: Thomas Gleix

[PATCH v4 02/15] mips: module: rename MODULE_START to MODULES_VADDR

2024-04-11 Thread Mike Rapoport
From: "Mike Rapoport (IBM)" and MODULE_END to MODULES_END to match other architectures that define custom address space for modules. Signed-off-by: Mike Rapoport (IBM) --- arch/mips/include/asm/pgtable-64.h | 4 ++-- arch/mips/kernel/module.c | 4 ++-- arch/mips/

[PATCH v4 01/15] arm64: module: remove uneeded call to kasan_alloc_module_shadow()

2024-04-11 Thread Mike Rapoport
From: "Mike Rapoport (IBM)" Since commit f6f37d9320a1 ("arm64: select KASAN_VMALLOC for SW/HW_TAGS modes") KASAN_VMALLOC is always enabled when KASAN is on. This means that allocations in module_alloc() will be tracked by KASAN protection for vmalloc() and that kasan

[PATCH v4 00/15] mm: jit/text allocator

2024-04-11 Thread Mike Rapoport
From: "Mike Rapoport (IBM)" Hi, Since v3 I looked into making execmem more of an utility toolbox, as we discussed at LPC with Mark Rutland, but it was getting more hairier than having a struct describing architecture constraints and a type identifying the consumer of execmem. And

Re: [PATCH v2 4/6] mm/mm_init.c: remove meaningless calculation of zone->managed_pages in free_area_init_core()

2024-03-28 Thread Mike Rapoport
On Thu, Mar 28, 2024 at 04:32:38PM +0800, Baoquan He wrote: > On 03/25/24 at 10:56pm, Baoquan He wrote: > > > > /* > > -* Set an approximate value for lowmem here, it will be adjusted > > -* when the bootmem allocator frees pages into the buddy system. > > -

Re: [PATCH RFC 0/3] mm/gup: consistently call it GUP-fast

2024-03-28 Thread Mike Rapoport
On Thu, Mar 28, 2024 at 07:09:13AM +0100, Arnd Bergmann wrote: > On Thu, Mar 28, 2024, at 06:51, Vineet Gupta wrote: > > On 3/27/24 09:22, Arnd Bergmann wrote: > >> On Wed, Mar 27, 2024, at 16:39, David Hildenbrand wrote: > >>> On 27.03.24 16:21, Peter Xu wrote: > On Wed, Mar 27, 2024 at

Re: [PATCH v2 5/6] mm/mm_init.c: remove unneeded calc_memmap_size()

2024-03-27 Thread Mike Rapoport
On Mon, Mar 25, 2024 at 10:56:45PM +0800, Baoquan He wrote: > Nobody calls calc_memmap_size() now. > > Signed-off-by: Baoquan He Reviewed-by: Mike Rapoport (IBM) Looks like I replied to patch 6/6 twice by mistake and missed this one. > --- > mm/mm_init.c | 20 ---

Re: [PATCH v2 6/6] mm/mm_init.c: remove arch_reserved_kernel_pages()

2024-03-27 Thread Mike Rapoport
On Mon, Mar 25, 2024 at 10:56:46PM +0800, Baoquan He wrote: > Since the current calculation of calc_nr_kernel_pages() has taken into > consideration of kernel reserved memory, no need to have > arch_reserved_kernel_pages() any more. > > Signed-off-by: Baoquan He Reviewed-by: Mik

Re: [PATCH v2 4/6] mm/mm_init.c: remove meaningless calculation of zone->managed_pages in free_area_init_core()

2024-03-27 Thread Mike Rapoport
; case. > > And also clean up the outdated code comment above free_area_init_core(). > And free_area_init_core() is easy to understand now, no need to add > words to explain. > > Signed-off-by: Baoquan He Reviewed-by: Mike Rapoport (IBM) > --- > mm/mm_init.c | 46 +- > 1 file changed, 5 insertions(+), 41 deletions(-)

Re: [PATCH v2 3/6] mm/mm_init.c: add new function calc_nr_all_pages()

2024-03-27 Thread Mike Rapoport
ator, including HIGHMEM memory. While nr_kernel_pages counts up > all free but not reserved low memory in memblock allocator, excluding > HIGHMEM memory. > > Signed-off-by: Baoquan He Reviewed-by: Mike Rapoport (IBM) > --- > mm/mm_init.c | 24 > 1 file

Re: [PATCH RFC 3/3] mm: use "GUP-fast" instead "fast GUP" in remaining comments

2024-03-27 Thread Mike Rapoport
On Wed, Mar 27, 2024 at 02:05:38PM +0100, David Hildenbrand wrote: > Let's fixup the remaining comments to consistently call that thing > "GUP-fast". With this change, we consistently call it "GUP-fast". > > Signed-off-by: David Hildenbrand Reviewed-by: M

Re: [PATCH RFC 2/3] mm/treewide: rename CONFIG_HAVE_FAST_GUP to CONFIG_HAVE_GUP_FAST

2024-03-27 Thread Mike Rapoport
et's make the config option reflect that. > > Signed-off-by: David Hildenbrand Reviewed-by: Mike Rapoport (IBM) > --- > arch/arm/Kconfig | 2 +- > arch/arm64/Kconfig | 2 +- > arch/loongarch/Kconfig | 2 +- > arch/mips/Kconfig | 2 +- > arch/powerpc/Kconfig | 2 +- >

Re: [PATCH v2 6/6] mm/mm_init.c: remove arch_reserved_kernel_pages()

2024-03-26 Thread Mike Rapoport
On Mon, Mar 25, 2024 at 10:56:46PM +0800, Baoquan He wrote: > Since the current calculation of calc_nr_kernel_pages() has taken into > consideration of kernel reserved memory, no need to have > arch_reserved_kernel_pages() any more. > > Signed-off-by: Baoquan He Reviewed-by: Mik

Re: [PATCH v2 3/6] mm/mm_init.c: add new function calc_nr_all_pages()

2024-03-26 Thread Mike Rapoport
Hi Baoquan, On Mon, Mar 25, 2024 at 10:56:43PM +0800, Baoquan He wrote: > This is a preparation to calculate nr_kernel_pages and nr_all_pages, > both of which will be used later in alloc_large_system_hash(). > > nr_all_pages counts up all free but not reserved memory in memblock > allocator,

Re: [PATCH v2 2/6] mm/mm_init.c: remove the useless dma_reserve

2024-03-26 Thread Mike Rapoport
On Mon, Mar 25, 2024 at 10:56:42PM +0800, Baoquan He wrote: > Now nobody calls set_dma_reserve() to set value for dma_reserve, remove > set_dma_reserve(), global variable dma_reserve and the codes using it. > > Signed-off-by: Baoquan He Reviewed-by: Mike Rapoport (IBM) > --- &

Re: [PATCH v2 1/6] x86: remove unneeded memblock_find_dma_reserve()

2024-03-26 Thread Mike Rapoport
ne's pcp and watermark setting are all done after mem_init(). So, > no need to worry about the DMA zone's setting accuracy during > free_area_init(). > > Hence, remove memblock_find_dma_reserve() to stop calculating and > setting dma_reserve. > > Signed-off-by: Baoquan He

Re: [PATCH 2/6] x86: remove memblock_find_dma_reserve()

2024-03-20 Thread Mike Rapoport
On Wed, Mar 20, 2024 at 03:52:52PM +0800, Baoquan He wrote: > On 03/19/24 at 05:49pm, Mike Rapoport wrote: > > Hi Baoquan, > > > > On Mon, Mar 18, 2024 at 10:21:34PM +0800, Baoquan He wrote: > > > This is not needed any more. > > > > I'd swap this an

Re: [PATCH 4/6] mm/mm_init.c: remove meaningless calculation of zone->managed_pages in free_area_init_core()

2024-03-19 Thread Mike Rapoport
On Mon, Mar 18, 2024 at 10:21:36PM +0800, Baoquan He wrote: > Currently, in free_area_init_core(), when initialize zone's field, a > rough value is set to zone->managed_pages. That value is calculated by > (zone->present_pages - memmap_pages). > > In the meantime, add the value to nr_all_pages

Re: [PATCH 2/6] x86: remove memblock_find_dma_reserve()

2024-03-19 Thread Mike Rapoport
Hi Baoquan, On Mon, Mar 18, 2024 at 10:21:34PM +0800, Baoquan He wrote: > This is not needed any more. I'd swap this and the first patch, so that the first patch would remove memblock_find_dma_reserve() and it's changelog will explain why it's not needed and then the second patch will simply

Re: Unmapping KVM Guest Memory from Host Kernel

2024-03-09 Thread Mike Rapoport
On Fri, Mar 08, 2024 at 03:22:50PM -0800, Sean Christopherson wrote: > On Fri, Mar 08, 2024, James Gowans wrote: > > However, memfd_secret doesn’t work out the box for KVM guest memory; the > > main reason seems to be that the GUP path is intentionally disabled for > > memfd_secret, so if we use a

Re: [RFC][PATCH 3/4] kprobes: Allow kprobes with CONFIG_MODULES=n

2024-03-06 Thread Mike Rapoport
On Wed, Mar 06, 2024 at 12:05:10PM -0800, Calvin Owens wrote: > If something like this is merged down the road, it can go in at leisure > once the module_alloc change is in: it's a one-way dependency. > > Signed-off-by: Calvin Owens > --- > arch/Kconfig| 2 +- >

Re: [RFC][PATCH 0/4] Make bpf_jit and kprobes work with CONFIG_MODULES=n

2024-03-06 Thread Mike Rapoport
might as well do it > > now. And for that I'd just like to ask you paint the bikeshed with > > Song Liu as he's been the one slowly making way to help us get there > > with the "module: replace module_layout with module_memory", > > and Mike Rapoport as he's

Re: [PATCH v3 10/10] mm/treewide: Align up pXd_leaf() retval across archs

2024-03-05 Thread Mike Rapoport
> Suggested-by: Jason Gunthorpe > Signed-off-by: Peter Xu Reviewed-by: Mike Rapoport (IBM) > --- > arch/riscv/include/asm/pgtable-64.h | 2 +- > arch/riscv/include/asm/pgtable.h| 2 +- > arch/s390/include/asm/pgtable.h | 4 ++-- > arch/sparc/include/asm/pgt

Re: [PATCH v3 09/10] mm/treewide: Drop pXd_large()

2024-03-05 Thread Mike Rapoport
On Tue, Mar 05, 2024 at 12:37:49PM +0800, pet...@redhat.com wrote: > From: Peter Xu > > They're not used anymore, drop all of them. > > Reviewed-by: Jason Gunthorpe > Signed-off-by: Peter Xu Reviewed-by: Mike Rapoport (IBM) > --- > arch/arm/include/asm/pgta

Re: [PATCH v3 07/10] mm/treewide: Replace pmd_large() with pmd_leaf()

2024-03-05 Thread Mike Rapoport
m/pgtable.c| 2 +- > arch/x86/mm/pti.c| 4 ++-- > arch/x86/power/hibernate.c | 2 +- > arch/x86/xen/mmu_pv.c| 4 ++-- > drivers/misc/sgi-gru/grufault.c | 2 +- > 25 files changed, 49 insertions(+),

Re: [PATCH v3 06/10] mm/kasan: Use pXd_leaf() in shadow_mapped()

2024-03-05 Thread Mike Rapoport
I for huge mappings. Use that to replace the trick. > > Cc: Andrey Ryabinin > Cc: Alexander Potapenko > Cc: Andrey Konovalov > Cc: Dmitry Vyukov > Cc: Vincenzo Frascino > Cc: kasan-...@googlegroups.com > Signed-off-by: Peter Xu Reviewed-by: Mike Rapoport (IBM) > --- >

Re: [PATCH v3 05/10] mm/x86: Drop two unnecessary pud_leaf() definitions

2024-03-05 Thread Mike Rapoport
t; Cc: Dave Hansen > Cc: x...@kernel.org > Reviewed-by: Jason Gunthorpe > Acked-by: Thomas Gleixner > Signed-off-by: Peter Xu Reviewed-by: Mike Rapoport (IBM) > --- > arch/x86/include/asm/pgtable.h | 1 - > include/asm-generic/pgtable-nopmd.h | 1 - > 2 files changed, 2

Re: [PATCH v3 04/10] mm/x86: Replace pgd_large() with pgd_leaf()

2024-03-05 Thread Mike Rapoport
t; Cc: Dave Hansen > Cc: x...@kernel.org > Signed-off-by: Peter Xu Reviewed-by: Mike Rapoport (IBM) > --- > arch/x86/include/asm/pgtable.h | 4 ++-- > arch/x86/mm/pti.c | 2 +- > 2 files changed, 3 insertions(+), 3 deletions(-) > > diff --git a/arch/x86/inc

Re: [PATCH v3 03/10] mm/x86: Replace p4d_large() with p4d_leaf()

2024-03-05 Thread Mike Rapoport
f now. So it also means after this > patch we removed all p4d_large() usages. > > Cc: Thomas Gleixner > Cc: Ingo Molnar > Cc: Borislav Petkov > Cc: Dave Hansen > Cc: x...@kernel.org > Reviewed-by: Jason Gunthorpe > Signed-off-by: Peter Xu Reviewed-by: Mike

Re: [PATCH v3 02/10] mm/ppc: Replace pXd_is_leaf() with pXd_leaf()

2024-03-05 Thread Mike Rapoport
dev@lists.ozlabs.org > Suggested-by: Christophe Leroy > Reviewed-by: Jason Gunthorpe > Signed-off-by: Peter Xu Reviewed-by: Mike Rapoport (IBM) > --- > arch/powerpc/include/asm/book3s/64/pgtable.h | 10 > arch/powerpc/include/asm/pgtable.h | 24 -

Re: [PATCH v3 01/10] mm/ppc: Define pXd_large() with pXd_leaf()

2024-03-05 Thread Mike Rapoport
Cc: linuxppc-dev@lists.ozlabs.org > Reviewed-by: Jason Gunthorpe > Signed-off-by: Peter Xu Reviewed-by: Mike Rapoport (IBM) > --- > arch/powerpc/include/asm/book3s/64/pgtable.h | 16 ++-- > arch/powerpc/include/asm/pgtable.h | 2 +- > 2 files changed, 3

Re: [PATCH v2 bpf-next 2/3] mm, xen: Separate xen use cases from ioremap.

2024-03-03 Thread Mike Rapoport
On Fri, Feb 23, 2024 at 03:57:27PM -0800, Alexei Starovoitov wrote: > From: Alexei Starovoitov > > xen grant table and xenbus ring are not ioremap the way arch specific code is > using it, > so let's add VM_XEN flag to separate them from VM_IOREMAP users. > xen will not and should not be

Re: [PATCH] PM: hibernate: Fix level3 translation fault in swsusp_save()

2024-02-29 Thread Mike Rapoport
On Tue, Feb 27, 2024 at 03:51:25PM +0800, Yaxiong Tian wrote: > > 在 2024/2/26 17:14, Mike Rapoport 写道: > > On Mon, Feb 26, 2024 at 09:37:06AM +0100, David Hildenbrand wrote: > > > On 26.02.24 04:42, Yaxiong Tian wrote: > > > > From: Yaxiong Tian > > &g

Re: [PATCH] PM: hibernate: Fix level3 translation fault in swsusp_save()

2024-02-26 Thread Mike Rapoport
On Mon, Feb 26, 2024 at 09:37:06AM +0100, David Hildenbrand wrote: > On 26.02.24 04:42, Yaxiong Tian wrote: > > From: Yaxiong Tian > > > > On ARM64 machines using UEFI, if the linear map is not set > > (can_set_direct_map() > > return false), swsusp_save() will fail due to can't finding the map

Re: [PATCH v3 09/17] x86: Add KHO support

2024-02-20 Thread Mike Rapoport
Hi Alex, On Wed, Jan 17, 2024 at 02:46:56PM +, Alexander Graf wrote: > We now have all bits in place to support KHO kexecs. This patch adds > awareness of KHO in the kexec file as well as boot path for x86 and > adds the respective kconfig option to the architecture so that it can > use KHO

Re: [PATCH v3 11/15] mm/memory: factor out copying the actual PTE in copy_present_pte()

2024-02-07 Thread Mike Rapoport
On Mon, Jan 29, 2024 at 01:46:45PM +0100, David Hildenbrand wrote: > Let's prepare for further changes. > > Reviewed-by: Ryan Roberts > Signed-off-by: David Hildenbrand Reviewed-by: Mike Rapoport (IBM) > --- > mm/memory.c | 63 -

Re: [PATCH v3 12/15] mm/memory: pass PTE to copy_present_pte()

2024-02-07 Thread Mike Rapoport
On Mon, Jan 29, 2024 at 01:46:46PM +0100, David Hildenbrand wrote: > We already read it, let's just forward it. > > This patch is based on work by Ryan Roberts. > > Reviewed-by: Ryan Roberts > Signed-off-by: David Hildenbrand Reviewed-by: Mike Rapoport (IBM) > -

Re: [PATCH v3 10/15] powerpc/mm: use pte_next_pfn() in set_ptes()

2024-02-07 Thread Mike Rapoport
viewed-by: Mike Rapoport (IBM) > --- > arch/powerpc/mm/pgtable.c | 5 + > 1 file changed, 1 insertion(+), 4 deletions(-) > > diff --git a/arch/powerpc/mm/pgtable.c b/arch/powerpc/mm/pgtable.c > index a04ae4449a02..549a440ed7f6 100644 > --- a/arch/powerpc/mm/pgtable

Re: [PATCH v3 09/15] arm/mm: use pte_next_pfn() in set_ptes()

2024-02-07 Thread Mike Rapoport
On Mon, Jan 29, 2024 at 01:46:43PM +0100, David Hildenbrand wrote: > Let's use our handy helper now that it's available on all archs. > > Signed-off-by: David Hildenbrand Reviewed-by: Mike Rapoport (IBM) > --- > arch/arm/mm/mmu.c | 2 +- > 1 file changed, 1 insert

Re: [PATCH v3 08/15] mm/pgtable: make pte_next_pfn() independent of set_ptes()

2024-02-07 Thread Mike Rapoport
r context. > > Reviewed-by: Christophe Leroy > Signed-off-by: David Hildenbrand Reviewed-by: Mike Rapoport (IBM) > --- > include/linux/pgtable.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/include/linux/pgtable.h b/include/linux/pgtable.h &

Re: [PATCH v3 07/15] sparc/pgtable: define PFN_PTE_SHIFT

2024-02-07 Thread Mike Rapoport
On Mon, Jan 29, 2024 at 01:46:41PM +0100, David Hildenbrand wrote: > We want to make use of pte_next_pfn() outside of set_ptes(). Let's > simply define PFN_PTE_SHIFT, required by pte_next_pfn(). > > Signed-off-by: David Hildenbrand Reviewed-by: Mike Rapoport (IBM) > --- >

Re: [PATCH v3 06/15] s390/pgtable: define PFN_PTE_SHIFT

2024-02-07 Thread Mike Rapoport
On Mon, Jan 29, 2024 at 01:46:40PM +0100, David Hildenbrand wrote: > We want to make use of pte_next_pfn() outside of set_ptes(). Let's > simply define PFN_PTE_SHIFT, required by pte_next_pfn(). > > Signed-off-by: David Hildenbrand Reviewed-by: Mike Rapoport (IBM) > --- >

Re: [PATCH v3 05/15] riscv/pgtable: define PFN_PTE_SHIFT

2024-02-07 Thread Mike Rapoport
On Mon, Jan 29, 2024 at 01:46:39PM +0100, David Hildenbrand wrote: > We want to make use of pte_next_pfn() outside of set_ptes(). Let's > simply define PFN_PTE_SHIFT, required by pte_next_pfn(). > > Reviewed-by: Alexandre Ghiti > Signed-off-by: David Hildenbrand Reviewed-by: Mik

Re: [PATCH v3 04/15] powerpc/pgtable: define PFN_PTE_SHIFT

2024-02-07 Thread Mike Rapoport
On Mon, Jan 29, 2024 at 01:46:38PM +0100, David Hildenbrand wrote: > We want to make use of pte_next_pfn() outside of set_ptes(). Let's > simply define PFN_PTE_SHIFT, required by pte_next_pfn(). > > Reviewed-by: Christophe Leroy > Signed-off-by: David Hildenbrand Reviewed-by

Re: [PATCH v3 03/15] nios2/pgtable: define PFN_PTE_SHIFT

2024-02-07 Thread Mike Rapoport
On Mon, Jan 29, 2024 at 01:46:37PM +0100, David Hildenbrand wrote: > We want to make use of pte_next_pfn() outside of set_ptes(). Let's > simply define PFN_PTE_SHIFT, required by pte_next_pfn(). > > Signed-off-by: David Hildenbrand Reviewed-by: Mike Rapoport (IBM) > --- >

Re: [PATCH v3 02/15] arm/pgtable: define PFN_PTE_SHIFT

2024-02-07 Thread Mike Rapoport
On Mon, Jan 29, 2024 at 01:46:36PM +0100, David Hildenbrand wrote: > We want to make use of pte_next_pfn() outside of set_ptes(). Let's > simply define PFN_PTE_SHIFT, required by pte_next_pfn(). > > Signed-off-by: David Hildenbrand Reviewed-by: Mike Rapoport (IBM) > --- >

Re: [PATCH v3 01/15] arm64/mm: Make set_ptes() robust when OAs cross 48-bit boundary

2024-02-07 Thread Mike Rapoport
linux-mm/fdaeb9a5-d890-499a-92c8-d171df43a...@arm.com/ > Signed-off-by: Ryan Roberts > Reviewed-by: Catalin Marinas > Reviewed-by: David Hildenbrand > Signed-off-by: David Hildenbrand Reviewed-by: Mike Rapoport (IBM) > --- > arch/arm64/include/asm/pgtable.h | 28 ++

Re: [PATCH RFT v3 1/5] mm: Introduce ARCH_HAS_USER_SHADOW_STACK

2024-02-04 Thread Mike Rapoport
gt; depends on !STACK_GROWSUP > > +config ARCH_HAS_USER_SHADOW_STACK > + bool > + help > + The architecture has hardware support for userspace shadow call > + stacks (eg, x86 CET, arm64 GCS or RISC-V Zicfiss). The whitespace looks suspicious, I think there should be a leading tab. Otherwise Reviewed-by: Mike Rapoport (IBM) > + > source "mm/damon/Kconfig" > > endmenu > > -- > 2.30.2 > -- Sincerely yours, Mike.

Re: [PATCH v2] NUMA: Early use of cpu_to_node() returns 0 instead of the correct node id

2024-01-24 Thread Mike Rapoport
On Wed, Jan 24, 2024 at 09:19:00AM -0800, Lameter, Christopher wrote: > On Tue, 23 Jan 2024, Huang Shijie wrote: > > > During the kernel booting, the generic cpu_to_node() is called too early in > > arm64, powerpc and riscv when CONFIG_NUMA is enabled. > > > > For arm64/powerpc/riscv, there are

Re: [PATCH] NUMA: Early use of cpu_to_node() returns 0 instead of the correct node id

2024-01-21 Thread Mike Rapoport
On Fri, Jan 19, 2024 at 04:50:53PM +0800, Shijie Huang wrote: > > 在 2024/1/19 16:42, Mike Rapoport 写道: > > Is there a fundamental reason to have early_cpu_to_node() at all? > > The early_cpu_to_node does not work on some ARCHs (which support the NUMA), > such as  SPAR

Re: [PATCH] NUMA: Early use of cpu_to_node() returns 0 instead of the correct node id

2024-01-19 Thread Mike Rapoport
On Fri, Jan 19, 2024 at 02:46:16PM +0800, Shijie Huang wrote: > > 在 2024/1/19 12:42, Yury Norov 写道: > > This adds another level of indirection, I think. Currently cpu_to_node > > is a simple inliner. After the patch it would be a real function with > > all the associate overhead. Can you share a

Re: [PATCH] selftests: secretmem: Floor the memory size to the multiple of page_size

2023-12-15 Thread Mike Rapoport
On Thu, Dec 14, 2023 at 03:19:30PM +0500, Muhammad Usama Anjum wrote: > The "locked-in-memory size" limit per process can be non-multiple of > page_size. The mmap() fails if we try to allocate locked-in-memory > with same size as the allowed limit if it isn't multiple of the > page_size because

Re: [PATCH RFC v2 04/27] mm: migrate/mempolicy: Add hook to modify migration target gfp

2023-11-27 Thread Mike Rapoport
On Mon, Nov 27, 2023 at 11:52:56AM +, Alexandru Elisei wrote: > Hi Mike, > > I really appreciate you having a look! > > On Sat, Nov 25, 2023 at 12:03:22PM +0200, Mike Rapoport wrote: > > On Sun, Nov 19, 2023 at 04:56:58PM +, Alexandru Elisei wrote: > &

Re: [PATCH RFC v2 04/27] mm: migrate/mempolicy: Add hook to modify migration target gfp

2023-11-25 Thread Mike Rapoport
On Sun, Nov 19, 2023 at 04:56:58PM +, Alexandru Elisei wrote: > It might be desirable for an architecture to modify the gfp flags used to > allocate the destination page for migration based on the page that it is > being replaced. For example, if an architectures has metadata associated > with

Re: [PATCH v3 04/13] mm/execmem, arch: convert remaining overrides of module_alloc to execmem

2023-10-30 Thread Mike Rapoport
On Thu, Oct 26, 2023 at 11:24:39AM +0100, Will Deacon wrote: > On Thu, Oct 26, 2023 at 11:58:00AM +0300, Mike Rapoport wrote: > > On Mon, Oct 23, 2023 at 06:14:20PM +0100, Will Deacon wrote: > > > On Mon, Sep 18, 2023 at 10:29:46AM +0300, Mike Rapoport wrote: > > > >

Re: [PATCH v3 04/13] mm/execmem, arch: convert remaining overrides of module_alloc to execmem

2023-10-30 Thread Mike Rapoport
On Thu, Oct 26, 2023 at 11:24:39AM +0100, Will Deacon wrote: > On Thu, Oct 26, 2023 at 11:58:00AM +0300, Mike Rapoport wrote: > > On Mon, Oct 23, 2023 at 06:14:20PM +0100, Will Deacon wrote: > > > On Mon, Sep 18, 2023 at 10:29:46AM +0300, Mike Rapoport wrote: > > > >

Re: [PATCH v3 04/13] mm/execmem, arch: convert remaining overrides of module_alloc to execmem

2023-10-26 Thread Mike Rapoport
Hi Will, On Mon, Oct 23, 2023 at 06:14:20PM +0100, Will Deacon wrote: > Hi Mike, > > On Mon, Sep 18, 2023 at 10:29:46AM +0300, Mike Rapoport wrote: > > From: "Mike Rapoport (IBM)" > > > > Extend execmem parameters to accommodate more complex overrides o

Re: [PATCH v3 04/13] mm/execmem, arch: convert remaining overrides of module_alloc to execmem

2023-10-26 Thread Mike Rapoport
Hi Will, On Mon, Oct 23, 2023 at 06:14:20PM +0100, Will Deacon wrote: > Hi Mike, > > On Mon, Sep 18, 2023 at 10:29:46AM +0300, Mike Rapoport wrote: > > From: "Mike Rapoport (IBM)" > > > > Extend execmem parameters to accommodate more complex overrides o

Re: [PATCH v3 03/13] mm/execmem, arch: convert simple overrides of module_alloc to execmem

2023-10-26 Thread Mike Rapoport
Hi Rick, Sorry for the delay, I was a bit preoccupied with $stuff. On Thu, Oct 05, 2023 at 06:09:07PM +, Edgecombe, Rick P wrote: > On Thu, 2023-10-05 at 08:26 +0300, Mike Rapoport wrote: > > On Wed, Oct 04, 2023 at 03:39:26PM +, Edgecombe, Rick P wrote: > > > On Tue, 2

Re: [PATCH v3 03/13] mm/execmem, arch: convert simple overrides of module_alloc to execmem

2023-10-26 Thread Mike Rapoport
Hi Rick, Sorry for the delay, I was a bit preoccupied with $stuff. On Thu, Oct 05, 2023 at 06:09:07PM +, Edgecombe, Rick P wrote: > On Thu, 2023-10-05 at 08:26 +0300, Mike Rapoport wrote: > > On Wed, Oct 04, 2023 at 03:39:26PM +, Edgecombe, Rick P wrote: > > > On Tue, 2

Re: [PATCH v3 04/13] mm/execmem, arch: convert remaining overrides of module_alloc to execmem

2023-10-04 Thread Mike Rapoport
On Wed, Oct 04, 2023 at 12:29:36AM +, Edgecombe, Rick P wrote: > On Mon, 2023-09-18 at 10:29 +0300, Mike Rapoport wrote: > > diff --git a/arch/x86/kernel/module.c b/arch/x86/kernel/module.c > > index 5f71a0cf4399..9d37375e2f05 100644 > > --- a/arch/x86/kernel/module.c >

Re: [PATCH v3 04/13] mm/execmem, arch: convert remaining overrides of module_alloc to execmem

2023-10-04 Thread Mike Rapoport
On Wed, Oct 04, 2023 at 12:29:36AM +, Edgecombe, Rick P wrote: > On Mon, 2023-09-18 at 10:29 +0300, Mike Rapoport wrote: > > diff --git a/arch/x86/kernel/module.c b/arch/x86/kernel/module.c > > index 5f71a0cf4399..9d37375e2f05 100644 > > --- a/arch/x86/kernel/module.c >

Re: [PATCH v3 03/13] mm/execmem, arch: convert simple overrides of module_alloc to execmem

2023-10-04 Thread Mike Rapoport
On Wed, Oct 04, 2023 at 03:39:26PM +, Edgecombe, Rick P wrote: > On Tue, 2023-10-03 at 17:29 -0700, Rick Edgecombe wrote: > > It seems a bit weird to copy all of this. Is it trying to be faster > > or > > something? > > > > Couldn't it just check r->start in execmem_text/data_alloc() path and

Re: [PATCH v3 03/13] mm/execmem, arch: convert simple overrides of module_alloc to execmem

2023-10-04 Thread Mike Rapoport
On Wed, Oct 04, 2023 at 03:39:26PM +, Edgecombe, Rick P wrote: > On Tue, 2023-10-03 at 17:29 -0700, Rick Edgecombe wrote: > > It seems a bit weird to copy all of this. Is it trying to be faster > > or > > something? > > > > Couldn't it just check r->start in execmem_text/data_alloc() path and

Re: [PATCH v3 10/13] arch: make execmem setup available regardless of CONFIG_MODULES

2023-09-26 Thread Mike Rapoport
Hi Arnd, On Tue, Sep 26, 2023 at 09:33:48AM +0200, Arnd Bergmann wrote: > On Mon, Sep 18, 2023, at 09:29, Mike Rapoport wrote: > > index a42e4cd11db2..c0b536e398b4 100644 > > --- a/arch/arm/mm/init.c > > +++ b/arch/arm/mm/init.c > > +#ifdef CONFIG_XIP_KERNEL > >

Re: [PATCH v3 10/13] arch: make execmem setup available regardless of CONFIG_MODULES

2023-09-26 Thread Mike Rapoport
Hi Arnd, On Tue, Sep 26, 2023 at 09:33:48AM +0200, Arnd Bergmann wrote: > On Mon, Sep 18, 2023, at 09:29, Mike Rapoport wrote: > > index a42e4cd11db2..c0b536e398b4 100644 > > --- a/arch/arm/mm/init.c > > +++ b/arch/arm/mm/init.c > > +#ifdef CONFIG_XIP_KERNEL > >

Re: [PATCH v3 02/13] mm: introduce execmem_text_alloc() and execmem_free()

2023-09-26 Thread Mike Rapoport
On Sat, Sep 23, 2023 at 03:36:01PM -0700, Song Liu wrote: > On Sat, Sep 23, 2023 at 8:39 AM Mike Rapoport wrote: > > > > On Thu, Sep 21, 2023 at 03:34:18PM -0700, Song Liu wrote: > > > On Mon, Sep 18, 2023 at 12:30 AM Mike Rapoport wrote: > > > > > > >

Re: [PATCH v3 02/13] mm: introduce execmem_text_alloc() and execmem_free()

2023-09-26 Thread Mike Rapoport
On Sat, Sep 23, 2023 at 03:36:01PM -0700, Song Liu wrote: > On Sat, Sep 23, 2023 at 8:39 AM Mike Rapoport wrote: > > > > On Thu, Sep 21, 2023 at 03:34:18PM -0700, Song Liu wrote: > > > On Mon, Sep 18, 2023 at 12:30 AM Mike Rapoport wrote: > > > > > > >

Re: [PATCH v3 09/13] powerpc: extend execmem_params for kprobes allocations

2023-09-23 Thread Mike Rapoport
Hi Christophe, On Fri, Sep 22, 2023 at 10:32:46AM +, Christophe Leroy wrote: > Hi Mike, > > Le 18/09/2023 à 09:29, Mike Rapoport a écrit : > > From: "Mike Rapoport (IBM)" > > > > powerpc overrides kprobes::alloc_insn_page() to remove writable &

Re: [PATCH v3 09/13] powerpc: extend execmem_params for kprobes allocations

2023-09-23 Thread Mike Rapoport
Hi Christophe, On Fri, Sep 22, 2023 at 10:32:46AM +, Christophe Leroy wrote: > Hi Mike, > > Le 18/09/2023 à 09:29, Mike Rapoport a écrit : > > From: "Mike Rapoport (IBM)" > > > > powerpc overrides kprobes::alloc_insn_page() to remove writable &

Re: [PATCH v3 09/13] powerpc: extend execmem_params for kprobes allocations

2023-09-23 Thread Mike Rapoport
On Thu, Sep 21, 2023 at 03:30:46PM -0700, Song Liu wrote: > On Mon, Sep 18, 2023 at 12:31 AM Mike Rapoport wrote: > > > [...] > > @@ -135,5 +138,13 @@ struct execmem_params __init *execmem_arch_params(void) > > > > range->pgprot = prot; >

Re: [PATCH v3 09/13] powerpc: extend execmem_params for kprobes allocations

2023-09-23 Thread Mike Rapoport
On Thu, Sep 21, 2023 at 03:30:46PM -0700, Song Liu wrote: > On Mon, Sep 18, 2023 at 12:31 AM Mike Rapoport wrote: > > > [...] > > @@ -135,5 +138,13 @@ struct execmem_params __init *execmem_arch_params(void) > > > > range->pgprot = prot; >

Re: [PATCH v3 08/13] riscv: extend execmem_params for generated code allocations

2023-09-23 Thread Mike Rapoport
On Fri, Sep 22, 2023 at 12:37:07PM +0200, Alexandre Ghiti wrote: > Hi Mike, > > On 18/09/2023 09:29, Mike Rapoport wrote: > > From: "Mike Rapoport (IBM)" > > > > The memory allocations for kprobes and BPF on RISC-V are not placed in > > th

Re: [PATCH v3 08/13] riscv: extend execmem_params for generated code allocations

2023-09-23 Thread Mike Rapoport
On Fri, Sep 22, 2023 at 12:37:07PM +0200, Alexandre Ghiti wrote: > Hi Mike, > > On 18/09/2023 09:29, Mike Rapoport wrote: > > From: "Mike Rapoport (IBM)" > > > > The memory allocations for kprobes and BPF on RISC-V are not placed in > > th

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

2023-09-23 Thread Mike Rapoport
On Thu, Sep 21, 2023 at 03:52:21PM -0700, Song Liu wrote: > On Mon, Sep 18, 2023 at 12:31 AM Mike Rapoport wrote: > > > [...] > > diff --git a/include/linux/execmem.h b/include/linux/execmem.h > > index 519bdfdca595..09d45ac786e9 100644 > > --- a/include/linux/exe

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

2023-09-23 Thread Mike Rapoport
On Thu, Sep 21, 2023 at 03:52:21PM -0700, Song Liu wrote: > On Mon, Sep 18, 2023 at 12:31 AM Mike Rapoport wrote: > > > [...] > > diff --git a/include/linux/execmem.h b/include/linux/execmem.h > > index 519bdfdca595..09d45ac786e9 100644 > > --- a/include/linux/exe

Re: [PATCH v3 02/13] mm: introduce execmem_text_alloc() and execmem_free()

2023-09-23 Thread Mike Rapoport
On Thu, Sep 21, 2023 at 03:10:26PM -0700, Song Liu wrote: > On Mon, Sep 18, 2023 at 12:30 AM Mike Rapoport wrote: > > > [...] > > + > > +#include > > +#include > > +#include > > +#include > > + > > +static void *execmem_alloc(si

Re: [PATCH v3 02/13] mm: introduce execmem_text_alloc() and execmem_free()

2023-09-23 Thread Mike Rapoport
On Thu, Sep 21, 2023 at 03:10:26PM -0700, Song Liu wrote: > On Mon, Sep 18, 2023 at 12:30 AM Mike Rapoport wrote: > > > [...] > > + > > +#include > > +#include > > +#include > > +#include > > + > > +static void *execmem_alloc(si

Re: [PATCH v3 02/13] mm: introduce execmem_text_alloc() and execmem_free()

2023-09-23 Thread Mike Rapoport
On Thu, Sep 21, 2023 at 03:14:54PM -0700, Song Liu wrote: > On Mon, Sep 18, 2023 at 12:30 AM Mike Rapoport wrote: > > > [...] > > + > > +/** > > + * enum execmem_type - types of executable memory ranges > > + * > > + * There are several

Re: [PATCH v3 02/13] mm: introduce execmem_text_alloc() and execmem_free()

2023-09-23 Thread Mike Rapoport
On Thu, Sep 21, 2023 at 03:14:54PM -0700, Song Liu wrote: > On Mon, Sep 18, 2023 at 12:30 AM Mike Rapoport wrote: > > > [...] > > + > > +/** > > + * enum execmem_type - types of executable memory ranges > > + * > > + * There are several

Re: [PATCH v3 02/13] mm: introduce execmem_text_alloc() and execmem_free()

2023-09-23 Thread Mike Rapoport
On Thu, Sep 21, 2023 at 03:34:18PM -0700, Song Liu wrote: > On Mon, Sep 18, 2023 at 12:30 AM Mike Rapoport wrote: > > > > [...] > > > diff --git a/arch/s390/kernel/module.c b/arch/s390/kernel/module.c > > index 42215f9404af..db5561d0c233 100644 > > --- a/arch

Re: [PATCH v3 02/13] mm: introduce execmem_text_alloc() and execmem_free()

2023-09-23 Thread Mike Rapoport
On Thu, Sep 21, 2023 at 03:34:18PM -0700, Song Liu wrote: > On Mon, Sep 18, 2023 at 12:30 AM Mike Rapoport wrote: > > > > [...] > > > diff --git a/arch/s390/kernel/module.c b/arch/s390/kernel/module.c > > index 42215f9404af..db5561d0c233 100644 > > --- a/arch

[PATCH v3 03/13] mm/execmem, arch: convert simple overrides of module_alloc to execmem

2023-09-18 Thread Mike Rapoport
From: "Mike Rapoport (IBM)" Several architectures override module_alloc() only to define address range for code allocations different than VMALLOC address space. Provide a generic implementation in execmem that uses the parameters for address space ranges, required alignmen

[PATCH v3 13/13] bpf: remove CONFIG_BPF_JIT dependency on CONFIG_MODULES of

2023-09-18 Thread Mike Rapoport
From: "Mike Rapoport (IBM)" BPF just-in-time compiler depended on CONFIG_MODULES because it used module_alloc() to allocate memory for the generated code. Since code allocations are now implemented with execmem, drop dependency of CONFIG_BPF_JIT on CONFIG_MODULES and make

<    1   2   3   4   5   6   7   8   9   10   >