Re: [PATCH v2 0/3] iio: adc: ad7173: fix non-const info struct
From: Jonathan Cameron
Date: Sat Nov 30 2024 - 13:43:24 EST
On Wed, 27 Nov 2024 14:01:52 -0600
David Lechner <dlechner@xxxxxxxxxxxx> wrote:
> While working ad7124, Uwe pointed out a bug in the ad7173 driver.
> static struct ad_sigma_delta_info ad7173_sigma_delta_info was not const
> and was being modified during driver probe, which could lead to race
> conditions if two instances of the driver were probed at the same time.
>
> The actual fix part is fairly trivial but I have only compile tested it.
> Guillaume has access to ad4111 hardware, so it would be good to get a
> Tested-by from him to make sure this doesn't break anything.
>
This is very big for a backport. So I replied to previous version to suggest
instead duplicating the data before modifying. That has much less code
movement and maybe a cleaner fix. Perhaps we then cycle back to avoiding
that copy later.
Jonathan
> ---
> Changes in v2:
> - Fixed chip name in a few places.
> - Add new simpler patch for "fix" that gets backported.
> - Rebase other patches on this and incorporate feedback.
> - Link to v1: https://lore.kernel.org/r/20241122-iio-adc-ad7313-fix-non-const-info-struct-v1-0-d05c02324b73@xxxxxxxxxxxx
>
> ---
> David Lechner (3):
> iio: adc: ad7173: fix using shared static info struct
> iio: adc: ad7173: remove special handling for irq number
> iio: adc: ad7173: don't make copy of ad_sigma_delta_info struct
>
> drivers/iio/adc/ad7173.c | 474 +++++++++++++++++----------------
> drivers/iio/adc/ad_sigma_delta.c | 5 +-
> include/linux/iio/adc/ad_sigma_delta.h | 2 -
> 3 files changed, 249 insertions(+), 232 deletions(-)
> ---
> base-commit: 9dd2270ca0b38ee16094817f4a53e7ba78e31567
> change-id: 20241122-iio-adc-ad7313-fix-non-const-info-struct-92e59b91ee2e
>
> Best regards,