All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <oliver.sang@intel.com>
To: Al Viro <viro@zeniv.linux.org.uk>
Cc: <oe-lkp@lists.linux.dev>, <lkp@intel.com>,
	<linux-fsdevel@vger.kernel.org>, <linux-doc@vger.kernel.org>,
	<oliver.sang@intel.com>
Subject: [viro-vfs:work.dcache2] [__dentry_kill()] 01b17d53ce: WARNING:possible_recursive_locking_detected
Date: Mon, 13 Nov 2023 15:59:04 +0800	[thread overview]
Message-ID: <202311131520.ff2c101e-oliver.sang@intel.com> (raw)



Hello,

kernel test robot noticed "WARNING:possible_recursive_locking_detected" on:

commit: 01b17d53ce197777be701269395edba2fe27069a ("__dentry_kill(): new locking scheme")
https://git.kernel.org/cgit/linux/kernel/git/viro/vfs.git work.dcache2

in testcase: trinity
version: trinity-i386-abe9de86-1_20230429
with following parameters:

	runtime: 300s
	group: group-00
	nr_groups: 5

test-description: Trinity is a linux system call fuzz tester.
test-url: http://codemonkey.org.uk/projects/trinity/


compiler: gcc-11
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/202311131520.ff2c101e-oliver.sang@intel.com


