Re: [linux-next:master] [x86/module] 6661cae1aa: WARNING:at_arch/x86/mm/pat/set_memory.c:#__cpa_process_fault

From: Christophe Leroy
Date: Mon Oct 14 2024 - 12:36:07 EST




Le 13/10/2024 à 10:17, Mike Rapoport a écrit :
On Fri, Oct 11, 2024 at 09:30:33AM -0700, Dave Hansen wrote:
On 10/11/24 08:40, Mike Rapoport wrote:
On Fri, Oct 11, 2024 at 07:00:01AM -0700, Dave Hansen wrote:
On 10/11/24 06:08, Mike Rapoport wrote:
This patch disables ROX caches on 32-bit, it should fix the issue.
While I'm not going to shed a tear for 32-bit, what's the actual
compatibility issue with 32-bit?
From the stack trace it looks like execmem tries to update the direct map
for highmem memory, and cpa is not happy about it.

First of all, if it's a highmem problem, shouldn't the check be for
CONFIG_HIGHMEM and not on 32-bit vs. 64-bit? We do have non-highmem
32-bit configs.

32 bit also does not have ARCH_HUGE_VMALLOC and execmem cache will be
anyway populated with 4k pages, so I don't see why it would be useful on 32
bit all.

Are you talking about X86 only or any architecture ?

On powerpc we have:

arch/powerpc/Kconfig: select HAVE_ARCH_HUGE_VMALLOC if HAVE_ARCH_HUGE_VMAP
arch/powerpc/Kconfig: select HAVE_ARCH_HUGE_VMAP if PPC_RADIX_MMU || PPC_8xx

PPC_8xx is 32 bits.

Christophe