lkml.org 
[lkml]   [2008]   [Oct]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Date
    Subject[PATCH 3/3] sysfs: Take sysfs_mutex when fetching the root inode.

    sysfs_get_inode ultimately calls sysfs_count_nlink when the a
    directory inode is fectched. sysfs_count_nlink needs to be called
    under the sysfs_mutex to guard against the unlikely but possible
    scenario that the root directory is changing as we are counting the
    number entries in it.

    Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
    ---
    fs/sysfs/mount.c | 2 ++
    1 files changed, 2 insertions(+), 0 deletions(-)

    diff --git a/fs/sysfs/mount.c b/fs/sysfs/mount.c
    index 8f2237a..59e55f0 100644
    --- a/fs/sysfs/mount.c
    +++ b/fs/sysfs/mount.c
    @@ -65,7 +65,9 @@ static int sysfs_fill_super(struct super_block *sb, void *data, int silent,

    /* get root inode, initialize and unlock it */
    error = -ENOMEM;
    + mutex_lock(&sysfs_mutex);
    inode = sysfs_get_inode(&sysfs_root);
    + mutex_unlock(&sysfs_mutex);
    if (!inode) {
    pr_debug("sysfs: could not get root inode\n");
    goto out_err;
    --
    1.5.3.rc6.17.g1911


    \
     
     \ /
      Last update: 2008-10-07 12:59    [W:3.785 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site