提交 9d8072e7 编写于 作者: P Peter Huewe 提交者: Linus Torvalds

autofs - Fix sparse warning: context imbalance in autofs4_d_automount()...

autofs - Fix sparse warning: context imbalance in autofs4_d_automount() different lock contexts for basic block

Sparse complains:

  fs/autofs4/root.c:409:9: sparse: context imbalance in 'autofs4_d_automount' - different lock contexts for basic block

This was introduced by commit f55fb0c2 ("autofs4 - dont clear
DCACHE_NEED_AUTOMOUNT on rootless mount")

The function autofs4_d_automount can be left with the (&sbi->fs_lock)
held if sbi->version <= 4 and simple_empty(dentry) == false so the
warning seems valid.

--> Add an spin_unlock in this case before we jump to done

Unfortunately compile tested only.
Reported-by: NFengguang Wu <fengguang.wu@intel.com>
Signed-off-by: NPeter Huewe <peterhuewe@gmx.de>
Acked-by: NIan Kent <raven@themaw.net>
Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
上级 b0af9cd9
...@@ -383,9 +383,11 @@ static struct vfsmount *autofs4_d_automount(struct path *path) ...@@ -383,9 +383,11 @@ static struct vfsmount *autofs4_d_automount(struct path *path)
goto done; goto done;
} }
} else { } else {
if (!simple_empty(dentry)) if (!simple_empty(dentry)) {
spin_unlock(&sbi->fs_lock);
goto done; goto done;
} }
}
ino->flags |= AUTOFS_INF_PENDING; ino->flags |= AUTOFS_INF_PENDING;
spin_unlock(&sbi->fs_lock); spin_unlock(&sbi->fs_lock);
status = autofs4_mount_wait(dentry); status = autofs4_mount_wait(dentry);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册