proc_create_mount_point() forgot to increase the parent's nlink, and
it resulted in unbalanced hard link numbers, e.g. /proc/fs shows one
less than expected.

Fixes: eb6d38d5427b ("proc: Allow creating permanently empty directories...")
Cc: sta...@vger.kernel.org
Reported-by: Tristan Ye <tristan...@suse.com>
Signed-off-by: Takashi Iwai <ti...@suse.de>
---
 fs/proc/generic.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/fs/proc/generic.c b/fs/proc/generic.c
index ee27feb34cf4..9425c0d97262 100644
--- a/fs/proc/generic.c
+++ b/fs/proc/generic.c
@@ -472,6 +472,7 @@ struct proc_dir_entry *proc_create_mount_point(const char 
*name)
                ent->data = NULL;
                ent->proc_fops = NULL;
                ent->proc_iops = NULL;
+               parent->nlink++;
                if (proc_register(parent, ent) < 0) {
                        kfree(ent);
                        parent->nlink--;
-- 
2.12.2

Reply via email to