From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-oi1-f179.google.com (mail-oi1-f179.google.com [209.85.167.179]) (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 CD6D2315D40 for ; Fri, 6 Mar 2026 20:37:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.179 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772829438; cv=none; b=VGsexwr+Xy7UIG9Ct/Act2TwMJ8MIts6CY5tVlue2dT/yLjwmPU4ufSXXo+BNomSm6W/a9ahbWvaLvOS5rc4QgYlQ/CZf2btZuz02yHQrcwJXUi/j1nzMumU2f54D5/r4OgWG9ebdVUugz+R20jTJQZTg4OAHUIHM+9NadyMj0k= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772829438; c=relaxed/simple; bh=9XAxqGdoYnPypi9pDiH5n/sLMDogOMDYiBwl2GgCMww=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=FiH8ExA/ZpulIQ1tKtZvj8tYnk2o5osFmkIq3S5kf1eJtmrkbi0BF+Sj5aaOBmWDpPj5Sb2DxEGWyrBc1+EYlRtrdeA37ZIJaPr8XWdNWRkegxnIjxbdkGvEY3UpKTtaDrIEn3yrVe4KptO/Y2yELFaz4JqN7MBMCcgWLGJ3i24= 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.20230601.gappssmtp.com header.i=@baylibre-com.20230601.gappssmtp.com header.b=KGbMuTL/; arc=none smtp.client-ip=209.85.167.179 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.20230601.gappssmtp.com header.i=@baylibre-com.20230601.gappssmtp.com header.b="KGbMuTL/" Received: by mail-oi1-f179.google.com with SMTP id 5614622812f47-463a0e14b4cso4015589b6e.1 for ; Fri, 06 Mar 2026 12:37:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1772829435; x=1773434235; 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=guJ8HhzXT4BfiL89v2VHGYnRZxssARS5UTcNEFrucSY=; b=KGbMuTL/x6WW3ddfzOc4PovFDr0kb9HlZ67+6nlOpjwNLK3NNMVQOc6r347NmQdYXB IKMDev9AanMOBrBG1ysfYWaXpmDO6FwWb1aTwaBu5j2k8gHsrrbGCH7OrL3A3jtcdd8Q QvH9DCTVe6fhCp9nVIQZk3tqbABzo1Q2wz+LZAX/Iqee0ZDEVkw0PPOIwJ7lbrhKrhe8 8+k5nJwKExMW2gTJhMGsXyiiQ3BatbzDDiWiY2KveatW2eQIP7I/lAX9XOmSAF0HuH0y EuiPt/Rfo2S0hWFRwNtHWzS/j2jC5lRNz4A0koCYTPl48FkJgbxdDiUdtBzzVbgnUVC+ AtMw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772829435; x=1773434235; 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=guJ8HhzXT4BfiL89v2VHGYnRZxssARS5UTcNEFrucSY=; b=uyAMqBBgN6f4sEikh+9jbxCyOA105UsBRItVPBJIVOTKfnaAKFSmz1/myzaQXmwU7K IrWQdrcYr2ubmDHY5XD9Hmrr0/93jg0IHZJ0nSRMNAyk3x6qcXqTfDSif9N0ZaHKUHeL e6qg6JIMUChN6JFbAUBpjb/EYnsAEr9nz5CowN/8PXeTc8HwOXBDEmjC77C2uTuU1zpQ A7GeWTSQkqqqDe+P+VSSCfHKWOIRc89JRUDBaz7+C8E+bjxzuigtGpLN5SslNuV5oxPs ZakIsuC3+VXNVu30cI1yFPNxvAPZvD0aHFy1PhOhXW8Zam6Z5pPqQ+NMQs7Y6JIucZQM eCBg== X-Forwarded-Encrypted: i=1; AJvYcCUh7er1iFECw2yCYPPYc5tQHPhNRPeCUpypX+0OlE8P7BFRMVhnIQT8KyuNu376Bh/s8fzMQtmM12bJ8VY=@vger.kernel.org X-Gm-Message-State: AOJu0YzywgZRyyZiWGgJh6W5zB9y9eZpb5Amp9DDurxhOYF9OJH3vuND a2/A4kfhCIFU3IVHix2aaADh4yKjPketX/TNrikmVMkBGIuFVY5mgCh5NXHheK5h9YEErvB/afm ThiTP X-Gm-Gg: ATEYQzyw83rZ7UJR0SLcI7KhqGnF5ID4Yc98DZwu43GOadLOeoDtlVGoL+jM+Hr85vD FbfMv8IVsqbRorRn/fCoejs6QnT2NaUyTnhNqClI6bvF6VFLS6jdGfTWjLNOkO5I27DYv2Kpg5G LBsuHlSRrbNdeoUJ9DIvSw47QFftG6Zxj/oGbRdaiO9EgTmRmZhnQwYetXLxuV5U9iklQi+5vMB TI+0SEHGDBdytFa/3C55buU/qm7xR4XzCA4DtNYkjVyXf9rZpzBlNU9V3Z2E/9aroCTqJhbSgGm IgRZt+s8nyubPHbGzXEBxyLz5a67hNWui+SPgi85iZbTTQAwv+FTFLNKqZdi3Az0vMCiLrs0Mlw OfyuarPL2KawJ7WfDN3rjFOZeYcCnJIq7jzhJgkODTPbZi91ktl4NDdRfvQDA7pGXqQx0fg9P0E BPJKkjX5fnqYJuVO5zJCSQJpKjPTnXR7Jbbwk7POnNHqKI0gv/Axebutt/QXcz7TaSKPnndp6gL 5i3VP4EVfGm X-Received: by 2002:a05:6808:c3d5:b0:463:93a5:a5bf with SMTP id 5614622812f47-466dc9ec17emr1937365b6e.8.1772829434794; Fri, 06 Mar 2026 12:37:14 -0800 (PST) Received: from ?IPV6:2600:8803:e7e4:500:6d78:b98b:fc05:ddbe? ([2600:8803:e7e4:500:6d78:b98b:fc05:ddbe]) by smtp.gmail.com with ESMTPSA id 5614622812f47-466df96c1a8sm1263028b6e.8.2026.03.06.12.37.13 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 06 Mar 2026 12:37:14 -0800 (PST) Message-ID: Date: Fri, 6 Mar 2026 14:37:13 -0600 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: convert to guard(mutex) To: Rajveer Chaudhari , lucas.p.stankus@gmail.com, lars@metafoo.de, Michael.Hennerich@analog.com, jic23@kernel.org, nuno.sa@analog.com, andy@kernel.org, puranjay@kernel.org Cc: linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org References: <20260306202650.61865-1-rajveer.chaudhari.linux@gmail.com> Content-Language: en-US From: David Lechner In-Reply-To: <20260306202650.61865-1-rajveer.chaudhari.linux@gmail.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit On 3/6/26 2:26 PM, Rajveer Chaudhari wrote: > Replace manual mutex_lock/mutex_unlock pairs with guard(mutex) > in several IIO drivers. This ensures the mutex is released on > every return path, preventing missed unlocks on error paths. If there are any actual bugs this is fixing, they need to be split out and have a clear explanation of the bug and have a Fixes: tag. > > Signed-off-by: Rajveer Chaudhari > --- > drivers/iio/accel/adxl313_core.c | 7 +++---- > drivers/iio/accel/adxl355_core.c | 27 ++++++++------------------- > drivers/iio/accel/adxl372.c | 8 +++----- > drivers/iio/industrialio-sw-device.c | 4 ++-- > drivers/iio/industrialio-sw-trigger.c | 4 ++-- Please split these up as one patch per driver. It makes it easier to review and backport if needed. > 5 files changed, 18 insertions(+), 32 deletions(-) > > diff --git a/drivers/iio/accel/adxl313_core.c b/drivers/iio/accel/adxl313_core.c > index 9f5d4d2cb325..94c6023af487 100644 > --- a/drivers/iio/accel/adxl313_core.c > +++ b/drivers/iio/accel/adxl313_core.c > @@ -8,6 +8,7 @@ > */ > > #include > +#include > #include > #include > #include > @@ -356,18 +357,16 @@ static int adxl313_read_axis(struct adxl313_data *data, > { > int ret; > > - mutex_lock(&data->lock); > + guard(mutex)(&data->lock); > > ret = regmap_bulk_read(data->regmap, > ADXL313_REG_DATA_AXIS(chan->address), > &data->transf_buf, sizeof(data->transf_buf)); > if (ret) > - goto unlock_ret; > + return ret; > > ret = le16_to_cpu(data->transf_buf); > > -unlock_ret: > - mutex_unlock(&data->lock); > return ret; Watch out for places like this where we can return directly now. If we aren't doing additional improvements like that or fixing actual bugs, there isn't much point in spending the time to convert to guard(). The same applies to all of the other changes in this patch. > } >