diff options
author | Mark Fasheh <mark.fasheh@oracle.com> | 2006-10-20 14:55:54 -0700 |
---|---|---|
committer | Mark Fasheh <mark.fasheh@oracle.com> | 2006-12-01 18:28:34 -0800 |
commit | 55ed16029d597622db8121270e687373b5e31722 (patch) | |
tree | a8ffbd1fe4d867f48eada13fc24b6bbfc70f245d /fs/configfs/dir.c | |
parent | 1fabe1481fac9e01bf8bffa60a2307ef379aa5de (diff) | |
download | op-kernel-dev-55ed16029d597622db8121270e687373b5e31722.zip op-kernel-dev-55ed16029d597622db8121270e687373b5e31722.tar.gz |
configfs: mutex_lock_nested() fix
configfs_unregister_subsystem() nests a pair of inode i_mutex acquisitions,
and thus needs annotation via mutex_lock_nested().
Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
Diffstat (limited to 'fs/configfs/dir.c')
-rw-r--r-- | fs/configfs/dir.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/fs/configfs/dir.c b/fs/configfs/dir.c index 8a3b6a1..452cfd1 100644 --- a/fs/configfs/dir.c +++ b/fs/configfs/dir.c @@ -1176,8 +1176,9 @@ void configfs_unregister_subsystem(struct configfs_subsystem *subsys) return; } - mutex_lock(&configfs_sb->s_root->d_inode->i_mutex); - mutex_lock(&dentry->d_inode->i_mutex); + mutex_lock_nested(&configfs_sb->s_root->d_inode->i_mutex, + I_MUTEX_PARENT); + mutex_lock_nested(&dentry->d_inode->i_mutex, I_MUTEX_CHILD); if (configfs_detach_prep(dentry)) { printk(KERN_ERR "configfs: Tried to unregister non-empty subsystem!\n"); } |