Re: [PATCH v2 0/3] iio: adc: ad7173: fix non-const info struct

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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,





[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux