Hello, kernel test robot noticed "WARNING:inconsistent_lock_state" on: commit: 93d6e4cbc8375acb1995cee651b2ffbc0c8d4393 ("pidfs: use maple tree") https://git.kernel.org/cgit/linux/kernel/git/vfs/vfs.git work.pidfs.maple_tree in testcase: boot config: i386-randconfig-053-20241211 compiler: clang-19 test machine: qemu-system-i386 -enable-kvm -cpu SandyBridge -smp 2 -m 4G (please refer to attached dmesg/kmsg for entire log/backtrace) +-------------------------------------------------+------------+------------+ | | 6c31256f35 | 93d6e4cbc8 | +-------------------------------------------------+------------+------------+ | WARNING:inconsistent_lock_state | 0 | 12 | | inconsistent{HARDIRQ-ON-W}->{IN-HARDIRQ-W}usage | 0 | 12 | +-------------------------------------------------+------------+------------+ 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/202412122317.e295e7c-lkp@xxxxxxxxx [ 15.226693][ C0] WARNING: inconsistent lock state [ 15.227260][ C0] 6.13.0-rc1-00019-g93d6e4cbc837 #1 Not tainted [ 15.227912][ C0] -------------------------------- [ 15.228468][ C0] inconsistent {HARDIRQ-ON-W} -> {IN-HARDIRQ-W} usage. [ 15.229168][ C0] wrapper/381 [HC1[1]:SC0[0]:HE0:SE1] takes: [ 15.229787][ C0] 447eb710 (&sighand->siglock){?.+.}-{3:3}, at: __lock_task_sighand (kernel/signal.c:1379 (discriminator 2)) [ 15.230624][ C0] {HARDIRQ-ON-W} state was registered at: [ 15.231210][ C0] irq event stamp: 52 [ 15.231660][ C0] hardirqs last enabled at (51): do_user_addr_fault (arch/x86/include/asm/irqflags.h:42 arch/x86/include/asm/irqflags.h:97 arch/x86/mm/fault.c:1283) [ 15.232611][ C0] hardirqs last disabled at (52): common_interrupt (arch/x86/kernel/irq.c:?) [ 15.233569][ C0] softirqs last enabled at (0): copy_process (kernel/fork.c:2341 (discriminator 1)) [ 15.234486][ C0] softirqs last disabled at (0): 0x0 [ 15.235177][ C0] [ 15.235177][ C0] other info that might help us debug this: [ 15.236041][ C0] Possible unsafe locking scenario: [ 15.236041][ C0] [ 15.236854][ C0] CPU0 [ 15.237265][ C0] ---- [ 15.237667][ C0] lock(&sighand->siglock); [ 15.238169][ C0] <Interrupt> [ 15.238586][ C0] lock(&sighand->siglock); [ 15.239121][ C0] [ 15.239121][ C0] *** DEADLOCK *** [ 15.239121][ C0] [ 15.240047][ C0] 7 locks held by wrapper/381: [ 15.240569][ C0] #0: 5913922c (&mm->mmap_lock){++++}-{4:4}, at: lock_mm_and_find_vma (arch/x86/include/asm/jump_label.h:36 include/linux/mmap_lock.h:35 include/linux/mmap_lock.h:164 mm/memory.c:6149 mm/memory.c:6209) [ 15.241559][ C0] #1: 427b0200 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire (include/linux/rcupdate.h:336) [ 15.242471][ C0] #2: 427b0200 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire (include/linux/rcupdate.h:336) [ 15.243393][ C0] #3: 427b0200 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire (include/linux/rcupdate.h:336) [ 15.244337][ C0] #4: 591391e0 (&mm->page_table_lock){+.+.}-{3:3}, at: __pte_offset_map_lock (include/linux/spinlock.h:? mm/pgtable-generic.c:402) [ 15.245377][ C0] #5: 427b0200 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire (include/linux/rcupdate.h:336) [ 15.246296][ C0] #6: 427b0200 (rcu_read_lock){....}-{1:3}, at: rcu_lock_acquire (include/linux/rcupdate.h:336) [ 15.247226][ C0] [ 15.247226][ C0] stack backtrace: [ 15.247920][ C0] CPU: 0 UID: 0 PID: 381 Comm: wrapper Not tainted 6.13.0-rc1-00019-g93d6e4cbc837 #1 30133bc52252e570a7a9e29c909fe9dc5601a36c [ 15.249200][ C0] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014 [ 15.250283][ C0] Call Trace: [ 15.250696][ C0] <IRQ> [ 15.251056][ C0] ? dump_stack_lvl (lib/dump_stack.c:122) [ 15.251566][ C0] ? dump_stack (lib/dump_stack.c:129) [ 15.252058][ C0] ? print_usage_bug (kernel/locking/lockdep.c:4040) [ 15.252605][ C0] ? mark_lock_irq (kernel/locking/lockdep.c:4052 kernel/locking/lockdep.c:?) [ 15.253148][ C0] ? save_trace (kernel/locking/lockdep.c:556 kernel/locking/lockdep.c:591) [ 15.253670][ C0] ? mark_lock (kernel/locking/lockdep.c:4749) [ 15.254165][ C0] ? __lock_acquire (kernel/locking/lockdep.c:?) [ 15.254684][ C0] ? __lock_acquire (kernel/locking/lockdep.c:4670) [ 15.255167][ C0] ? __lock_acquire (kernel/locking/lockdep.c:4670) [ 15.255655][ C0] ? __lock_acquire (kernel/locking/lockdep.c:4670) [ 15.256175][ C0] ? lock_acquire (kernel/locking/lockdep.c:5849) [ 15.256702][ C0] ? __lock_task_sighand (kernel/signal.c:1379 (discriminator 2)) [ 15.257287][ C0] ? trace_raw_output_signal_deliver (include/linux/rcupdate.h:336) [ 15.257972][ C0] ? _raw_spin_lock_irqsave (include/linux/spinlock_api_smp.h:110 kernel/locking/spinlock.c:162) [ 15.258556][ C0] ? __lock_task_sighand (kernel/signal.c:1379 (discriminator 2)) [ 15.259131][ C0] ? __lock_task_sighand (kernel/signal.c:1379 (discriminator 2)) [ 15.259716][ C0] ? group_send_sig_info (kernel/signal.c:1267 kernel/signal.c:1418) [ 15.260283][ C0] ? kill_pid_info_type (kernel/signal.c:1458) [ 15.260838][ C0] ? posixtimer_rearm_itimer (kernel/time/itimer.c:177) [ 15.261436][ C0] ? kill_pid_info (kernel/signal.c:1472) [ 15.261905][ C0] ? it_real_fn (kernel/time/itimer.c:185) [ 15.262339][ C0] ? __hrtimer_run_queues (kernel/time/hrtimer.c:1739 (discriminator 256)) [ 15.262845][ C0] ? _raw_spin_lock_irqsave (include/linux/spinlock_api_smp.h:110 kernel/locking/spinlock.c:162) [ 15.263418][ C0] ? hrtimer_interrupt (kernel/time/hrtimer.c:1865 (discriminator 2)) [ 15.263979][ C0] ? mask_and_ack_8259A (arch/x86/kernel/i8259.c:158 (discriminator 1)) [ 15.264560][ C0] ? timer_interrupt (arch/x86/kernel/time.c:40) [ 15.265102][ C0] ? __handle_irq_event_percpu (kernel/irq/handle.c:158) [ 15.265744][ C0] ? handle_irq_event (kernel/irq/handle.c:193 kernel/irq/handle.c:210) [ 15.266295][ C0] ? handle_level_irq (include/linux/irq.h:348 kernel/irq/chip.c:614 kernel/irq/chip.c:650) [ 15.266831][ C0] ? handle_untracked_irq (kernel/irq/chip.c:629) [ 15.267408][ C0] ? __handle_irq (arch/x86/kernel/irq_32.c:97 arch/x86/kernel/irq_32.c:155) [ 15.267916][ C0] </IRQ> [ 15.268283][ C0] ? __common_interrupt (include/asm-generic/irq_regs.h:28 (discriminator 3) arch/x86/kernel/irq.c:288 (discriminator 3)) [ 15.268842][ C0] ? common_interrupt (arch/x86/kernel/irq.c:278 (discriminator 9)) [ 15.269399][ C0] ? asm_common_interrupt (arch/x86/entry/entry_32.S:693) [ 15.269968][ C0] ? filemap_map_pages (arch/x86/include/asm/bitops.h:206 (discriminator 2) arch/x86/include/asm/bitops.h:238 (discriminator 2) include/asm-generic/bitops/instrumented-non-atomic.h:142 (discriminator 2) include/linux/page-flags.h:824 (discriminator 2) include/linux/page-flags.h:845 (discriminator 2) mm/filemap.c:3677 (discriminator 2)) [ 15.270526][ C0] ? filemap_map_pages (arch/x86/include/asm/bitops.h:206 (discriminator 2) arch/x86/include/asm/bitops.h:238 (discriminator 2) include/asm-generic/bitops/instrumented-non-atomic.h:142 (discriminator 2) include/linux/page-flags.h:824 (discriminator 2) include/linux/page-flags.h:845 (discriminator 2) mm/filemap.c:3677 (discriminator 2)) [ 15.271086][ C0] ? rcu_read_unlock (init/main.c:1376) [ 15.271633][ C0] ? rcu_lock_acquire (include/linux/rcupdate.h:346) [ 15.272201][ C0] ? rcu_lock_acquire (include/linux/rcupdate.h:337 (discriminator 1)) [ 15.272764][ C0] ? filemap_read_folio (mm/filemap.c:3633) [ 15.273339][ C0] ? handle_mm_fault (mm/memory.c:5280 mm/memory.c:5313 mm/memory.c:5456 mm/memory.c:3979 mm/memory.c:5801 mm/memory.c:5944 mm/memory.c:6112) [ 15.273892][ C0] ? filemap_read_folio (mm/filemap.c:3633) [ 15.274430][ C0] ? do_user_addr_fault (arch/x86/mm/fault.c:1389) [ 15.275002][ C0] ? exc_page_fault (arch/x86/include/asm/irqflags.h:19 arch/x86/include/asm/irqflags.h:87 arch/x86/include/asm/irqflags.h:147 arch/x86/mm/fault.c:1489 arch/x86/mm/fault.c:1539) [ 15.275539][ C0] ? pvclock_clocksource_read_nowd (arch/x86/mm/fault.c:1494) [ 15.276210][ C0] ? handle_exception (arch/x86/entry/entry_32.S:1055) [ 15.276776][ C0] ? pvclock_clocksource_read_nowd (arch/x86/mm/fault.c:1494) The kernel config and materials to reproduce are available at: https://download.01.org/0day-ci/archive/20241212/202412122317.e295e7c-lkp@xxxxxxxxx -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki