diff --git a/fs/namespace.c b/fs/namespace.c index 7cd642409165738e59c97e9942fee19ad42d52fc..f30ed401cc6d7a824ad5b19b21459cdfd3f0435f 100644 --- a/fs/namespace.c +++ b/fs/namespace.c @@ -684,9 +684,6 @@ bool __is_local_mountpoint(struct dentry *dentry) struct mount *mnt; bool is_covered = false; - if (!d_mountpoint(dentry)) - goto out; - down_read(&namespace_sem); lock_ns_list(ns); list_for_each_entry(mnt, &ns->list, mnt_list) { @@ -698,7 +695,7 @@ bool __is_local_mountpoint(struct dentry *dentry) } unlock_ns_list(ns); up_read(&namespace_sem); -out: + return is_covered; } diff --git a/fs/super.c b/fs/super.c index bf3b7685b52a9d8e3d962880cecad989e636e736..904459b351199597d512db5228fe6db322c991e6 100644 --- a/fs/super.c +++ b/fs/super.c @@ -361,7 +361,7 @@ EXPORT_SYMBOL(deactivate_locked_super); */ void deactivate_super(struct super_block *s) { - if (!atomic_add_unless(&s->s_active, -1, 1)) { + if (!atomic_add_unless(&s->s_active, -1, 1)) { down_write(&s->s_umount); deactivate_locked_super(s); }