diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2011-03-18 08:29:36 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2011-03-18 08:54:59 -0400 |
commit | 27cb1572e3e6bb1f8cf6bb3d74c914a87b131792 (patch) | |
tree | 01e6510de480d3595ccff315d777770490e51f9c /lib/bitrev.c | |
parent | 9d412a43c3b26e1e549319e5eec26f0829f9f74d (diff) | |
download | kernel_samsung_tuna-27cb1572e3e6bb1f8cf6bb3d74c914a87b131792.zip kernel_samsung_tuna-27cb1572e3e6bb1f8cf6bb3d74c914a87b131792.tar.gz kernel_samsung_tuna-27cb1572e3e6bb1f8cf6bb3d74c914a87b131792.tar.bz2 |
fix deadlock in pivot_root()
Don't hold vfsmount_lock over the loop traversing ->mnt_parent;
do check_mnt(new.mnt) under namespace_sem instead; combined with
namespace_sem held over all that code it'll guarantee the stability
of ->mnt_parent chain all the way to the root.
Doing check_mnt() outside of namespace_sem in case of pivot_root()
is wrong anyway.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'lib/bitrev.c')
0 files changed, 0 insertions, 0 deletions