Hello, kernel test robot noticed "WARNING:at_arch/x86/mm/pat/set_memory.c:#__cpa_process_fault" on: commit: 6661cae1aa66d826b7ecd7044d0d76c66c015266 ("x86/module: enable ROX caches for module text") https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git master [test failed on linux-next/master 0cca97bf23640ff68a6e8a74e9b6659fdc27f48c] in testcase: boot compiler: gcc-12 test machine: qemu-system-x86_64 -enable-kvm -cpu SandyBridge -smp 2 -m 16G (please refer to attached dmesg/kmsg for entire log/backtrace) +--------------------------------------------------------------+------------+------------+ | | d44c348582 | 6661cae1aa | +--------------------------------------------------------------+------------+------------+ | WARNING:at_arch/x86/mm/pat/set_memory.c:#__cpa_process_fault | 0 | 6 | | EIP:__cpa_process_fault | 0 | 6 | +--------------------------------------------------------------+------------+------------+ If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <oliver.sang@xxxxxxxxx> | Closes: https://lore.kernel.org/oe-lkp/202410111408.8fe6f604-lkp@xxxxxxxxx [ 8.158938][ T98] ------------[ cut here ]------------ [ 8.161035][ T98] CPA: called for zero pte. vaddr = 0 cpa->vaddr = 0 [ 8.163217][ T98] WARNING: CPU: 0 PID: 98 at arch/x86/mm/pat/set_memory.c:1620 __cpa_process_fault (arch/x86/mm/pat/set_memory.c:1620 arch/x86/mm/pat/set_memory.c:1583) [ 8.166598][ T98] Modules linked in: [ 8.167997][ T98] CPU: 0 UID: 0 PID: 98 Comm: udevd Not tainted 6.12.0-rc2-00142-g6661cae1aa66 #1 [ 8.170966][ T98] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014 [ 8.174383][ T98] EIP: __cpa_process_fault (arch/x86/mm/pat/set_memory.c:1620 arch/x86/mm/pat/set_memory.c:1583) [ 8.176288][ T98] Code: d8 51 89 f9 e8 39 fb ff ff 83 c4 0c 85 c0 0f 89 95 fe ff ff e9 60 fe ff ff 8b 03 ff 30 ff 75 e8 68 e0 05 ff c1 e8 7c a8 00 00 <0f> 0b c7 45 ec f2 ff ff ff 83 c4 0c e9 fb fc ff ff 8d 76 00 55 89 All code ======== 0: d8 51 89 fcoms -0x77(%rcx) 3: f9 stc 4: e8 39 fb ff ff call 0xfffffffffffffb42 9: 83 c4 0c add $0xc,%esp c: 85 c0 test %eax,%eax e: 0f 89 95 fe ff ff jns 0xfffffffffffffea9 14: e9 60 fe ff ff jmp 0xfffffffffffffe79 19: 8b 03 mov (%rbx),%eax 1b: ff 30 push (%rax) 1d: ff 75 e8 push -0x18(%rbp) 20: 68 e0 05 ff c1 push $0xffffffffc1ff05e0 25: e8 7c a8 00 00 call 0xa8a6 2a:* 0f 0b ud2 <-- trapping instruction 2c: c7 45 ec f2 ff ff ff movl $0xfffffff2,-0x14(%rbp) 33: 83 c4 0c add $0xc,%esp 36: e9 fb fc ff ff jmp 0xfffffffffffffd36 3b: 8d 76 00 lea 0x0(%rsi),%esi 3e: 55 push %rbp 3f: 89 .byte 0x89 Code starting with the faulting instruction =========================================== 0: 0f 0b ud2 2: c7 45 ec f2 ff ff ff movl $0xfffffff2,-0x14(%rbp) 9: 83 c4 0c add $0xc,%esp c: e9 fb fc ff ff jmp 0xfffffffffffffd0c 11: 8d 76 00 lea 0x0(%rsi),%esi 14: 55 push %rbp 15: 89 .byte 0x89 [ 8.182574][ T98] EAX: 00000032 EBX: edb81db0 ECX: 0000021d EDX: 00000000 [ 8.185016][ T98] ESI: edb81d4a EDI: 00000000 EBP: edb81d30 ESP: edb81cf8 [ 8.187433][ T98] DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 0068 EFLAGS: 00010202 [ 8.190182][ T98] CR0: 80050033 CR2: b7c8e548 CR3: 2db88000 CR4: 00040690 [ 8.192564][ T98] Call Trace: [ 8.193877][ T98] ? show_regs (arch/x86/kernel/dumpstack.c:479) [ 8.195475][ T98] ? __cpa_process_fault (arch/x86/mm/pat/set_memory.c:1620 arch/x86/mm/pat/set_memory.c:1583) [ 8.197352][ T98] ? __warn (kernel/panic.c:748) [ 8.198883][ T98] ? __cpa_process_fault (arch/x86/mm/pat/set_memory.c:1620 arch/x86/mm/pat/set_memory.c:1583) [ 8.200760][ T98] ? report_bug (lib/bug.c:201 lib/bug.c:219) [ 8.202456][ T98] ? __cpa_process_fault (arch/x86/mm/pat/set_memory.c:1620 arch/x86/mm/pat/set_memory.c:1583) [ 8.204259][ T98] ? exc_overflow (arch/x86/kernel/traps.c:301) [ 8.205893][ T98] ? handle_bug (arch/x86/kernel/traps.c:260) [ 8.207451][ T98] ? exc_invalid_op (arch/x86/kernel/traps.c:309 (discriminator 1)) [ 8.209215][ T98] ? handle_exception (arch/x86/entry/entry_32.S:1047) [ 8.210933][ T98] ? exc_overflow (arch/x86/kernel/traps.c:301) [ 8.212585][ T98] ? __cpa_process_fault (arch/x86/mm/pat/set_memory.c:1620 arch/x86/mm/pat/set_memory.c:1583) [ 8.214504][ T98] ? exc_overflow (arch/x86/kernel/traps.c:301) [ 8.216170][ T98] ? __cpa_process_fault (arch/x86/mm/pat/set_memory.c:1620 arch/x86/mm/pat/set_memory.c:1583) [ 8.218077][ T98] ? __change_page_attr_set_clr (arch/x86/mm/pat/set_memory.c:1808) [ 8.220025][ T98] __change_page_attr (arch/x86/mm/pat/set_memory.c:1644) [ 8.221883][ T98] __change_page_attr_set_clr (arch/x86/mm/pat/set_memory.c:1808) [ 8.223837][ T98] ? trace_hardirqs_on (kernel/trace/trace_preemptirq.c:63) [ 8.225669][ T98] ? _raw_spin_unlock_irqrestore (arch/x86/include/asm/irqflags.h:42 arch/x86/include/asm/irqflags.h:97 arch/x86/include/asm/irqflags.h:155 include/linux/spinlock_api_smp.h:151 kernel/locking/spinlock.c:194) [ 8.227684][ T98] ? page_address (mm/highmem.c:778) [ 8.229415][ T98] set_direct_map_valid_noflush (arch/x86/mm/pat/set_memory.c:2453) [ 8.231211][ T98] execmem_set_direct_map_valid (mm/execmem.c:53) [ 8.233327][ T98] execmem_alloc (mm/execmem.c:263 mm/execmem.c:291 mm/execmem.c:335 mm/execmem.c:357) [ 8.234958][ T98] move_module (kernel/module/main.c:1220 kernel/module/main.c:2291) [ 8.236569][ T98] layout_and_allocate+0xe7/0x160 [ 8.238634][ T98] load_module (kernel/module/main.c:2955) [ 8.240229][ T98] init_module_from_file (kernel/module/main.c:3262) [ 8.242074][ T98] idempotent_init_module (kernel/module/main.c:3196 kernel/module/main.c:3274) [ 8.243946][ T98] __ia32_sys_finit_module (include/linux/file.h:68 kernel/module/main.c:3301 kernel/module/main.c:3283 kernel/module/main.c:3283) [ 8.245807][ T98] ia32_sys_call (arch/x86/entry/syscall_32.c:44) [ 8.247342][ T98] do_int80_syscall_32 (arch/x86/entry/common.c:165 arch/x86/entry/common.c:339) [ 8.249008][ T98] entry_INT80_32 (arch/x86/entry/entry_32.S:944) [ 8.250662][ T98] EIP: 0xb7dc0222 [ 8.252022][ T98] Code: 06 89 8a f0 02 00 00 c3 55 57 56 53 8b 6c 24 2c 8b 7c 24 28 8b 74 24 24 8b 54 24 20 8b 4c 24 1c 8b 5c 24 18 8b 44 24 14 cd 80 <5b> 5e 5f 5d 3d 01 f0 ff ff 0f 83 8f b5 f3 ff c3 66 90 66 90 66 90 All code ======== 0: 06 (bad) 1: 89 8a f0 02 00 00 mov %ecx,0x2f0(%rdx) 7: c3 ret 8: 55 push %rbp 9: 57 push %rdi a: 56 push %rsi b: 53 push %rbx c: 8b 6c 24 2c mov 0x2c(%rsp),%ebp 10: 8b 7c 24 28 mov 0x28(%rsp),%edi 14: 8b 74 24 24 mov 0x24(%rsp),%esi 18: 8b 54 24 20 mov 0x20(%rsp),%edx 1c: 8b 4c 24 1c mov 0x1c(%rsp),%ecx 20: 8b 5c 24 18 mov 0x18(%rsp),%ebx 24: 8b 44 24 14 mov 0x14(%rsp),%eax 28: cd 80 int $0x80 2a:* 5b pop %rbx <-- trapping instruction 2b: 5e pop %rsi 2c: 5f pop %rdi 2d: 5d pop %rbp 2e: 3d 01 f0 ff ff cmp $0xfffff001,%eax 33: 0f 83 8f b5 f3 ff jae 0xfffffffffff3b5c8 39: c3 ret 3a: 66 90 xchg %ax,%ax 3c: 66 90 xchg %ax,%ax 3e: 66 90 xchg %ax,%ax Code starting with the faulting instruction =========================================== 0: 5b pop %rbx 1: 5e pop %rsi 2: 5f pop %rdi 3: 5d pop %rbp 4: 3d 01 f0 ff ff cmp $0xfffff001,%eax 9: 0f 83 8f b5 f3 ff jae 0xfffffffffff3b59e f: c3 ret 10: 66 90 xchg %ax,%ax 12: 66 90 xchg %ax,%ax 14: 66 90 xchg %ax,%ax The kernel config and materials to reproduce are available at: https://download.01.org/0day-ci/archive/20241011/202410111408.8fe6f604-lkp@xxxxxxxxx -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki