All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <oliver.sang@intel.com>
To: "Liam R. Howlett" <Liam.Howlett@oracle.com>
Cc: <oe-lkp@lists.linux.dev>, <lkp@intel.com>,
	Vlastimil Babka <vbabka@suse.cz>,
	<maple-tree@lists.infradead.org>, <linux-mm@kvack.org>,
	<linux-kernel@vger.kernel.org>, <oliver.sang@intel.com>
Subject: [vbabka:slub-percpu-sheaves-v6r2] [maple_tree] 99848157f7: WARNING:possible_circular_locking_dependency_detected
Date: Thu, 4 Sep 2025 13:20:30 +0800	[thread overview]
Message-ID: <202509041248.b7ece14a-lkp@intel.com> (raw)



Hello,

kernel test robot noticed "WARNING:possible_circular_locking_dependency_detected" on:

commit: 99848157f71c03ca5e975b0e686def1d66e8b19f ("maple_tree: Sheaf conversion")
https://git.kernel.org/cgit/linux/kernel/git/vbabka/linux.git slub-percpu-sheaves-v6r2

in testcase: rcuscale
version: 
with following parameters:

	runtime: 300s
	scale_type: rcu



config: x86_64-randconfig-075-20250831
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)



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@intel.com>
| Closes: https://lore.kernel.org/oe-lkp/202509041248.b7ece14a-lkp@intel.com


