Re: [PATCH] prohibit slash in proc directory entry names

From: Andrew Morton
Date: Wed Jan 05 2005 - 19:08:52 EST


Nathan Lynch <nathanl@xxxxxxxxxxxxxx> wrote:
>
> proc_create() needs to check that the name of an entry to be created
> does not contain a '/' character.
>
> To test, I hacked the ibmveth driver to try to call request_irq with a
> bogus "foo/bar" devname. The creation of the /proc/irq/1234/xxx entry
> silently fails, as intended. Perhaps the irq code should be made to
> check for the failure.
>
> Signed-off-by: Nathan Lynch <nathanl@xxxxxxxxxxxxxx>
>
> Index: 2.6.10/fs/proc/generic.c
> ===================================================================
> --- 2.6.10.orig/fs/proc/generic.c 2004-12-24 21:35:40.000000000 +0000
> +++ 2.6.10/fs/proc/generic.c 2005-01-05 18:44:56.000000000 +0000
> @@ -551,6 +551,11 @@
>
> if (!(*parent) && xlate_proc_name(name, parent, &fn) != 0)
> goto out;
> +
> + /* At this point there must not be any '/' characters beyond *fn */
> + if (strchr(fn, '/'))
> + goto out;
> +

hm. From a brief code-squint I don't see how the string can ever have a
slash in it by this stage. Unless the caller provided a non-null *parent
and we never called xlate_proc_name()?
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/