lkml.org 
[lkml]   [2011]   [Nov]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v2] ext4: fix NULL pointer dereference from orig_data in fill_super and remount.
    Date
    Fix NULL pointer dereference from orig_data in fill_super and remount.

    Signed-off-by: Namjae Jeon <linkinjeon@gmail.com>
    ---
    fs/ext4/super.c | 7 ++++++-
    1 files changed, 6 insertions(+), 1 deletions(-)

    diff --git a/fs/ext4/super.c b/fs/ext4/super.c
    index 9953d80..717b3e8 100644
    --- a/fs/ext4/super.c
    +++ b/fs/ext4/super.c
    @@ -3102,7 +3102,6 @@ static int ext4_fill_super(struct super_block *sb, void *data, int silent)
    __releases(kernel_lock)
    __acquires(kernel_lock)
    {
    - char *orig_data = kstrdup(data, GFP_KERNEL);
    struct buffer_head *bh;
    struct ext4_super_block *es = NULL;
    struct ext4_sb_info *sbi;
    @@ -3125,6 +3124,10 @@ static int ext4_fill_super(struct super_block *sb, void *data, int silent)
    unsigned int journal_ioprio = DEFAULT_JOURNAL_IOPRIO;
    ext4_group_t first_not_zeroed;

    + char *orig_data = kstrdup(data, GFP_KERNEL);
    + if (!orig_data)
    + return ret;
    +
    sbi = kzalloc(sizeof(*sbi), GFP_KERNEL);
    if (!sbi)
    goto out_free_orig;
    @@ -4398,6 +4401,8 @@ static int ext4_remount(struct super_block *sb, int *flags, char *data)
    int i;
    #endif
    char *orig_data = kstrdup(data, GFP_KERNEL);
    + if (!orig_data)
    + return -ENOMEM;

    /* Store the original options */
    lock_super(sb);
    --
    1.7.4.4


    \
     
     \ /
      Last update: 2011-11-07 15:05    [W:6.974 / U:0.016 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site