Messages in this thread | | | Date | Tue, 05 Jul 2011 23:54:55 +0100 | From | Graeme Gregory <> | Subject | Re: [PATCH] mfd: Don't leak init_data in tps65910_i2c_probe |
| |
On 07/05/2011 11:29 PM, Jesper Juhl wrote: > On Tue, 5 Jul 2011, Jesper Juhl wrote: > >> On Mon, 4 Jul 2011, Samuel Ortiz wrote: >> > [...] >>> This is not a memory leak fix. And I actually prefer the == NULL check. >>> Please remove the == NULL check replacement with !* and keep only the memory >>> leak fixing part. >>> > Here's an updated patch. > > > From: Jesper Juhl <jj@chaosbits.net> > Subject: [PATCH] mfd: Don't leak init_data in tps65910_i2c_probe > > There are a couple of situations where we leak init_data in > drivers/mfd/tps65910.c:tps65910_i2c_probe() - this patch should take > care of them. > > Signed-off-by: Jesper Juhl <jj@chaosbits.net> > --- > drivers/mfd/tps65910.c | 6 +++++- > 1 files changed, 5 insertions(+), 1 deletions(-) > > diff --git a/drivers/mfd/tps65910.c b/drivers/mfd/tps65910.c > index 2229e66..7a3eb2d 100644 > --- a/drivers/mfd/tps65910.c > +++ b/drivers/mfd/tps65910.c > @@ -151,8 +151,10 @@ static int tps65910_i2c_probe(struct i2c_client *i2c, > init_data->irq_base = pmic_plat_data->irq; > > tps65910 = kzalloc(sizeof(struct tps65910), GFP_KERNEL); > - if (tps65910 == NULL) > + if (tps65910 == NULL) { > + kfree(init_data); > return -ENOMEM; > + } > > i2c_set_clientdata(i2c, tps65910); > tps65910->dev = &i2c->dev; > @@ -174,11 +176,13 @@ static int tps65910_i2c_probe(struct i2c_client *i2c, > if (ret < 0) > goto err; > > + kfree(init_data); > return ret; > > err: > mfd_remove_devices(tps65910->dev); > kfree(tps65910); > + kfree(init_data); > return ret; > } > Sorry didnt reply to this first time round.
Acked-by: Graeme Gregory <gg@slimlogic.co.uk>
| |