[   12.984549][   T32] WARNING: possible recursive locking detected
[   12.985224][   T32] 6.6.0-00022-g01b17d53ce19 #1 Tainted: G                T
[   12.985995][   T32] --------------------------------------------
[   12.986664][   T32] kworker/u6:1/32 is trying to acquire lock:
[ 12.987128][ T32] c140539c (&dentry->d_lock){+.+.}-{2:2}, at: __dentry_kill (fs/dcache.c:547 fs/dcache.c:616) 
[   12.987128][   T32]
[   12.987128][   T32] but task is already holding lock:
[ 12.987128][ T32] c1402084 (&dentry->d_lock){+.+.}-{2:2}, at: __dentry_kill (include/linux/spinlock.h:351 fs/dcache.c:615) 
[   12.987128][   T32]
[   12.987128][   T32] other info that might help us debug this:
[   12.987128][   T32]  Possible unsafe locking scenario:
[   12.987128][   T32]
[   12.987128][   T32]        CPU0
[   12.987128][   T32]        ----
[   12.987128][   T32]   lock(&dentry->d_lock);
[   12.987128][   T32]
[   12.987128][   T32]  *** DEADLOCK ***
[   12.987128][   T32]
[   12.987128][   T32]  May be due to missing lock nesting notation
[   12.987128][   T32]
[   12.987128][   T32] 3 locks held by kworker/u6:1/32:
[ 12.987128][ T32] #0: c12cb2b8 ((wq_completion)events_unbound){+.+.}-{0:0}, at: process_one_work (arch/x86/include/asm/atomic.h:28 include/linux/atomic/atomic-arch-fallback.h:490 include/linux/atomic/atomic-long.h:81 include/linux/atomic/atomic-instrumented.h:3196 kernel/workqueue.c:669 kernel/workqueue.c:696 kernel/workqueue.c:2600) 
[ 12.987128][ T32] #1: c1ac3f20 ((work_completion)(&entry->work)){+.+.}-{0:0}, at: process_one_work (arch/x86/include/asm/atomic.h:28 include/linux/atomic/atomic-arch-fallback.h:490 include/linux/atomic/atomic-long.h:81 include/linux/atomic/atomic-instrumented.h:3196 kernel/workqueue.c:669 kernel/workqueue.c:696 kernel/workqueue.c:2600) 
[ 12.987128][ T32] #2: c1402084 (&dentry->d_lock){+.+.}-{2:2}, at: __dentry_kill (include/linux/spinlock.h:351 fs/dcache.c:615) 
[   12.987128][   T32]
[   12.987128][   T32] stack backtrace:
[   12.987128][   T32] CPU: 1 PID: 32 Comm: kworker/u6:1 Tainted: G                T  6.6.0-00022-g01b17d53ce19 #1 330148d6df35f2d99e64624286ad750c7614ad4a
[   12.987128][   T32] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
[   12.987128][   T32] Workqueue: events_unbound async_run_entry_fn
[   12.987128][   T32] Call Trace:
[ 12.987128][ T32] dump_stack_lvl (lib/dump_stack.c:107) 
[ 12.987128][ T32] dump_stack (lib/dump_stack.c:114) 
[ 12.987128][ T32] print_deadlock_bug (kernel/locking/lockdep.c:3013) 
[ 12.987128][ T32] validate_chain (kernel/locking/lockdep.c:3858) 
[ 12.987128][ T32] __lock_acquire (kernel/locking/lockdep.c:5136) 
[ 12.987128][ T32] lock_acquire (kernel/locking/lockdep.c:467 kernel/locking/lockdep.c:5755) 
[ 12.987128][ T32] ? __dentry_kill (fs/dcache.c:547 fs/dcache.c:616) 
[ 12.987128][ T32] _raw_spin_lock (include/linux/spinlock_api_smp.h:134 kernel/locking/spinlock.c:154) 
[ 12.987128][ T32] ? __dentry_kill (fs/dcache.c:547 fs/dcache.c:616) 
[ 12.987128][ T32] __dentry_kill (fs/dcache.c:547 fs/dcache.c:616) 
[ 12.987128][ T32] dput (fs/dcache.c:1990) 
[ 12.987128][ T32] ? dput (fs/dcache.c:836) 
[ 12.987128][ T32] dput (fs/dcache.c:858) 
[ 12.987128][ T32] step_into (fs/namei.c:1556 fs/namei.c:1840) 
[ 12.987128][ T32] ? walk_component (fs/namei.c:2003) 
[ 12.987128][ T32] walk_component (fs/namei.c:2008) 
[ 12.987128][ T32] path_lookupat (fs/namei.c:2482) 
[ 12.987128][ T32] filename_lookup (fs/namei.c:2513) 
[ 12.987128][ T32] kern_path (fs/namei.c:2610) 
[ 12.987128][ T32] init_stat (fs/init.c:133) 
[ 12.987128][ T32] clean_path (init/initramfs.c:333) 
[ 12.987128][ T32] do_name (init/initramfs.c:366) 
[ 12.987128][ T32] unpack_to_rootfs (init/initramfs.c:451 init/initramfs.c:504) 
[ 12.987128][ T32] ? kvm_clock_get_cycles (arch/x86/include/asm/preempt.h:85 arch/x86/kernel/kvmclock.c:80 arch/x86/kernel/kvmclock.c:86) 
[ 12.987128][ T32] do_populate_rootfs (init/initramfs.c:693) 
[ 12.987128][ T32] ? process_one_work (arch/x86/include/asm/atomic.h:28 include/linux/atomic/atomic-arch-fallback.h:490 include/linux/atomic/atomic-long.h:81 include/linux/atomic/atomic-instrumented.h:3196 kernel/workqueue.c:669 kernel/workqueue.c:696 kernel/workqueue.c:2600) 
[ 12.987128][ T32] async_run_entry_fn (kernel/async.c:129 (discriminator 5)) 
[ 12.987128][ T32] process_one_work (arch/x86/include/asm/atomic.h:23 include/linux/atomic/atomic-arch-fallback.h:444 include/linux/jump_label.h:260 include/linux/jump_label.h:270 include/trace/events/workqueue.h:108 kernel/workqueue.c:2635) 
[ 12.987128][ T32] ? process_one_work (arch/x86/include/asm/atomic.h:28 include/linux/atomic/atomic-arch-fallback.h:490 include/linux/atomic/atomic-long.h:81 include/linux/atomic/atomic-instrumented.h:3196 kernel/workqueue.c:669 kernel/workqueue.c:696 kernel/workqueue.c:2600) 
[ 12.987128][ T32] worker_thread (kernel/workqueue.c:2697 kernel/workqueue.c:2784) 
[ 12.987128][ T32] ? rescuer_thread (kernel/workqueue.c:2730) 
[ 12.987128][ T32] kthread (kernel/kthread.c:388) 
[ 12.987128][ T32] ? rescuer_thread (kernel/workqueue.c:2730) 
[ 12.987128][ T32] ? kthread_complete_and_exit (kernel/kthread.c:341) 
[ 12.987128][ T32] ret_from_fork (arch/x86/kernel/process.c:153) 
[ 12.987128][ T32] ? kthread_complete_and_exit (kernel/kthread.c:341) 
[ 12.987128][ T32] ret_from_fork_asm (arch/x86/entry/entry_32.S:741) 
[ 12.987128][ T32] entry_INT80_32 (arch/x86/entry/entry_32.S:944) 
[   13.024050][   T32] Trying to unpack rootfs image as initramfs...
[   15.772392][   T32] Freeing initrd memory: 128724K
[   15.773782][    T1] RAPL PMU: API unit is 2^-32 Joules, 0 fixed counters, 10737418240 ms ovfl timer



The kernel config and materials to reproduce are available at:
https://download.01.org/0day-ci/archive/20231113/202311131520.ff2c101e-oliver.sang@intel.com



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


             reply	other threads:[~2023-11-13  7:59 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-13  7:59 kernel test robot [this message]
2023-11-13  8:06 ` [viro-vfs:work.dcache2] [__dentry_kill()] 01b17d53ce: WARNING:possible_recursive_locking_detected Al Viro

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=202311131520.ff2c101e-oliver.sang@intel.com \
    --to=oliver.sang@intel.com \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=lkp@intel.com \
    --cc=oe-lkp@lists.linux.dev \
    --cc=viro@zeniv.linux.org.uk \
    /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.