diff --git a/fs/namespace.c b/fs/namespace.c index 224aff1c0dfda0d964e8d5248b658c8c8c334af1..1e4a5fe3d7b7f789d66839f37b1f917c1fa3e2ba 100644 --- a/fs/namespace.c +++ b/fs/namespace.c @@ -1074,8 +1074,9 @@ void umount_tree(struct mount *mnt, int propagate, struct list_head *kill) list_del_init(&p->mnt_expire); list_del_init(&p->mnt_list); __touch_mnt_namespace(p->mnt_ns); + if (p->mnt_ns) + __mnt_make_shortterm(p); p->mnt_ns = NULL; - __mnt_make_shortterm(p); list_del_init(&p->mnt_child); if (mnt_has_parent(p)) { p->mnt_parent->mnt_ghosts++;