• Al Viro's avatar
    fix deadlock in pivot_root() · 27cb1572
    Al Viro authored
    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: default avatarAl Viro <viro@zeniv.linux.org.uk>
    27cb1572
namespace.c 65.2 KB