lkml.org 
[lkml]   [2010]   [Mar]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Date
    Subject[PATCH 07/24] input/touchscreen: fix dangling pointers
    Fix I2C-drivers which missed setting clientdata to NULL before freeing the
    structure it points to. Also fix drivers which do this _after_ the structure
    was freed already.

    Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
    Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    ---

    Found using coccinelle, then reviewed. Full patchset is available via
    kernel-janitors, linux-i2c, and LKML.
    ---
    drivers/input/touchscreen/mcs5000_ts.c | 2 +-
    drivers/input/touchscreen/tsc2007.c | 1 +
    2 files changed, 2 insertions(+), 1 deletions(-)

    diff --git a/drivers/input/touchscreen/mcs5000_ts.c b/drivers/input/touchscreen/mcs5000_ts.c
    index 4c28b89..98689a7 100644
    --- a/drivers/input/touchscreen/mcs5000_ts.c
    +++ b/drivers/input/touchscreen/mcs5000_ts.c
    @@ -254,8 +254,8 @@ static int __devexit mcs5000_ts_remove(struct i2c_client *client)

    free_irq(client->irq, data);
    input_unregister_device(data->input_dev);
    - kfree(data);
    i2c_set_clientdata(client, NULL);
    + kfree(data);

    return 0;
    }
    diff --git a/drivers/input/touchscreen/tsc2007.c b/drivers/input/touchscreen/tsc2007.c
    index be23780..4c63fda 100644
    --- a/drivers/input/touchscreen/tsc2007.c
    +++ b/drivers/input/touchscreen/tsc2007.c
    @@ -353,6 +353,7 @@ static int __devexit tsc2007_remove(struct i2c_client *client)
    pdata->exit_platform_hw();

    input_unregister_device(ts->input);
    + i2c_set_clientdata(client, NULL);
    kfree(ts);

    return 0;
    --
    1.7.0


    \
     
     \ /
      Last update: 2010-03-20 15:17    [W:0.022 / U:0.260 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site