summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarek Skuczynski <mareksk7@gmail.com>2010-01-30 22:29:32 +0100
committerPaul Mundt <lethal@linux-sh.org>2010-02-02 11:32:23 +0900
commitbc10e875d4aeaa93a0d418d8b4346b72f5067ea0 (patch)
treeb4256cc3274cb431d067bae35fe204ac3dac0fa2
parent00b3e0a2e059f0601feb537b995b0b4de531b543 (diff)
downloadlinux-bc10e875d4aeaa93a0d418d8b4346b72f5067ea0.tar.bz2
sh: Fix access to released memory in clk_debugfs_register_one()
Signed-off-by: Marek Skuczynski <mareksk7@gmail.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
-rw-r--r--arch/sh/kernel/cpu/clock.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/sh/kernel/cpu/clock.c b/arch/sh/kernel/cpu/clock.c
index f3a46be2ae81..83da5debeedf 100644
--- a/arch/sh/kernel/cpu/clock.c
+++ b/arch/sh/kernel/cpu/clock.c
@@ -598,7 +598,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;
@@ -630,7 +630,7 @@ static int clk_debugfs_register_one(struct clk *c)
err_out:
d = c->dentry;
- 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->dentry);
return err;