mbox series

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

Message ID 20241127-iio-adc-ad7313-fix-non-const-info-struct-v2-0-b6d7022b7466@baylibre.com (mailing list archive)
Headers show
Series iio: adc: ad7173: fix non-const info struct | expand

Message

David Lechner Nov. 27, 2024, 8:01 p.m. UTC
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.

---
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@baylibre.com

---
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,

Comments

Guillaume Ranquet Nov. 28, 2024, 10:42 a.m. UTC | #1
On Wed, 27 Nov 2024 21:01, David Lechner <dlechner@baylibre.com> 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.
>
>---
>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@baylibre.com
>
>---
>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,
>--
>David Lechner <dlechner@baylibre.com>

Tested-by: Guillaume Ranquet <granquet@baylibre.com>