[2.6.38] Possible deadlock at pivot_root?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I got a freeze (without lockdep warning) with a small out-of-tree patch
applied on 2.6.38. It seems to me that the deadlock occurred when running
pivot_root(). I guess it is spinning at spin_lock() below.

Is below lock dependency safe?

d_path():

  write_seqlock(&rename_lock);
    br_read_lock(vfsmount_lock);
      spin_lock(&dentry->d_lock);

      spin_unlock(&dentry->d_lock);
    br_read_unlock(vfsmount_lock);
  write_sequnlock(&rename_lock);

pivot_root():

  down_write(&namespace_sem);
    mutex_lock(&old.dentry->d_inode->i_mutex);
      br_write_lock(vfsmount_lock);
        spin_lock(&dentry->d_lock);

        spin_unlock(&dentry->d_lock);
      br_write_unlock(vfsmount_lock);
    mutex_unlock(&old.dentry->d_inode->i_mutex);
  up_write(&namespace_sem);

[  384.711037] 8 locks held by make/6110:
[  384.711037]  #0:  (&ccs_ss){.+.+.+}, at: [<c11bc320>] ccs_path_perm+0x0/0x1c0
[  384.711037]  #1:  (rename_lock){+.+...}, at: [<c10e41c9>] __d_path+0x39/0x80
[  384.711037]  #2:  (vfsmount_lock){++++..}, at: [<c10e8500>] vfsmount_lock_local_lock+0x0/0x60
[  384.711037]  #3:  (&serio->lock){-.-...}, at: [<c12ddb68>] serio_interrupt+0x28/0x80
[  384.711037]  #4:  (&(&dev->event_lock)->rlock){-.-...}, at: [<c12e053f>] input_event+0x3f/0x70
[  384.711037]  #5:  (rcu_read_lock){.+.+..}, at: [<c12dfe30>] input_pass_event+0x0/0x1c0
[  384.711037]  #6:  (sysrq_key_table_lock){-.-...}, at: [<c124c348>] __handle_sysrq+0x18/0x110
[  384.711037]  #7:  (tasklist_lock){.?.?..}, at: [<c10701a6>] debug_show_all_locks+0x36/0x1d0
[  384.711037] 

(I think #3 to #7 are caused by pressing sysrq key.)
Complete log is at http://I-love.SAKURA.ne.jp/tmp/dmesg-2.6.38.txt

Regards.
--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux