Re: [PATCH 24/25] r/o bind mounts: track number of mount writers

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Andrew Morton
Date: Sunday, September 23, 2007 - 11:17 pm

On Thu, 20 Sep 2007 12:53:20 -0700 Dave Hansen <haveblue@us.ibm.com> wrote:



Did you test with lockdep enabled?

=============================================
[ INFO: possible recursive locking detected ]
2.6.23-rc7-mm1 #1
---------------------------------------------
swapper/1 is trying to acquire lock:
 (&writer->lock){--..}, at: [<c0197a32>] lock_and_coalesce_cpu_mnt_writer_counts+0x32/0x70

but task is already holding lock:
 (&writer->lock){--..}, at: [<c0197a32>] lock_and_coalesce_cpu_mnt_writer_counts+0x32/0x70

other info that might help us debug this:
1 lock held by swapper/1:
 #0:  (&writer->lock){--..}, at: [<c0197a32>] lock_and_coalesce_cpu_mnt_writer_counts+0x32/0x70

stack backtrace:
 [<c0103ffa>] show_trace_log_lvl+0x1a/0x30
 [<c0104b82>] show_trace+0x12/0x20
 [<c0104c96>] dump_stack+0x16/0x20
 [<c0144dc5>] __lock_acquire+0xde5/0x10a0
 [<c01450fa>] lock_acquire+0x7a/0xa0
 [<c03e734c>] _spin_lock+0x2c/0x40
 [<c0197a32>] lock_and_coalesce_cpu_mnt_writer_counts+0x32/0x70
 [<c01982c6>] mntput_no_expire+0x36/0xc0
 [<c0188f15>] path_release_on_umount+0x15/0x20
 [<c0198930>] sys_umount+0x40/0x230
 [<c010070b>] name_to_dev_t+0x9b/0x270
 [<c05230c2>] prepare_namespace+0x62/0x1b0
 [<c05226ca>] kernel_init+0x21a/0x320
 [<c0103b47>] kernel_thread_helper+0x7/0x10
 =======================

It look like a false positive to me, but really, for a patchset of this
complexity and maturity I cannot fathom how it could have escaped any
lockdep testing.

-
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH 00/25] Read-only bind mounts, Dave Hansen, (Thu Sep 20, 12:52 pm)
[PATCH 02/25] rearrange may_open() to be r/o friendly, Dave Hansen, (Thu Sep 20, 12:52 pm)
[PATCH 03/25] give may_open() a local 'mnt' variable, Dave Hansen, (Thu Sep 20, 12:52 pm)
[PATCH 04/25] create cleanup helper svc_msnfs(), Dave Hansen, (Thu Sep 20, 12:52 pm)
[PATCH 05/25] r/o bind mounts: stub functions, Dave Hansen, (Thu Sep 20, 12:52 pm)
[PATCH 06/25] elevate write count open()'d files, Dave Hansen, (Thu Sep 20, 12:52 pm)
[PATCH 09/25] make access() use mnt check, Dave Hansen, (Thu Sep 20, 12:53 pm)
[PATCH 19/25] elevate write count for do_utimes(), Dave Hansen, (Thu Sep 20, 12:53 pm)
[PATCH 23/25] do_rmdir(): elevate write count, Dave Hansen, (Thu Sep 20, 12:53 pm)
[PATCH 25/25] honor r/w changes at do_remount() time, Dave Hansen, (Thu Sep 20, 12:53 pm)
Re: [PATCH 03/25] give may_open() a local 'mnt' variable, Christoph Hellwig, (Thu Sep 20, 12:57 pm)
Re: [PATCH 24/25] r/o bind mounts: track number of mount w ..., Andrew Morton, (Sun Sep 23, 11:17 pm)
Re: [PATCH 24/25] r/o bind mounts: track number of mount w ..., Christoph Hellwig, (Mon Sep 24, 10:54 am)
Re: [PATCH 24/25] r/o bind mounts: track number of mount w ..., Christoph Hellwig, (Mon Sep 24, 12:24 pm)
[RFC] detect missed mnt_want_write() calls, Dave Hansen, (Tue Sep 25, 6:34 pm)
Re: [PATCH 06/25] elevate write count open()'d files, Andrew Morton, (Wed Nov 28, 1:41 am)
Re: [PATCH 06/25] elevate write count open()'d files, Dave Hansen, (Wed Nov 28, 10:33 am)