Prev: kconfig: recalc symbol value before showing search results
Next: [PATCH] input: mt: clarify the no-finger event
From: Ryan Mallon on 20 Mar 2010 18:10 Wolfram Sang wrote: > Probably due to a copy & paste bug, clientdata was set again to the data > structure (which is freed immediately afterwards) when it should be NULLed. Good catch. Thanks. Acked-by: Ryan Mallon <ryan(a)bluewatersys.com> > Signed-off-by: Wolfram Sang <w.sang(a)pengutronix.de> > Cc: Ryan Mallon <ryan(a)bluewatersys.com> > Cc: Anton Vorontsov <cbouatmailru(a)gmail.com> > --- > drivers/power/ds2782_battery.c | 4 ++-- > 1 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/power/ds2782_battery.c b/drivers/power/ds2782_battery.c > index da14f37..6971b85 100644 > --- a/drivers/power/ds2782_battery.c > +++ b/drivers/power/ds2782_battery.c > @@ -236,7 +236,7 @@ static int ds2782_battery_remove(struct i2c_client *client) > idr_remove(&battery_id, info->id); > mutex_unlock(&battery_lock); > > - i2c_set_clientdata(client, info); > + i2c_set_clientdata(client, NULL); > > kfree(info); > return 0; > @@ -289,7 +289,7 @@ static int ds2782_battery_probe(struct i2c_client *client, > fail_register: > kfree(info->battery.name); > fail_name: > - i2c_set_clientdata(client, info); > + i2c_set_clientdata(client, NULL); > kfree(info); > fail_info: > mutex_lock(&battery_lock); -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Anton Vorontsov on 22 Mar 2010 13:10 On Sat, Mar 20, 2010 at 03:12:43PM +0100, Wolfram Sang wrote: > Probably due to a copy & paste bug, clientdata was set again to the data > structure (which is freed immediately afterwards) when it should be NULLed. > > Signed-off-by: Wolfram Sang <w.sang(a)pengutronix.de> > Cc: Ryan Mallon <ryan(a)bluewatersys.com> > Cc: Anton Vorontsov <cbouatmailru(a)gmail.com> > --- > drivers/power/ds2782_battery.c | 4 ++-- > 1 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/power/ds2782_battery.c b/drivers/power/ds2782_battery.c > index da14f37..6971b85 100644 > --- a/drivers/power/ds2782_battery.c > +++ b/drivers/power/ds2782_battery.c > @@ -236,7 +236,7 @@ static int ds2782_battery_remove(struct i2c_client *client) > idr_remove(&battery_id, info->id); > mutex_unlock(&battery_lock); > > - i2c_set_clientdata(client, info); > + i2c_set_clientdata(client, NULL); [...] > - i2c_set_clientdata(client, info); > + i2c_set_clientdata(client, NULL); Why is this needed? I'd vote for just removing set_clientdata in fail/remove paths. Thanks, -- Anton Vorontsov email: cbouatmailru(a)gmail.com irc://irc.freenode.net/bd2 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Wolfram Sang on 30 Mar 2010 08:30
> Why is this needed? I'd vote for just removing set_clientdata in > fail/remove paths. Yes, it will be done this way. I will prepare the necessary cleanups for 2.6.35. Please drop this patch. -- Pengutronix e.K. | Wolfram Sang | Industrial Linux Solutions | http://www.pengutronix.de/ | |