omap: Fix access to already released memory in clk_debugfs_register_one()
authorMarek Skuczynski <[email protected]>
Sun, 31 Jan 2010 10:00:54 +0000 (10:00 +0000)
committerTony Lindgren <[email protected]>
Wed, 3 Feb 2010 16:48:06 +0000 (08:48 -0800)
I have found an access to already released memory in
clk_debugfs_register_one() function.

Signed-off-by: Marek Skuczynski <[email protected]>
Acked-by: Paul Walmsley <[email protected]>
Signed-off-by: Tony Lindgren <[email protected]>
arch/arm/plat-omap/clock.c

index d9f8c844c385fa18f7b92aa88431296df9f75140..4becbdd1935cbe8e4c64edbafe82bb66c70f9fbe 100644 (file)
@@ -391,7 +391,7 @@ static struct dentry *clk_debugfs_root;
 static int clk_debugfs_register_one(struct clk *c)
 {
        int err;
-       struct dentry *d, *child;
+       struct dentry *d, *child, *child_tmp;
        struct clk *pa = c->parent;
        char s[255];
        char *p = s;
@@ -423,7 +423,7 @@ static int clk_debugfs_register_one(struct clk *c)
 
 err_out:
        d = c->dent;
-       list_for_each_entry(child, &d->d_subdirs, d_u.d_child)
+       list_for_each_entry_safe(child, child_tmp, &d->d_subdirs, d_u.d_child)
                debugfs_remove(child);
        debugfs_remove(c->dent);
        return err;