Re: [Bug #15589] 2.6.34-rc1: Badness at fs/proc/generic.c:316

Alexey Dobriyan
2010-04-20T15:54:50Z

On Tue, Apr 20, 2010 at 10:18:18PM +1000, Michael Ellerman wrote:
> On Mon, 2010-04-19 at 23:45 -0700, Christian Kujau wrote:
> --- a/fs/proc/proc_devtree.c
> +++ b/fs/proc/proc_devtree.c
> @@ -175,6 +175,24 @@ retry:
> return fixed_name;
> }
>
> +static const char *unslash_name(const char *name)
> +{
> + char *p, *fixed_name;
> +
> + fixed_name = kstrdup(name);
> + if (!fixed_name) {
> + printk(KERN_ERR "device-tree: Out of memory trying to unslash "
> + "name \"%s\"\n", name);
> + return name;
> + }
> +
> + p = fixed_name;
> + while ((p = strstr(p, "/")))
> + *p++ = '_';

This is wasteful. :-)
Also, I hope we won't spit message every time allocation fail.