[   17.413963][   T74] WARNING: possible circular locking dependency detected
[   17.414491][   T74] 6.17.0-rc3-00017-g99848157f71c #1 Not tainted
[   17.414936][   T74] ------------------------------------------------------
[   17.415483][   T74] systemd-cryptse/74 is trying to acquire lock:
[ 17.415965][ T74] ffffffffb02789c0 (fs_reclaim){+.+.}-{0:0}, at: prepare_alloc_pages+0xd5/0x23d 
[   17.416782][   T74]
[   17.416782][   T74] but task is already holding lock:
[ 17.417298][ T74] ffff88812925dbf8 (&mapping->i_mmap_rwsem){++++}-{4:4}, at: vma_prepare (mm/vma.c:296) 
[   17.418021][   T74]
[   17.418021][   T74] which lock already depends on the new lock.
[   17.418021][   T74]
[   17.418779][   T74]
[   17.418779][   T74] the existing dependency chain (in reverse order) is:
[   17.419530][   T74]
[   17.419530][   T74] -> #1 (&mapping->i_mmap_rwsem){++++}-{4:4}:
[ 17.420152][ T74] validate_chain (kernel/locking/lockdep.c:3285 kernel/locking/lockdep.c:3908) 
[ 17.420562][ T74] __lock_acquire (kernel/locking/lockdep.c:5237) 
[ 17.420968][ T74] lock_acquire (kernel/locking/lockdep.c:470 kernel/locking/lockdep.c:5870) 
[ 17.421364][ T74] down_write (kernel/locking/rwsem.c:1315 kernel/locking/rwsem.c:1326 kernel/locking/rwsem.c:1591) 
[ 17.421735][ T74] dma_resv_lockdep (include/linux/fs.h:557 drivers/dma-buf/dma-resv.c:798) 
[ 17.422159][ T74] do_one_initcall (init/main.c:1269) 
[ 17.422573][ T74] do_initcalls (init/main.c:1330 init/main.c:1347) 
[ 17.423031][ T74] kernel_init_freeable (init/main.c:1583) 
[ 17.423481][ T74] kernel_init (init/main.c:1471) 
[ 17.423840][ T74] ret_from_fork (arch/x86/kernel/process.c:154) 
[ 17.424211][ T74] ret_from_fork_asm (arch/x86/entry/entry_64.S:258) 
[   17.424612][   T74]
[   17.424612][   T74] -> #0 (fs_reclaim){+.+.}-{0:0}:
[ 17.425162][ T74] check_noncircular (kernel/locking/lockdep.c:2179) 
[ 17.425561][ T74] check_prev_add (kernel/locking/lockdep.c:3166) 
[ 17.425954][ T74] validate_chain (kernel/locking/lockdep.c:3285 kernel/locking/lockdep.c:3908) 
[ 17.426681][ T74] __lock_acquire (kernel/locking/lockdep.c:5237) 
[ 17.427085][ T74] lock_acquire (kernel/locking/lockdep.c:470 kernel/locking/lockdep.c:5870) 
[ 17.427458][ T74] __fs_reclaim_acquire (mm/page_alloc.c:4235) 
[ 17.427840][ T74] prepare_alloc_pages+0xd5/0x23d 
[ 17.428255][ T74] __alloc_frozen_pages_noprof (mm/page_alloc.c:5137) 
[ 17.428658][ T74] alloc_slab_page (mm/slub.c:2990) 
[ 17.428987][ T74] allocate_slab (mm/slub.c:3155) 
[ 17.429316][ T74] ___slab_alloc (mm/slub.c:4406 (discriminator 3)) 
[ 17.429757][ T74] __kmem_cache_alloc_bulk (mm/slub.c:6757) 
[ 17.430188][ T74] refill_sheaf (mm/slub.c:2571) 
[ 17.430554][ T74] kmem_cache_return_sheaf (mm/slub.c:5174 (discriminator 1)) 
[ 17.430998][ T74] mas_destroy (lib/maple_tree.c:5384) 
[ 17.431366][ T74] mas_store_prealloc (lib/maple_tree.c:5292 (discriminator 4)) 
[ 17.431789][ T74] commit_merge (mm/vma.c:767) 
[ 17.432172][ T74] vma_expand (mm/vma.c:1158) 
[ 17.432530][ T74] vma_merge_new_range (mm/vma.c:1095 (discriminator 1)) 
[ 17.433237][ T74] __mmap_region (mm/vma.c:2664) 
[ 17.433621][ T74] mmap_region (mm/vma.c:2739) 
[ 17.433987][ T74] do_mmap (mm/mmap.c:559) 
[ 17.434342][ T74] vm_mmap_pgoff (mm/util.c:582) 
[ 17.434736][ T74] ksys_mmap_pgoff (mm/mmap.c:606) 
[ 17.435128][ T74] do_int80_emulation (arch/x86/entry/syscall_32.c:83 arch/x86/entry/syscall_32.c:172) 
[ 17.435557][ T74] asm_int80_emulation (arch/x86/include/asm/idtentry.h:626) 
[   17.436031][   T74]
[   17.436031][   T74] other info that might help us debug this:
[   17.436031][   T74]
[   17.436803][   T74]  Possible unsafe locking scenario:
[   17.436803][   T74]
[   17.437381][   T74]        CPU0                    CPU1
[   17.437800][   T74]        ----                    ----
[   17.438213][   T74]   lock(&mapping->i_mmap_rwsem);
[   17.438614][   T74]                                lock(fs_reclaim);
[   17.439118][   T74]                                lock(&mapping->i_mmap_rwsem);
[   17.439737][   T74]   lock(fs_reclaim);
[   17.440045][   T74]
[   17.440045][   T74]  *** DEADLOCK ***
[   17.440045][   T74]
[   17.440668][   T74] 2 locks held by systemd-cryptse/74:
[ 17.441085][ T74] #0: ffff88813b6a9d48 (&mm->mmap_lock){++++}-{4:4}, at: vm_mmap_pgoff (include/linux/mmap_lock.h:415 mm/util.c:578) 
[ 17.441777][ T74] #1: ffff88812925dbf8 (&mapping->i_mmap_rwsem){++++}-{4:4}, at: vma_prepare (mm/vma.c:296) 
[   17.442517][   T74]
[   17.442517][   T74] stack backtrace:
[   17.443019][   T74] CPU: 0 UID: 0 PID: 74 Comm: systemd-cryptse Not tainted 6.17.0-rc3-00017-g99848157f71c #1 PREEMPT(full)
[   17.443875][   T74] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
[   17.444619][   T74] Call Trace:
[   17.444877][   T74]  <TASK>
[ 17.445101][ T74] print_circular_bug (kernel/locking/lockdep.c:2046) 
[ 17.445469][ T74] check_noncircular (kernel/locking/lockdep.c:2179) 
[ 17.445823][ T74] ? add_chain_block (kernel/locking/lockdep.c:3442) 
[ 17.446245][ T74] check_prev_add (kernel/locking/lockdep.c:3166) 
[ 17.446608][ T74] validate_chain (kernel/locking/lockdep.c:3285 kernel/locking/lockdep.c:3908) 
[ 17.446960][ T74] __lock_acquire (kernel/locking/lockdep.c:5237) 
[ 17.447332][ T74] ? prepare_alloc_pages+0xd5/0x23d 
[ 17.447831][ T74] lock_acquire (kernel/locking/lockdep.c:470 kernel/locking/lockdep.c:5870) 
[ 17.448188][ T74] ? prepare_alloc_pages+0xd5/0x23d 
[ 17.448649][ T74] ? lookup_chain_cache (kernel/locking/lockdep.c:3801 (discriminator 1)) 
[ 17.449018][ T74] __fs_reclaim_acquire (mm/page_alloc.c:4235) 
[ 17.449456][ T74] ? prepare_alloc_pages+0xd5/0x23d 
[ 17.449923][ T74] prepare_alloc_pages+0xd5/0x23d 
[ 17.450400][ T74] __alloc_frozen_pages_noprof (mm/page_alloc.c:5137) 
[ 17.450855][ T74] ? __alloc_pages_slowpath+0xa4d/0xa4d 
[ 17.451376][ T74] ? lock_is_held_type (kernel/locking/lockdep.c:5601 kernel/locking/lockdep.c:5940) 
[ 17.451778][ T74] ? find_held_lock (kernel/locking/lockdep.c:5350) 
[ 17.452142][ T74] ? mark_lock (kernel/locking/lockdep.c:4731 (discriminator 3)) 
[ 17.452492][ T74] alloc_slab_page (mm/slub.c:2990) 
[ 17.452912][ T74] allocate_slab (mm/slub.c:3155) 
[ 17.453271][ T74] ___slab_alloc (mm/slub.c:4406 (discriminator 3)) 
[ 17.453601][ T74] ? lock_acquire (kernel/locking/lockdep.c:470 kernel/locking/lockdep.c:5870) 
[ 17.453949][ T74] ? refill_sheaf (mm/slub.c:2571) 
[ 17.454278][ T74] ? mark_lock (kernel/locking/lockdep.c:4731 (discriminator 3)) 
[ 17.454611][ T74] ? mark_held_locks (kernel/locking/lockdep.c:4325) 
[ 17.454987][ T74] __kmem_cache_alloc_bulk (mm/slub.c:6757) 
[ 17.455387][ T74] refill_sheaf (mm/slub.c:2571) 
[ 17.455731][ T74] kmem_cache_return_sheaf (mm/slub.c:5174 (discriminator 1)) 
[ 17.456221][ T74] mas_destroy (lib/maple_tree.c:5384) 
[ 17.456575][ T74] mas_store_prealloc (lib/maple_tree.c:5292 (discriminator 4)) 
[ 17.456968][ T74] ? mas_store (lib/maple_tree.c:5292) 
[ 17.457303][ T74] ? __mas_set_range (include/linux/maple_tree.h:755 (discriminator 20)) 
[ 17.457685][ T74] commit_merge (mm/vma.c:767) 
[ 17.458038][ T74] ? vma_complete (mm/vma.c:731) 
[ 17.458384][ T74] ? lock_is_held_type (kernel/locking/lockdep.c:5601 kernel/locking/lockdep.c:5940) 
[ 17.458757][ T74] vma_expand (mm/vma.c:1158) 
[ 17.459090][ T74] ? unmap_region (mm/vma.c:1121) 
[ 17.459519][ T74] ? can_vma_merge_right (mm/vma.c:197 mm/vma.c:440) 
[ 17.459890][ T74] vma_merge_new_range (mm/vma.c:1095 (discriminator 1)) 
[ 17.460253][ T74] __mmap_region (mm/vma.c:2664) 
[ 17.460604][ T74] ? __mmap_new_vma (mm/vma.c:2641) 
[ 17.460977][ T74] ? inc_stack_record_count (include/linux/refcount.h:290 include/linux/refcount.h:312 mm/page_owner.c:216) 
[ 17.461414][ T74] ? lock_is_held_type (kernel/locking/lockdep.c:5601 kernel/locking/lockdep.c:5940) 
[ 17.461808][ T74] ? mas_prev_slot (lib/maple_tree.c:4369) 
[ 17.462190][ T74] ? mas_prev_slot (lib/maple_tree.c:5664) 
[ 17.462586][ T74] ? lock_is_held_type (kernel/locking/lockdep.c:5601 kernel/locking/lockdep.c:5940) 
[ 17.463001][ T74] mmap_region (mm/vma.c:2739) 
[ 17.463353][ T74] ? generic_file_readonly_mmap (mm/filemap.c:3852) 
[ 17.463779][ T74] do_mmap (mm/mmap.c:559) 
[ 17.464082][ T74] ? __get_unmapped_area (mm/mmap.c:339) 
[ 17.464468][ T74] ? tracer_preempt_on (kernel/trace/trace_irqsoff.c:689) 
[ 17.464878][ T74] vm_mmap_pgoff (mm/util.c:582) 
[ 17.465244][ T74] ? randomize_page (mm/util.c:568) 
[ 17.465615][ T74] ksys_mmap_pgoff (mm/mmap.c:606) 
[ 17.466035][ T74] do_int80_emulation (arch/x86/entry/syscall_32.c:83 arch/x86/entry/syscall_32.c:172) 
[ 17.466429][ T74] asm_int80_emulation (arch/x86/include/asm/idtentry.h:626) 
[   17.466827][   T74] RIP: 0023:0xf7f95cb0
[ 17.467133][ T74] Code: 4c 24 34 89 44 24 0c 8b 44 24 44 8b 54 24 38 8b 74 24 3c 8b 7c 24 40 a9 ff 0f 00 00 75 1c c1 e8 0c 89 c5 b8 c0 00 00 00 cd 80 <3d> 00 f0 ff ff 77 21 83 c4 1c 5b 5e 5f 5d c3 90 83 c4 1c b8 ea ff
All code
========
   0:	4c 24 34             	rex.WR and $0x34,%al
   3:	89 44 24 0c          	mov    %eax,0xc(%rsp)
   7:	8b 44 24 44          	mov    0x44(%rsp),%eax
   b:	8b 54 24 38          	mov    0x38(%rsp),%edx
   f:	8b 74 24 3c          	mov    0x3c(%rsp),%esi
  13:	8b 7c 24 40          	mov    0x40(%rsp),%edi
  17:	a9 ff 0f 00 00       	test   $0xfff,%eax
  1c:	75 1c                	jne    0x3a
  1e:	c1 e8 0c             	shr    $0xc,%eax
  21:	89 c5                	mov    %eax,%ebp
  23:	b8 c0 00 00 00       	mov    $0xc0,%eax
  28:	cd 80                	int    $0x80
  2a:*	3d 00 f0 ff ff       	cmp    $0xfffff000,%eax		<-- trapping instruction
  2f:	77 21                	ja     0x52


The kernel config and materials to reproduce are available at:
https://download.01.org/0day-ci/archive/20250904/202509041248.b7ece14a-lkp@intel.com



-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki



             reply	other threads:[~2025-09-04  5:20 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-09-04  5:20 kernel test robot [this message]
2025-09-04 15:13 ` [vbabka:slub-percpu-sheaves-v6r2] [maple_tree] 99848157f7: WARNING:possible_circular_locking_dependency_detected Vlastimil Babka

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202509041248.b7ece14a-lkp@intel.com \
    --to=oliver.sang@intel.com \
    --cc=Liam.Howlett@oracle.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=lkp@intel.com \
    --cc=maple-tree@lists.infradead.org \
    --cc=oe-lkp@lists.linux.dev \
    --cc=vbabka@suse.cz \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.