lkml.org 
[lkml]   [2010]   [Aug]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[081/111] Btrfs: kfree correct pointer during mount option parsing
    2.6.32-stable review patch.  If anyone has any objections, please let us know.

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

    From: Josef Bacik <josef@redhat.com>

    commit da495ecc0fb096b383754952a1c152147bc95b52 upstream.

    We kstrdup the options string, but then strsep screws with the pointer,
    so when we kfree() it, we're not giving it the right pointer.

    Tested-by: Andy Lutomirski <luto@mit.edu>

    Signed-off-by: Chris Mason <chris.mason@oracle.com>
    Acked-by: Jeff Mahoney <jeffm@suse.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

    ---
    fs/btrfs/super.c | 5 +++--
    1 file changed, 3 insertions(+), 2 deletions(-)

    --- a/fs/btrfs/super.c
    +++ b/fs/btrfs/super.c
    @@ -126,7 +126,7 @@ int btrfs_parse_options(struct btrfs_roo
    {
    struct btrfs_fs_info *info = root->fs_info;
    substring_t args[MAX_OPT_ARGS];
    - char *p, *num;
    + char *p, *num, *orig;
    int intarg;
    int ret = 0;

    @@ -141,6 +141,7 @@ int btrfs_parse_options(struct btrfs_roo
    if (!options)
    return -ENOMEM;

    + orig = options;

    while ((p = strsep(&options, ",")) != NULL) {
    int token;
    @@ -273,7 +274,7 @@ int btrfs_parse_options(struct btrfs_roo
    }
    }
    out:
    - kfree(options);
    + kfree(orig);
    return ret;
    }




    \
     
     \ /
      Last update: 2010-08-12 02:35    [W:0.023 / U:0.592 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site