lkml.org 
[lkml]   [2009]   [Mar]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[patch 096/114] ext4: Fix NULL dereference in ext4_ext_migrate()s error handling

    2.6.28-stable review patch. If anyone has any objections, please let us know.

    ------------------

    From: Dan Carpenter <error27@gmail.com>

    (cherry picked from commit 090542641de833c6f756895fc2f139f046e298f9)

    This was found through a code checker (http://repo.or.cz/w/smatch.git/).
    It looks like you might be able to trigger the error by trying to migrate
    a readonly file system.

    Signed-off-by: Dan Carpenter <error27@gmail.com>
    Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

    ---
    fs/ext4/migrate.c | 8 +++-----
    1 file changed, 3 insertions(+), 5 deletions(-)

    --- a/fs/ext4/migrate.c
    +++ b/fs/ext4/migrate.c
    @@ -480,7 +480,7 @@ int ext4_ext_migrate(struct inode *inode
    + 1);
    if (IS_ERR(handle)) {
    retval = PTR_ERR(handle);
    - goto err_out;
    + return retval;
    }
    tmp_inode = ext4_new_inode(handle,
    inode->i_sb->s_root->d_inode,
    @@ -488,8 +488,7 @@ int ext4_ext_migrate(struct inode *inode
    if (IS_ERR(tmp_inode)) {
    retval = -ENOMEM;
    ext4_journal_stop(handle);
    - tmp_inode = NULL;
    - goto err_out;
    + return retval;
    }
    i_size_write(tmp_inode, i_size_read(inode));
    /*
    @@ -617,8 +616,7 @@ err_out:

    ext4_journal_stop(handle);

    - if (tmp_inode)
    - iput(tmp_inode);
    + iput(tmp_inode);

    return retval;
    }



    \
     
     \ /
      Last update: 2009-03-14 02:59    [W:0.035 / U:0.012 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site