[Devel] [PATCH 2/4] proc: detect duplicate names on registration

Alexey Dobriyan adobriyan at sw.ru
Fri Nov 16 07:08:40 PST 2007


Andrew, please drop procfs-detect-duplicate-names.patch and apply this
instead.
------------
[PATCH] proc: detect duplicate names on registration

From: Zhang Rui <rui.zhang at intel.com>

Print a warning if PDE is registered with a name which already exists in
target directory.

Bug report and a simple fix can be found here:
http://bugzilla.kernel.org/show_bug.cgi?id=8798

[\n fixlet and no undescriptive variable usage --adobriyan]
Signed-off-by: Zhang Rui <rui.zhang at intel.com>
Signed-off-by: Alexey Dobriyan <adobriyan at sw.ru>
---

 fs/proc/generic.c |   10 ++++++++++
 1 file changed, 10 insertions(+)

--- a/fs/proc/generic.c
+++ b/fs/proc/generic.c
@@ -518,6 +518,7 @@ static const struct inode_operations proc_dir_inode_operations = {
 static int proc_register(struct proc_dir_entry * dir, struct proc_dir_entry * dp)
 {
 	unsigned int i;
+	struct proc_dir_entry *tmp;
 	
 	i = get_inode_number();
 	if (i == 0)
@@ -536,6 +537,15 @@ static int proc_register(struct proc_dir_entry * dir, struct proc_dir_entry * dp
 	}
 
 	spin_lock(&proc_subdir_lock);
+
+	for (tmp = dir->subdir; tmp; tmp = tmp->next)
+		if (strcmp(tmp->name, dp->name) == 0) {
+			printk(KERN_WARNING "PDE '%s' already registered\n",
+				dp->name);
+			dump_stack();
+			break;
+		}
+
 	dp->next = dir->subdir;
 	dp->parent = dir;
 	dir->subdir = dp;




More information about the Devel mailing list