Messages in this thread |  | | Date | Sat, 25 Apr 2026 18:16:34 -0500 | | Subject | Re: [PATCH] iio: adc: meson-saradc: fix calibration buffer leak on error | | From | David Lechner <> |
| |
On 4/25/26 1:44 PM, Jonathan Cameron wrote: > On Sat, 25 Apr 2026 11:17:18 -0500 > David Lechner <dlechner@baylibre.com> wrote: > >> On 4/25/26 11:07 AM, Felix Gu wrote: >>> meson_sar_adc_temp_sensor_init() allocates a buffer with >>> nvmem_cell_read(), but the old code leaked it if >>> syscon_regmap_lookup_by_phandle() failed. >>> >>> Switch buf to __free(kfree) so all return paths release it. >>> >>> Fixes: d6f2eac64403 ("iio: adc: meson: no devm for nvmem_cell_get") >>> Signed-off-by: Felix Gu <ustc.gu@gmail.com> >>> --- >>> drivers/iio/adc/meson_saradc.c | 10 +++------- >>> 1 file changed, 3 insertions(+), 7 deletions(-) >>> >>> diff --git a/drivers/iio/adc/meson_saradc.c b/drivers/iio/adc/meson_saradc.c >>> index 23991a3612bd..9708ddcc4919 100644 >>> --- a/drivers/iio/adc/meson_saradc.c >>> +++ b/drivers/iio/adc/meson_saradc.c >>> @@ -786,7 +786,7 @@ static int meson_sar_adc_clk_init(struct iio_dev *indio_dev, >>> static int meson_sar_adc_temp_sensor_init(struct iio_dev *indio_dev) >>> { >> >> Nice to see one of these cleanup.h patches that is actually fixing a bug. > > It's not fixing anything as far as I can see. > The syscon_regmap_lookup_by_handle() is earlier in the function and > nvmem_cell_read() isn't called if that fails. > > So this is just a code simplification and so small benefit if anything. > > Maybe there is an old version that does things in a different order?
I just updated iio/testing today and I see return without kfree().
priv->tsc_regmap = syscon_regmap_lookup_by_phandle(dev->of_node, "amlogic,hhi-sysctrl"); if (IS_ERR(priv->tsc_regmap)) return dev_err_probe(dev, PTR_ERR(priv->tsc_regmap), "failed to get amlogic,hhi-sysctrl regmap\n");
> > >> >> Should `#include <linux/cleanup.h>` though rather that relying on it being >> included through another header. >> >> With that fixed... >> >> Reviewed-by: David Lechner <dlechner@baylibre.com> >> >
|  |