From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-ot1-f43.google.com (mail-ot1-f43.google.com [209.85.210.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D554037F8B2 for ; Sat, 25 Apr 2026 23:16:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.43 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777158999; cv=none; b=MtNdBvY/M0cQ8bKGnMNOdOyaZ213qourdQXSXqPsD3NoKAK7tIAutS5ao7q/mGCmTkaD9ixTcALQJBcjZ5WitFpKgyqWkk5qjjS5ayJ76ubX6PJO/vy1gwL7aBJRs/cDP1epiNVYPNuS2/Amw5uzqyZb4eDN4xf01Pj4MFO4+QA= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777158999; c=relaxed/simple; bh=xP7Ns6dk4fQo7Ggpkw/E8cMNYkXHjD23P9eLBVpFFoI=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=G2WNy7Ww334bCcBruQV5/XAQAj6pospf3EHdoxQjVR6bJ3moha68UdZI1FG1CXJjUacUIcGItz2COVoC9iU/BsgDSB8Yt4+kku46wQqrcg8ZGdrJmnHUguX6q3AgKjJ1ku5qUGZKBqEa96+4Llj5ff7ni2Zvlv9H9vq9Dzs30cQ= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com; spf=pass smtp.mailfrom=baylibre.com; dkim=pass (2048-bit key) header.d=baylibre-com.20251104.gappssmtp.com header.i=@baylibre-com.20251104.gappssmtp.com header.b=UqtTTv64; arc=none smtp.client-ip=209.85.210.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=baylibre.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=baylibre.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=baylibre-com.20251104.gappssmtp.com header.i=@baylibre-com.20251104.gappssmtp.com header.b="UqtTTv64" Received: by mail-ot1-f43.google.com with SMTP id 46e09a7af769-7de431da8fbso3296884a34.1 for ; Sat, 25 Apr 2026 16:16:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20251104.gappssmtp.com; s=20251104; t=1777158997; x=1777763797; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=VYlUw8CjlWV2yawR9xZsFVoRO8akohuXMo1BK6k/g/c=; b=UqtTTv64Rico02Zgw/iMbqhIDj8KC9DkNacQBzdwmBTlJAIJ6IT8HuuU3PZczkMVIv sMflK9FsuGUVeuDZu+oNAbrnmOW6WY6o0bJOd5pvGF254UZuQ2kbjqdiZUNTJTMcm/pc ZTP5KmSbDMFzDexVg7QkH8uX9TnLAAnnVl4SslUkdcSaVRZ29+Ve6Z1lgFuhdURz6C7I xlVMjsEKYn+XtrsVyCX6d4ssI2/N30nMnTTXI2pzvYRpSEfIriolUPySfdberT+86Fdl 6B8E2j7slUNpwI8SRaWarqhaO8eVvYBzcMdURHYh5pSA58kL7VXCRLuQUzTux3FrWMPh 8wpw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777158997; x=1777763797; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=VYlUw8CjlWV2yawR9xZsFVoRO8akohuXMo1BK6k/g/c=; b=kUMbhbzSLcNrGiqYN5+9vLQyVYy/HqUYWARAYBua8H6JNZegUp50QNpkwdUwFnLUPA ar9bhUd2XfuxSIToMbUouJX2qF2vW8pRsOvD57o1jso2iXQ1GCkIcWZ39xrdRv35LT++ ZB3rRYx2Ye+2OE81byprIckU3wQvCiUb44+rd1MjSNq+dAC1KuE2uFQuIglwmyvBE58U DIs1M+RFCg7LkQhal6+C/FN0/W32xNSDIBFr+K9alEe4fw/tbtHvfPSo1eQ/owfgBEdt Gv4Lk3uCFST1ltYvwOVcONyHzz+jBbsTn+/syVCxrc1YdeOTMPTr7hJM4sk6kaGah05B 5paQ== X-Forwarded-Encrypted: i=1; AFNElJ/EIzPWJJ0c8Ej5KdKbV1inoToylXCNxUrZ3u8mEFSzZsdq8OCTI6TAxghrfE4JvbvI3MKEVhVxR7z7emk=@vger.kernel.org X-Gm-Message-State: AOJu0YzlLzzoyoJgBHW57aKeGARfZM/5muTtXWmBXmNchR3ZvlmEDgSb bRusw1HLZ0o05bA1MF/G9DZxejfY05yfDn/0s/tg6nmpiDHUwuZQt6HA9P72hSbGyB0= X-Gm-Gg: AeBDietPo6+kDey+/v2/FbtkX1DnLaCEpCckiMJOwxWeORaZG6cCAxDi+GCk6iqESew YTvkVVKOsh0cJbB/6ZzsXeMxEHjsm/H1D6cDo4M93LX1sf9lhTLh5c+0WBdl3wTrApEyY7xqnWz O8xXFUKCaia8bcWdQy2+S8Vr8KTMKsVfJyYRvB0pr3kCBNVF4pumTI0F3cgbwhMpk9lctCVgXjo nrXigMoWArUbUHwXzbyHbjP2Ac3YKFFCqQs1+BirM1iUPRyi39CM6I3hIkc3HeAeUQlhWhsPP2D X8FeS3Gu0YS5hOMgxmE9wjzkPlUVub3v4QAbE70hCNPSeF/9tVu+u9quVrp5K+vw3czdja8HTBN XLcS0lVDh4tDqMwB2to3wDcH/Z7PR9Iwbj+Z+8pjJ6EesHmsf6wrhOjIfkVsT70tju2e0eUBX6e jJzbqHRWhogIQQNU5n9GTvekEK3n78wSqhNNZ6ryLPiBOWj5CPyTzJJkONX5asFL++tKnHducbI D6Zh0PlHsCC X-Received: by 2002:a05:6830:6603:b0:7de:51f3:e7ed with SMTP id 46e09a7af769-7de51f3f011mr7023717a34.26.1777158996875; Sat, 25 Apr 2026 16:16:36 -0700 (PDT) Received: from ?IPV6:2600:8803:e7e4:500:81f8:ef7d:a711:d99a? ([2600:8803:e7e4:500:81f8:ef7d:a711:d99a]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-7dc97616c11sm22385834a34.25.2026.04.25.16.16.34 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 25 Apr 2026 16:16:36 -0700 (PDT) Message-ID: <754b6044-2285-4694-99d4-18d4fd5d8f6d@baylibre.com> Date: Sat, 25 Apr 2026 18:16:34 -0500 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] iio: adc: meson-saradc: fix calibration buffer leak on error To: Jonathan Cameron Cc: Felix Gu , =?UTF-8?Q?Nuno_S=C3=A1?= , Andy Shevchenko , Neil Armstrong , Kevin Hilman , Jerome Brunet , Martin Blumenstingl , Rosen Penev , linux-iio@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-amlogic@lists.infradead.org, linux-kernel@vger.kernel.org References: <20260426-meson_saradc-v1-1-6e96b2982c43@gmail.com> <84cae83c-2d67-4927-aa40-6c416d4f862d@baylibre.com> <20260425194412.1872eff8@jic23-huawei> Content-Language: en-US From: David Lechner In-Reply-To: <20260425194412.1872eff8@jic23-huawei> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit On 4/25/26 1:44 PM, Jonathan Cameron wrote: > On Sat, 25 Apr 2026 11:17:18 -0500 > David Lechner 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 >>> --- >>> 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 ` though rather that relying on it being >> included through another header. >> >> With that fixed... >> >> Reviewed-by: David Lechner >> >