lkml.org 
[lkml]   [2005]   [Jan]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Subject[PATCH] prohibit slash in proc directory entry names
    From
    Date
    On Wed, 2005-01-05 at 02:01, Andrew Morton wrote:
    > Olaf Hering <olh@suse.de> wrote:
    > >
    > > A few users of request_irq pass a string with '/'.
    > > As a result, ls -l /proc/irq/*/* will fail to list these entries.
    >
    > hrm, interesting. So how do these entries appear in /proc? Do they
    > actually have slashes in them?
    >
    > I get the feeling that something somewhere should be detecting this and
    > should be propagating an error back.

    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@austin.ibm.com>

    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;
    +
    len = strlen(fn);

    ent = kmalloc(sizeof(struct proc_dir_entry) + len + 1, GFP_KERNEL);

    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-03-22 14:09    [W:4.222 / U:0.928 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site