Hello, kernel test robot noticed "BUG:unable_to_handle_page_fault_for_address" on: commit: 6602c8010ff4cabd759599c11175fa4d1bcd7800 ("tmpfs: add support for multigrain timestamps") https://git.kernel.org/cgit/linux/kernel/git/jlayton/linux.git mgtime in testcase: boot compiler: gcc-13 test machine: qemu-system-x86_64 -enable-kvm -cpu SandyBridge -smp 2 -m 16G (please refer to attached dmesg/kmsg for entire log/backtrace) +---------------------------------------------+------------+------------+ | | ff453163c6 | 6602c8010f | +---------------------------------------------+------------+------------+ | boot_successes | 6 | 0 | | boot_failures | 0 | 7 | | BUG:unable_to_handle_page_fault_for_address | 0 | 7 | | Oops | 0 | 7 | | EIP:percpu_counter_add_batch | 0 | 7 | | Kernel_panic-not_syncing:Fatal_exception | 0 | 7 | +---------------------------------------------+------------+------------+ 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/202407141802.19588609-lkp@xxxxxxxxx [ 0.638478][ T0] BUG: unable to handle page fault for address: 20c4e000 [ 0.639256][ T0] #PF: supervisor read access in kernel mode [ 0.639920][ T0] #PF: error_code(0x0000) - not-present page [ 0.640224][ T0] *pdpt = 0000000000000000 *pde = 0000000000000000 [ 0.640224][ T0] Oops: Oops: 0000 [#1] PREEMPT SMP PTI [ 0.640224][ T0] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 6.10.0-rc7-00242-g6602c8010ff4 #1 [ 0.640224][ T0] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014 [ 0.640224][ T0] EIP: percpu_counter_add_batch (lib/percpu_counter.c:93 (discriminator 4)) [ 0.640224][ T0] Code: 00 8b 5d f4 8b 75 f8 8b 7d fc 89 ec 5d 31 c0 31 d2 31 c9 e9 3e 7d 8b 00 8d b4 26 00 00 00 00 8d 76 00 e8 f7 22 91 ff 8b 4b 3c <64> 8b 01 89 45 e0 89 c6 89 c7 c1 ff 1f 03 75 ec 13 7d f0 89 f2 f7 All code ======== 0: 00 8b 5d f4 8b 75 add %cl,0x758bf45d(%rbx) 6: f8 clc 7: 8b 7d fc mov -0x4(%rbp),%edi a: 89 ec mov %ebp,%esp c: 5d pop %rbp d: 31 c0 xor %eax,%eax f: 31 d2 xor %edx,%edx 11: 31 c9 xor %ecx,%ecx 13: e9 3e 7d 8b 00 jmp 0x8b7d56 18: 8d b4 26 00 00 00 00 lea 0x0(%rsi,%riz,1),%esi 1f: 8d 76 00 lea 0x0(%rsi),%esi 22: e8 f7 22 91 ff call 0xffffffffff91231e 27: 8b 4b 3c mov 0x3c(%rbx),%ecx 2a:* 64 8b 01 mov %fs:(%rcx),%eax <-- trapping instruction 2d: 89 45 e0 mov %eax,-0x20(%rbp) 30: 89 c6 mov %eax,%esi 32: 89 c7 mov %eax,%edi 34: c1 ff 1f sar $0x1f,%edi 37: 03 75 ec add -0x14(%rbp),%esi 3a: 13 7d f0 adc -0x10(%rbp),%edi 3d: 89 f2 mov %esi,%edx 3f: f7 .byte 0xf7 Code starting with the faulting instruction =========================================== 0: 64 8b 01 mov %fs:(%rcx),%eax 3: 89 45 e0 mov %eax,-0x20(%rbp) 6: 89 c6 mov %eax,%esi 8: 89 c7 mov %eax,%edi a: c1 ff 1f sar $0x1f,%edi d: 03 75 ec add -0x14(%rbp),%esi 10: 13 7d f0 adc -0x10(%rbp),%edi 13: 89 f2 mov %esi,%edx 15: f7 .byte 0xf7 [ 0.640224][ T0] EAX: 00000000 EBX: c38590e0 ECX: 00000000 EDX: 00000000 [ 0.640224][ T0] ESI: c3d440d8 EDI: c28d9e20 EBP: c28d9d68 ESP: c28d9d48 [ 0.640224][ T0] DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068 EFLAGS: 00210046 [ 0.640224][ T0] CR0: 80050033 CR2: 20c4e000 CR3: 03112000 CR4: 000406b0 [ 0.640224][ T0] DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000 [ 0.640224][ T0] DR6: fffe0ff0 DR7: 00000400 [ 0.640224][ T0] Call Trace: [ 0.640224][ T0] ? show_regs (arch/x86/kernel/dumpstack.c:479) [ 0.640224][ T0] ? __die (arch/x86/kernel/dumpstack.c:421 arch/x86/kernel/dumpstack.c:434) [ 0.640224][ T0] ? oops_enter (kernel/panic.c:582 kernel/panic.c:640) [ 0.640224][ T0] ? page_fault_oops (arch/x86/mm/fault.c:715 (discriminator 1)) [ 0.640224][ T0] ? kernelmode_fixup_or_oops+0x78/0x94 [ 0.640224][ T0] ? __bad_area_nosemaphore+0x145/0x280 [ 0.640224][ T0] ? coarse_ctime (fs/inode.c:2164) [ 0.640224][ T0] ? kvm_sched_clock_read (arch/x86/kernel/kvmclock.c:91 (discriminator 2)) [ 0.640224][ T0] ? sched_clock_noinstr (arch/x86/kernel/tsc.c:267) [ 0.640224][ T0] ? local_clock_noinstr (kernel/sched/clock.c:270 kernel/sched/clock.c:306) [ 0.640224][ T0] ? bad_area_nosemaphore (arch/x86/mm/fault.c:835) [ 0.640224][ T0] ? do_user_addr_fault (arch/x86/mm/fault.c:1452) [ 0.640224][ T0] ? coarse_ctime (fs/inode.c:2164) [ 0.640224][ T0] ? local_clock (arch/x86/include/asm/preempt.h:94 (discriminator 1) kernel/sched/clock.c:316 (discriminator 1)) [ 0.640224][ T0] ? exc_page_fault (arch/x86/include/asm/irqflags.h:26 arch/x86/include/asm/irqflags.h:67 arch/x86/include/asm/irqflags.h:127 arch/x86/mm/fault.c:1489 arch/x86/mm/fault.c:1539) [ 0.640224][ T0] ? pvclock_clocksource_read_nowd (arch/x86/mm/fault.c:1494) [ 0.640224][ T0] ? handle_exception (arch/x86/entry/entry_32.S:1047) [ 0.640224][ T0] ? pvclock_clocksource_read_nowd (arch/x86/mm/fault.c:1494) [ 0.640224][ T0] ? percpu_counter_add_batch (lib/percpu_counter.c:93 (discriminator 4)) [ 0.640224][ T0] ? pvclock_clocksource_read_nowd (arch/x86/mm/fault.c:1494) [ 0.640224][ T0] ? percpu_counter_add_batch (lib/percpu_counter.c:93 (discriminator 4)) [ 0.640224][ T0] inode_set_ctime_current (fs/inode.c:2681) [ 0.640224][ T0] ? get_random_u32 (drivers/char/random.c:532 (discriminator 1)) [ 0.640224][ T0] ? _raw_spin_unlock (arch/x86/include/asm/preempt.h:94 (discriminator 1) include/linux/spinlock_api_smp.h:143 (discriminator 1) kernel/locking/spinlock.c:186 (discriminator 1)) [ 0.640224][ T0] simple_inode_init_ts (fs/libfs.c:2101) [ 0.640224][ T0] __shmem_get_inode (mm/shmem.c:2526 (discriminator 3)) [ 0.640224][ T0] shmem_get_inode (mm/shmem.c:2586 (discriminator 1)) [ 0.640224][ T0] shmem_fill_super (mm/shmem.c:4432 (discriminator 1)) [ 0.640224][ T0] ? shmem_add_to_page_cache+0x2dc/0x2dc [ 0.640224][ T0] get_tree_nodev (fs/super.c:1270 fs/super.c:1288) [ 0.640224][ T0] shmem_get_tree (mm/shmem.c:4451) [ 0.640224][ T0] vfs_get_tree (fs/super.c:1790) [ 0.640224][ T0] vfs_kern_mount (fs/namespace.c:1281) [ 0.640224][ T0] kern_mount (fs/namespace.c:5487 (discriminator 1)) [ 0.640224][ T0] shmem_init (mm/shmem.c:4686 (discriminator 1)) [ 0.640224][ T0] ? shmem_parse_one (mm/shmem.c:4500) [ 0.640224][ T0] mnt_init (fs/namespace.c:5471) [ 0.640224][ T0] ? files_init (fs/file_table.c:519) [ 0.640224][ T0] vfs_caches_init (fs/dcache.c:3217) [ 0.640224][ T0] start_kernel (init/main.c:1086) [ 0.640224][ T0] ? obsolete_checksetup (init/main.c:544) [ 0.640224][ T0] i386_start_kernel (arch/x86/kernel/head32.c:69) [ 0.640224][ T0] startup_32_smp (arch/x86/kernel/head_32.S:292) [ 0.640224][ T0] Modules linked in: [ 0.640224][ T0] CR2: 0000000020c4e000 [ 0.640224][ T0] ---[ end trace 0000000000000000 ]--- [ 0.640224][ T0] EIP: percpu_counter_add_batch (lib/percpu_counter.c:93 (discriminator 4)) [ 0.640224][ T0] Code: 00 8b 5d f4 8b 75 f8 8b 7d fc 89 ec 5d 31 c0 31 d2 31 c9 e9 3e 7d 8b 00 8d b4 26 00 00 00 00 8d 76 00 e8 f7 22 91 ff 8b 4b 3c <64> 8b 01 89 45 e0 89 c6 89 c7 c1 ff 1f 03 75 ec 13 7d f0 89 f2 f7 All code ======== 0: 00 8b 5d f4 8b 75 add %cl,0x758bf45d(%rbx) 6: f8 clc 7: 8b 7d fc mov -0x4(%rbp),%edi a: 89 ec mov %ebp,%esp c: 5d pop %rbp d: 31 c0 xor %eax,%eax f: 31 d2 xor %edx,%edx 11: 31 c9 xor %ecx,%ecx 13: e9 3e 7d 8b 00 jmp 0x8b7d56 18: 8d b4 26 00 00 00 00 lea 0x0(%rsi,%riz,1),%esi 1f: 8d 76 00 lea 0x0(%rsi),%esi 22: e8 f7 22 91 ff call 0xffffffffff91231e 27: 8b 4b 3c mov 0x3c(%rbx),%ecx 2a:* 64 8b 01 mov %fs:(%rcx),%eax <-- trapping instruction 2d: 89 45 e0 mov %eax,-0x20(%rbp) 30: 89 c6 mov %eax,%esi 32: 89 c7 mov %eax,%edi 34: c1 ff 1f sar $0x1f,%edi 37: 03 75 ec add -0x14(%rbp),%esi 3a: 13 7d f0 adc -0x10(%rbp),%edi 3d: 89 f2 mov %esi,%edx 3f: f7 .byte 0xf7 Code starting with the faulting instruction =========================================== 0: 64 8b 01 mov %fs:(%rcx),%eax 3: 89 45 e0 mov %eax,-0x20(%rbp) 6: 89 c6 mov %eax,%esi 8: 89 c7 mov %eax,%edi a: c1 ff 1f sar $0x1f,%edi d: 03 75 ec add -0x14(%rbp),%esi 10: 13 7d f0 adc -0x10(%rbp),%edi 13: 89 f2 mov %esi,%edx 15: f7 .byte 0xf7 The kernel config and materials to reproduce are available at: https://download.01.org/0day-ci/archive/20240714/202407141802.19588609-lkp@xxxxxxxxx -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki