Hello, kernel test robot noticed "BUG:unable_to_handle_page_fault_for_address" on: commit: ef4aabaa372144b2bfa9c4ddc83255831cff9ebd ("[PATCH v2 2/4] gpio: cdev: use correct pointer accessors with SRCU") url: https://github.com/intel-lab-lkp/linux/commits/Bartosz-Golaszewski/gpio-take-the-SRCU-read-lock-in-gpiod_hog/20240214-164752 base: https://git.kernel.org/cgit/linux/kernel/git/brgl/linux.git gpio/for-next patch link: https://lore.kernel.org/all/20240214084419.6194-3-brgl@xxxxxxxx/ patch subject: [PATCH v2 2/4] gpio: cdev: use correct pointer accessors with SRCU in testcase: boot compiler: clang-17 test machine: qemu-system-x86_64 -enable-kvm -cpu SandyBridge -smp 2 -m 16G (please refer to attached dmesg/kmsg for entire log/backtrace) +----------------------------------------------------------------------------------+------------+------------+ | | 5c3cf44c4e | ef4aabaa37 | +----------------------------------------------------------------------------------+------------+------------+ | BUG:unable_to_handle_page_fault_for_address | 0 | 14 | | Oops:#[##] | 0 | 14 | | EIP:gpiolib_cdev_register | 0 | 14 | | Kernel_panic-not_syncing:Fatal_exception | 0 | 14 | +----------------------------------------------------------------------------------+------------+------------+ 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 <lkp@xxxxxxxxx> | Closes: https://lore.kernel.org/oe-lkp/202402262225.50983057-lkp@xxxxxxxxx [ 57.990853][ T1] gpiochip_find_base_unlocked: found new base at 512 [ 57.991570][ T1] [ 57.991875][ T1] ============================= [ 57.992480][ T1] WARNING: suspicious RCU usage [ 57.992993][ T1] 6.8.0-rc4-00057-gef4aabaa3721 #1 Tainted: G TN [ 57.993787][ T1] ----------------------------- [ 57.994289][ T1] drivers/gpio/gpiolib.h:205 suspicious rcu_dereference_check() usage! [ 57.995135][ T1] [ 57.995135][ T1] other info that might help us debug this: [ 57.995135][ T1] [ 57.996198][ T1] [ 57.996198][ T1] rcu_scheduler_active = 2, debug_locks = 1 [ 57.997073][ T1] 2 locks held by swapper/1: [ 57.997559][ T1] #0: ea878e8c (&dev->mutex){....}-{3:3}, at: __driver_attach (drivers/base/dd.c:1216) [ 57.998494][ T1] #1: eb682f3c (&gdev->srcu){.+.+}-{0:0}, at: srcu_lock_acquire (include/linux/srcu.h:115) [ 57.999365][ T1] [ 57.999365][ T1] stack backtrace: [ 58.000005][ T1] CPU: 0 PID: 1 Comm: swapper Tainted: G TN 6.8.0-rc4-00057-gef4aabaa3721 #1 10e84cefff2a9bf1626b34c75cc7b6c846de4a3a [ 58.001317][ T1] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014 [ 58.002330][ T1] Call Trace: [ 58.002690][ T1] dump_stack_lvl (lib/dump_stack.c:107) [ 58.003158][ T1] dump_stack (lib/dump_stack.c:113) [ 58.003631][ T1] lockdep_rcu_suspicious (kernel/locking/lockdep.c:6714) [ 58.006180][ T1] gpiod_hog (drivers/gpio/gpiolib.h:?) [ 58.006632][ T1] of_gpiochip_add_hog (drivers/gpio/gpiolib-of.c:799) [ 58.007165][ T1] of_gpiochip_add (drivers/gpio/gpiolib-of.c:829 drivers/gpio/gpiolib-of.c:1144) [ 58.007663][ T1] gpiochip_add_data_with_key (drivers/gpio/gpiolib.c:1013) [ 58.008278][ T1] unittest_gpio_probe (drivers/of/unittest.c:1886) [ 58.008799][ T1] platform_probe (drivers/base/platform.c:1405) [ 58.009268][ T1] really_probe (drivers/base/dd.c:?) [ 58.009738][ T1] __driver_probe_device (drivers/base/dd.c:800) [ 58.010265][ T1] driver_probe_device (drivers/base/dd.c:830) [ 58.010776][ T1] __driver_attach (drivers/base/dd.c:1217) [ 58.011258][ T1] ? driver_attach (drivers/base/dd.c:1157) [ 58.011734][ T1] bus_for_each_dev (drivers/base/bus.c:367) [ 58.012234][ T1] driver_attach (drivers/base/dd.c:1233) [ 58.012692][ T1] ? driver_attach (drivers/base/dd.c:1157) [ 58.013168][ T1] bus_add_driver (drivers/base/bus.c:674) [ 58.013652][ T1] driver_register (drivers/base/driver.c:246) [ 58.014177][ T1] __platform_driver_register (drivers/base/platform.c:867) [ 58.014730][ T1] of_unittest_overlay_gpio (drivers/of/unittest.c:1969) [ 58.015285][ T1] of_unittest_overlay (drivers/of/unittest.c:3217) [ 58.015804][ T1] of_unittest (drivers/of/unittest.c:4129) [ 58.016264][ T1] do_one_initcall (init/main.c:1236) [ 58.016755][ T1] ? dt_alloc_memory (drivers/of/unittest.c:4080) [ 58.017247][ T1] ? kvm_sched_clock_read (arch/x86/kernel/kvmclock.c:91) [ 58.017766][ T1] ? sched_clock_noinstr (arch/x86/kernel/tsc.c:266) [ 58.018269][ T1] ? local_clock_noinstr (kernel/sched/clock.c:269 kernel/sched/clock.c:306) [ 58.018802][ T1] ? rcu_read_lock_any_held (kernel/rcu/update.c:386) [ 58.019348][ T1] ? __lock_acquire (kernel/locking/lockdep.c:3762) [ 58.019864][ T1] ? __lock_acquire (kernel/locking/lockdep.c:3762) [ 58.020382][ T1] ? kvm_sched_clock_read (arch/x86/kernel/kvmclock.c:91) [ 58.020900][ T1] ? sched_clock_noinstr (arch/x86/kernel/tsc.c:266) [ 58.021400][ T1] ? local_clock_noinstr (kernel/sched/clock.c:269 kernel/sched/clock.c:306) [ 58.021931][ T1] ? rcu_read_lock_any_held (kernel/rcu/update.c:386) [ 58.022471][ T1] ? __lock_acquire (kernel/locking/lockdep.c:3762) [ 58.022979][ T1] ? kvm_sched_clock_read (arch/x86/kernel/kvmclock.c:91) [ 58.023496][ T1] ? sched_clock_noinstr (arch/x86/kernel/tsc.c:266) [ 58.024000][ T1] ? local_clock_noinstr (kernel/sched/clock.c:269 kernel/sched/clock.c:306) [ 58.024526][ T1] ? local_clock (arch/x86/include/asm/preempt.h:84 kernel/sched/clock.c:316) [ 58.024982][ T1] ? irqtime_account_irq (kernel/sched/cputime.c:?) [ 58.025553][ T1] ? irqtime_account_delta (include/linux/seqlock.h:444 include/linux/seqlock.h:516 include/linux/u64_stats_sync.h:151 include/linux/u64_stats_sync.h:187 kernel/sched/cputime.c:46) [ 58.026091][ T1] ? trace_hardirqs_on (kernel/trace/trace_preemptirq.c:63) [ 58.026594][ T1] ? irqentry_exit (kernel/entry/common.c:?) [ 58.027070][ T1] ? common_interrupt (arch/x86/kernel/irq.c:247) [ 58.027567][ T1] ? asm_common_interrupt (arch/x86/entry/entry_32.S:640) [ 58.028119][ T1] ? strlen (arch/x86/lib/string_32.c:175) [ 58.028540][ T1] ? next_arg (lib/cmdline.c:273) [ 58.028991][ T1] ? parse_args (kernel/params.c:153) [ 58.029467][ T1] do_initcall_level (init/main.c:1297) [ 58.029957][ T1] ? rest_init (init/main.c:1433) [ 58.030398][ T1] do_initcalls (init/main.c:1311) [ 58.030846][ T1] ? rest_init (init/main.c:1433) [ 58.031299][ T1] do_basic_setup (init/main.c:1334) [ 58.031769][ T1] kernel_init_freeable (init/main.c:1555) [ 58.032283][ T1] kernel_init (init/main.c:1443) [ 58.032732][ T1] ret_from_fork (arch/x86/kernel/process.c:153) [ 58.033192][ T1] ret_from_fork_asm (arch/x86/entry/entry_32.S:741) [ 58.033680][ T1] entry_INT80_32 (arch/x86/entry/entry_32.S:947) [ 58.034672][ T1] gpio gpiochip0: Persistence not supported for GPIO 2 [ 58.035366][ T1] [ 58.035669][ T1] ============================= [ 58.036180][ T1] WARNING: suspicious RCU usage [ 58.036739][ T1] 6.8.0-rc4-00057-gef4aabaa3721 #1 Tainted: G TN [ 58.037546][ T1] ----------------------------- [ 58.038050][ T1] drivers/gpio/gpiolib.c:112 suspicious rcu_dereference_check() usage! [ 58.038893][ T1] [ 58.038893][ T1] other info that might help us debug this: [ 58.038893][ T1] [ 58.039950][ T1] [ 58.039950][ T1] rcu_scheduler_active = 2, debug_locks = 1 [ 58.040837][ T1] 3 locks held by swapper/1: [ 58.041318][ T1] #0: ea878e8c (&dev->mutex){....}-{3:3}, at: __driver_attach (drivers/base/dd.c:1216) [ 58.042234][ T1] #1: eb682f3c (&gdev->srcu){.+.+}-{0:0}, at: srcu_lock_acquire (include/linux/srcu.h:115) [ 58.043116][ T1] #2: eb6831dc (&desc->srcu){.+.+}-{0:0}, at: srcu_lock_acquire (include/linux/srcu.h:115) [ 58.043992][ T1] [ 58.043992][ T1] stack backtrace: [ 58.044685][ T1] CPU: 0 PID: 1 Comm: swapper Tainted: G TN 6.8.0-rc4-00057-gef4aabaa3721 #1 10e84cefff2a9bf1626b34c75cc7b6c846de4a3a [ 58.046006][ T1] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014 [ 58.047050][ T1] Call Trace: [ 58.047417][ T1] dump_stack_lvl (lib/dump_stack.c:107) [ 58.047896][ T1] dump_stack (lib/dump_stack.c:113) [ 58.048430][ T1] lockdep_rcu_suspicious (kernel/locking/lockdep.c:6714) [ 58.048974][ T1] gpiod_get_label (drivers/gpio/gpiolib.c:?) [ 58.049450][ T1] gpiod_hog (drivers/gpio/gpiolib.c:4519) [ 58.049901][ T1] of_gpiochip_add_hog (drivers/gpio/gpiolib-of.c:799) [ 58.050433][ T1] of_gpiochip_add (drivers/gpio/gpiolib-of.c:829 drivers/gpio/gpiolib-of.c:1144) [ 58.050933][ T1] gpiochip_add_data_with_key (drivers/gpio/gpiolib.c:1013) [ 58.051503][ T1] unittest_gpio_probe (drivers/of/unittest.c:1886) [ 58.052013][ T1] platform_probe (drivers/base/platform.c:1405) [ 58.052484][ T1] really_probe (drivers/base/dd.c:?) [ 58.052953][ T1] __driver_probe_device (drivers/base/dd.c:800) [ 58.053480][ T1] driver_probe_device (drivers/base/dd.c:830) [ 58.054001][ T1] __driver_attach (drivers/base/dd.c:1217) [ 58.054482][ T1] ? driver_attach (drivers/base/dd.c:1157) [ 58.054958][ T1] bus_for_each_dev (drivers/base/bus.c:367) [ 58.055451][ T1] driver_attach (drivers/base/dd.c:1233) [ 58.055908][ T1] ? driver_attach (drivers/base/dd.c:1157) [ 58.056386][ T1] bus_add_driver (drivers/base/bus.c:674) [ 58.056871][ T1] driver_register (drivers/base/driver.c:246) [ 58.057348][ T1] __platform_driver_register (drivers/base/platform.c:867) [ 58.057900][ T1] of_unittest_overlay_gpio (drivers/of/unittest.c:1969) [ 58.058450][ T1] of_unittest_overlay (drivers/of/unittest.c:3217) [ 58.058973][ T1] of_unittest (drivers/of/unittest.c:4129) [ 58.059476][ T1] do_one_initcall (init/main.c:1236) [ 58.059967][ T1] ? dt_alloc_memory (drivers/of/unittest.c:4080) [ 58.060472][ T1] ? kvm_sched_clock_read (arch/x86/kernel/kvmclock.c:91) [ 58.060994][ T1] ? sched_clock_noinstr (arch/x86/kernel/tsc.c:266) [ 58.061500][ T1] ? local_clock_noinstr (kernel/sched/clock.c:269 kernel/sched/clock.c:306) [ 58.062037][ T1] ? rcu_read_lock_any_held (kernel/rcu/update.c:386) [ 58.062580][ T1] ? __lock_acquire (kernel/locking/lockdep.c:3762) [ 58.063084][ T1] ? __lock_acquire (kernel/locking/lockdep.c:3762) [ 58.063595][ T1] ? kvm_sched_clock_read (arch/x86/kernel/kvmclock.c:91) [ 58.064122][ T1] ? sched_clock_noinstr (arch/x86/kernel/tsc.c:266) [ 58.064665][ T1] ? local_clock_noinstr (kernel/sched/clock.c:269 kernel/sched/clock.c:306) [ 58.065201][ T1] ? rcu_read_lock_any_held (kernel/rcu/update.c:386) [ 58.065742][ T1] ? __lock_acquire (kernel/locking/lockdep.c:3762) [ 58.066248][ T1] ? kvm_sched_clock_read (arch/x86/kernel/kvmclock.c:91) [ 58.066768][ T1] ? sched_clock_noinstr (arch/x86/kernel/tsc.c:266) [ 58.067271][ T1] ? local_clock_noinstr (kernel/sched/clock.c:269 kernel/sched/clock.c:306) [ 58.067805][ T1] ? local_clock (arch/x86/include/asm/preempt.h:84 kernel/sched/clock.c:316) [ 58.068268][ T1] ? irqtime_account_irq (kernel/sched/cputime.c:?) [ 58.068795][ T1] ? irqtime_account_delta (include/linux/seqlock.h:444 include/linux/seqlock.h:516 include/linux/u64_stats_sync.h:151 include/linux/u64_stats_sync.h:187 kernel/sched/cputime.c:46) [ 58.069333][ T1] ? trace_hardirqs_on (kernel/trace/trace_preemptirq.c:63) [ 58.069836][ T1] ? irqentry_exit (kernel/entry/common.c:?) [ 58.070341][ T1] ? common_interrupt (arch/x86/kernel/irq.c:247) [ 58.070842][ T1] ? asm_common_interrupt (arch/x86/entry/entry_32.S:640) [ 58.071388][ T1] ? strlen (arch/x86/lib/string_32.c:175) [ 58.071812][ T1] ? next_arg (lib/cmdline.c:273) [ 58.072278][ T1] ? parse_args (kernel/params.c:153) [ 58.072756][ T1] do_initcall_level (init/main.c:1297) [ 58.073247][ T1] ? rest_init (init/main.c:1433) [ 58.073693][ T1] do_initcalls (init/main.c:1311) [ 58.074142][ T1] ? rest_init (init/main.c:1433) [ 58.074585][ T1] do_basic_setup (init/main.c:1334) [ 58.075052][ T1] kernel_init_freeable (init/main.c:1555) [ 58.075573][ T1] kernel_init (init/main.c:1443) [ 58.076029][ T1] ret_from_fork (arch/x86/kernel/process.c:153) [ 58.076498][ T1] ret_from_fork_asm (arch/x86/entry/entry_32.S:741) [ 58.076989][ T1] entry_INT80_32 (arch/x86/entry/entry_32.S:947) [ 58.077544][ T1] gpio-514 (line-B-input): hogged as input [ 58.078433][ T1] BUG: unable to handle page fault for address: ffffffff [ 58.079116][ T1] #PF: supervisor read access in kernel mode [ 58.079703][ T1] #PF: error_code(0x0000) - not-present page [ 58.080316][ T1] *pde = 02e00067 *pte = 00000000 [ 58.080829][ T1] Oops: 0000 [#1] [ 58.081210][ T1] CPU: 0 PID: 1 Comm: swapper Tainted: G TN 6.8.0-rc4-00057-gef4aabaa3721 #1 10e84cefff2a9bf1626b34c75cc7b6c846de4a3a [ 58.082492][ T1] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014 [ 58.083471][ T1] EIP: gpiolib_cdev_register (drivers/gpio/gpiolib-cdev.c:2802) [ 58.084015][ T1] Code: ec e8 7a 10 00 00 89 f8 89 da e8 c1 c8 a5 ff 89 f0 83 c4 0c 5e 5f 5b 5d 31 c9 31 d2 c3 8b 45 f0 c1 e8 14 ff b7 d8 01 00 00 50 <ff> 35 ff ff ff ff 68 7c de 5c c2 ff 35 03 00 00 00 68 3d ad 57 c2 All code ======== 0: ec in (%dx),%al 1: e8 7a 10 00 00 call 0x1080 6: 89 f8 mov %edi,%eax 8: 89 da mov %ebx,%edx a: e8 c1 c8 a5 ff call 0xffffffffffa5c8d0 f: 89 f0 mov %esi,%eax 11: 83 c4 0c add $0xc,%esp 14: 5e pop %rsi 15: 5f pop %rdi 16: 5b pop %rbx 17: 5d pop %rbp 18: 31 c9 xor %ecx,%ecx 1a: 31 d2 xor %edx,%edx 1c: c3 ret 1d: 8b 45 f0 mov -0x10(%rbp),%eax 20: c1 e8 14 shr $0x14,%eax 23: ff b7 d8 01 00 00 push 0x1d8(%rdi) 29: 50 push %rax 2a:* ff 35 ff ff ff ff push -0x1(%rip) # 0x2f <-- trapping instruction 30: 68 7c de 5c c2 push $0xffffffffc25cde7c 35: ff 35 03 00 00 00 push 0x3(%rip) # 0x3e 3b: 68 3d ad 57 c2 push $0xffffffffc257ad3d Code starting with the faulting instruction =========================================== 0: ff 35 ff ff ff ff push -0x1(%rip) # 0x5 6: 68 7c de 5c c2 push $0xffffffffc25cde7c b: ff 35 03 00 00 00 push 0x3(%rip) # 0x14 11: 68 3d ad 57 c2 push $0xffffffffc257ad3d [ 58.085813][ T1] EAX: 000000fe EBX: 00000000 ECX: 00000000 EDX: 00000000 [ 58.086476][ T1] ESI: ffffffed EDI: eb682c00 EBP: c3e1baec ESP: c3e1bacc [ 58.087140][ T1] DS: 007b ES: 007b FS: 0000 GS: 0000 SS: 0068 EFLAGS: 00010202 [ 58.087927][ T1] CR0: 80050033 CR2: ffffffff CR3: 02dfd000 CR4: 000406d0 [ 58.088601][ T1] Call Trace: [ 58.088950][ T1] ? __die_body (arch/x86/kernel/dumpstack.c:478 arch/x86/kernel/dumpstack.c:420) [ 58.089388][ T1] ? __die (arch/x86/kernel/dumpstack.c:434) [ 58.089790][ T1] ? page_fault_oops (arch/x86/mm/fault.c:703) [ 58.090279][ T1] ? kernelmode_fixup_or_oops (arch/x86/mm/fault.c:761) [ 58.090815][ T1] ? __bad_area_nosemaphore (arch/x86/mm/fault.c:817) [ 58.091344][ T1] ? bad_area_nosemaphore (arch/x86/mm/fault.c:866) [ 58.091846][ T1] ? do_kern_addr_fault (arch/x86/mm/fault.c:1226) [ 58.092347][ T1] ? exc_page_fault (arch/x86/mm/fault.c:?) [ 58.092822][ T1] ? pvclock_clocksource_read_nowd (arch/x86/mm/fault.c:1520) [ 58.093407][ T1] ? handle_exception (arch/x86/entry/entry_32.S:1049) [ 58.093964][ T1] ? pvclock_clocksource_read_nowd (arch/x86/mm/fault.c:1520) [ 58.094556][ T1] ? gpiolib_cdev_register (drivers/gpio/gpiolib-cdev.c:2802) [ 58.095076][ T1] ? pvclock_clocksource_read_nowd (arch/x86/mm/fault.c:1520) [ 58.095666][ T1] ? gpiolib_cdev_register (drivers/gpio/gpiolib-cdev.c:2802) [ 58.096187][ T1] gpiochip_setup_dev (drivers/gpio/gpiolib.c:740) [ 58.096665][ T1] gpiochip_add_data_with_key (drivers/gpio/gpiolib.c:1047) [ 58.099219][ T1] unittest_gpio_probe (drivers/of/unittest.c:1886) [ 58.099744][ T1] platform_probe (drivers/base/platform.c:1405) [ 58.100210][ T1] really_probe (drivers/base/dd.c:?) [ 58.100662][ T1] __driver_probe_device (drivers/base/dd.c:800) [ 58.101172][ T1] driver_probe_device (drivers/base/dd.c:830) [ 58.101667][ T1] __driver_attach (drivers/base/dd.c:1217) [ 58.102131][ T1] ? driver_attach (drivers/base/dd.c:1157) [ 58.102587][ T1] bus_for_each_dev (drivers/base/bus.c:367) [ 58.103061][ T1] driver_attach (drivers/base/dd.c:1233) [ 58.103505][ T1] ? driver_attach (drivers/base/dd.c:1157) [ 58.103962][ T1] bus_add_driver (drivers/base/bus.c:674) [ 58.104431][ T1] driver_register (drivers/base/driver.c:246) [ 58.104902][ T1] __platform_driver_register (drivers/base/platform.c:867) [ 58.105443][ T1] of_unittest_overlay_gpio (drivers/of/unittest.c:1969) [ 58.105976][ T1] of_unittest_overlay (drivers/of/unittest.c:3217) [ 58.106475][ T1] of_unittest (drivers/of/unittest.c:4129) [ 58.106911][ T1] do_one_initcall (init/main.c:1236) [ 58.107384][ T1] ? dt_alloc_memory (drivers/of/unittest.c:4080) [ 58.107860][ T1] ? kvm_sched_clock_read (arch/x86/kernel/kvmclock.c:91) [ 58.108367][ T1] ? sched_clock_noinstr (arch/x86/kernel/tsc.c:266) [ 58.108853][ T1] ? local_clock_noinstr (kernel/sched/clock.c:269 kernel/sched/clock.c:306) [ 58.109364][ T1] ? rcu_read_lock_any_held (kernel/rcu/update.c:386) [ 58.109889][ T1] ? __lock_acquire (kernel/locking/lockdep.c:3762) [ 58.110377][ T1] ? __lock_acquire (kernel/locking/lockdep.c:3762) [ 58.110926][ T1] ? kvm_sched_clock_read (arch/x86/kernel/kvmclock.c:91) [ 58.111428][ T1] ? sched_clock_noinstr (arch/x86/kernel/tsc.c:266) [ 58.111917][ T1] ? local_clock_noinstr (kernel/sched/clock.c:269 kernel/sched/clock.c:306) [ 58.112441][ T1] ? rcu_read_lock_any_held (kernel/rcu/update.c:386) [ 58.112964][ T1] ? __lock_acquire (kernel/locking/lockdep.c:3762) [ 58.113450][ T1] ? kvm_sched_clock_read (arch/x86/kernel/kvmclock.c:91) [ 58.113964][ T1] ? sched_clock_noinstr (arch/x86/kernel/tsc.c:266) [ 58.114454][ T1] ? local_clock_noinstr (kernel/sched/clock.c:269 kernel/sched/clock.c:306) [ 58.114963][ T1] ? local_clock (arch/x86/include/asm/preempt.h:84 kernel/sched/clock.c:316) [ 58.115399][ T1] ? irqtime_account_irq (kernel/sched/cputime.c:?) [ 58.115903][ T1] ? irqtime_account_delta (include/linux/seqlock.h:444 include/linux/seqlock.h:516 include/linux/u64_stats_sync.h:151 include/linux/u64_stats_sync.h:187 kernel/sched/cputime.c:46) [ 58.116430][ T1] ? trace_hardirqs_on (kernel/trace/trace_preemptirq.c:63) [ 58.116929][ T1] ? irqentry_exit (kernel/entry/common.c:?) [ 58.117391][ T1] ? common_interrupt (arch/x86/kernel/irq.c:247) [ 58.117869][ T1] ? asm_common_interrupt (arch/x86/entry/entry_32.S:640) [ 58.118390][ T1] ? strlen (arch/x86/lib/string_32.c:175) [ 58.118799][ T1] ? next_arg (lib/cmdline.c:273) [ 58.119238][ T1] ? parse_args (kernel/params.c:153) [ 58.119689][ T1] do_initcall_level (init/main.c:1297) [ 58.120167][ T1] ? rest_init (init/main.c:1433) [ 58.120596][ T1] do_initcalls (init/main.c:1311) [ 58.121033][ T1] ? rest_init (init/main.c:1433) [ 58.121460][ T1] do_basic_setup (init/main.c:1334) [ 58.121908][ T1] kernel_init_freeable (init/main.c:1555) [ 58.122401][ T1] kernel_init (init/main.c:1443) [ 58.122873][ T1] ret_from_fork (arch/x86/kernel/process.c:153) [ 58.123330][ T1] ret_from_fork_asm (arch/x86/entry/entry_32.S:741) [ 58.123804][ T1] entry_INT80_32 (arch/x86/entry/entry_32.S:947) [ 58.124281][ T1] Modules linked in: [ 58.124686][ T1] CR2: 00000000ffffffff [ 58.125108][ T1] ---[ end trace 0000000000000000 ]--- [ 58.125635][ T1] EIP: gpiolib_cdev_register (drivers/gpio/gpiolib-cdev.c:2802) [ 58.126171][ T1] Code: ec e8 7a 10 00 00 89 f8 89 da e8 c1 c8 a5 ff 89 f0 83 c4 0c 5e 5f 5b 5d 31 c9 31 d2 c3 8b 45 f0 c1 e8 14 ff b7 d8 01 00 00 50 <ff> 35 ff ff ff ff 68 7c de 5c c2 ff 35 03 00 00 00 68 3d ad 57 c2 All code ======== 0: ec in (%dx),%al 1: e8 7a 10 00 00 call 0x1080 6: 89 f8 mov %edi,%eax 8: 89 da mov %ebx,%edx a: e8 c1 c8 a5 ff call 0xffffffffffa5c8d0 f: 89 f0 mov %esi,%eax 11: 83 c4 0c add $0xc,%esp 14: 5e pop %rsi 15: 5f pop %rdi 16: 5b pop %rbx 17: 5d pop %rbp 18: 31 c9 xor %ecx,%ecx 1a: 31 d2 xor %edx,%edx 1c: c3 ret 1d: 8b 45 f0 mov -0x10(%rbp),%eax 20: c1 e8 14 shr $0x14,%eax 23: ff b7 d8 01 00 00 push 0x1d8(%rdi) 29: 50 push %rax 2a:* ff 35 ff ff ff ff push -0x1(%rip) # 0x2f <-- trapping instruction 30: 68 7c de 5c c2 push $0xffffffffc25cde7c 35: ff 35 03 00 00 00 push 0x3(%rip) # 0x3e 3b: 68 3d ad 57 c2 push $0xffffffffc257ad3d Code starting with the faulting instruction =========================================== 0: ff 35 ff ff ff ff push -0x1(%rip) # 0x5 6: 68 7c de 5c c2 push $0xffffffffc25cde7c b: ff 35 03 00 00 00 push 0x3(%rip) # 0x14 11: 68 3d ad 57 c2 push $0xffffffffc257ad3d The kernel config and materials to reproduce are available at: https://download.01.org/0day-ci/archive/20240226/202402262225.50983057-lkp@xxxxxxxxx -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki