* [viro-vfs:work.dcache2] [__dentry_kill()] 01b17d53ce: WARNING:possible_recursive_locking_detected
@ 2023-11-13 7:59 kernel test robot
2023-11-13 8:06 ` Al Viro
0 siblings, 1 reply; 2+ messages in thread
From: kernel test robot @ 2023-11-13 7:59 UTC (permalink / raw)
To: Al Viro; +Cc: oe-lkp, lkp, linux-fsdevel, linux-doc, oliver.sang
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
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [viro-vfs:work.dcache2] [__dentry_kill()] 01b17d53ce: WARNING:possible_recursive_locking_detected
2023-11-13 7:59 [viro-vfs:work.dcache2] [__dentry_kill()] 01b17d53ce: WARNING:possible_recursive_locking_detected kernel test robot
@ 2023-11-13 8:06 ` Al Viro
0 siblings, 0 replies; 2+ messages in thread
From: Al Viro @ 2023-11-13 8:06 UTC (permalink / raw)
To: kernel test robot; +Cc: oe-lkp, lkp, linux-fsdevel, linux-doc
On Mon, Nov 13, 2023 at 03:59:04PM +0800, kernel test robot wrote:
>
>
> 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
*shrug*
False positive, and yes, it needs the spin_lock_nested() when taking
->d_lock on victim after having just acquired it on the parent.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2023-11-13 8:07 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-11-13 7:59 [viro-vfs:work.dcache2] [__dentry_kill()] 01b17d53ce: WARNING:possible_recursive_locking_detected kernel test robot
2023-11-13 8:06 ` Al Viro
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).