lkml.org 
[lkml]   [2005]   [Nov]   [29]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    DateTue, 29 Nov 2005 08:17:22 +0100
    FromGrzegorz Nosek <>
    Subject[PATCH] race condition in procfs
    Hello,
    
    I found a race condition in procfs on SMP systems. The result is an
    oops in processes like pidof. Apparently ->proc_read() gets passed a
    potentially NULL pointer. The following micro-patch seems to fix it.
    
    Best regards,
     Grzegorz Nosek
    
    --- linux-2.6/fs/proc/base.c.orig 2005-11-25 00:07:43.000000000 +0100
    +++ linux-2.6/fs/proc/base.c      2005-11-28 11:44:11.000000000 +0100
    @@ -718,6 +718,9 @@
           ssize_t length;
           struct task_struct *task = proc_task(inode);
    
    +       if (!task)
    +               return -ENOENT;
    +
           if (count > PROC_BLOCK_SIZE)
                   count = PROC_BLOCK_SIZE;
           if (!(page = __get_free_page(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-11-29 08:19    [from the cache]
    ©2003-2008