[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20100420163241.GA30625@opensource.wolfsonmicro.com>
Date: Wed, 21 Apr 2010 01:32:42 +0900
From: Mark Brown <broonie@...nsource.wolfsonmicro.com>
To: Axel Lin <axel.lin@...il.com>
Cc: linux-kernel <linux-kernel@...r.kernel.org>,
Sascha Hauer <s.hauer@...gutronix.de>,
Liam Girdwood <lrg@...mlogic.co.uk>,
Samuel Ortiz <sameo@...ux.intel.com>
Subject: Re: [PATCH] mc13783-regulator: fix a memory leak in
mc13783_regulator_remove
On Tue, Apr 20, 2010 at 01:34:18PM +0800, Axel Lin wrote:
> 2010/4/20 Mark Brown <broonie@...nsource.wolfsonmicro.com>:
> > On Mon, Apr 19, 2010 at 09:58:02AM +0800, Axel Lin wrote:
> >> + platform_set_drvdata(pdev, NULL);
> >> +
> > This is completely unrelated to what your description says (and is not
> > needed).
> In the probe function , the driver uses platform_set_drvdata(pdev,
> priv) to store a pointer to the priv data structure.
> To avoid leaving a dangling pointer behind, the driver should clear
> the pointer to priv before freeing priv.
All of which is totally unrelated to the description of the patch. One
of the things that I do when I'm reviewing is look to see if the patch
does what the description says - unrelated changes are normally a red
flag that something is wrong and there are mistakes or unintended side
effects lurking in the code.
The dangling pointer isn't really a problem in any case; if a driver
is relying on the behaviour of the pointer between bindings it's in
trouble anyway since there aren't any guarantees about what happens.
See the recent discussion about the same issue for I2C.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists