Re: [PATCH v2 0/8] HID: iio: Avoid race between callback setup and device exposure

From: Pandruvada, Srinivas

Date: Mon Jun 22 2026 - 11:36:12 EST


On Mon, 2026-06-22 at 10:59 +0530, Sanjay Chitroda wrote:
> Hi all,
>
> This series avoid a race condition in HID IIO drivers related to the
> ordering between callback registration and device exposure.
>
> Currently, several HID IIO drivers register the IIO device (making it
> visible to userspace and other kernel consumers) before all required
> callbacks and resources are fully initialized, or rely on devm-based
> cleanup in a way that does not guarantee correct teardown ordering.
> This creates a window where the device can be accessed while it is
> not fully initialized or is being torn down, potentially leading to
> sample drop or stale/no data.
>
> To handle this, the series ensures that:
>   - All required callbacks and resources are set up before the device
>     is registered with the IIO core
>   - Resource cleanup is performed explicitly where ordering matters
>
> PS: This is prepratory series to convert all HID IIO driver to devm.
>
> Testing:
>   - Compiled with W=1 for each patch in series
>
> ---
> Changes in v2:
> - Drop fixes tag and rectify commit message with reference to that
> - Link to v1:
> https://patch.msgid.link/20260606-5-june-hid-iio-race-fixes-v1-0-27a848c5758f@xxxxxxxxx
>

> To: Jiri Kosina <jikos@xxxxxxxxxx>
> To: Jonathan Cameron <jic23@xxxxxxxxxx>
> To: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx>
> To: David Lechner <dlechner@xxxxxxxxxxxx>
> To: Nuno Sá <nuno.sa@xxxxxxxxxx>
> To: Andy Shevchenko <andy@xxxxxxxxxx>
> Cc: linux-input@xxxxxxxxxxxxxxx
> Cc: linux-iio@xxxxxxxxxxxxxxx
> Cc: linux-kernel@xxxxxxxxxxxxxxx

Acked-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx>

> ---
> Sanjay Chitroda (8):
>       iio: orientation: hid-sensor-rotation: Avoid race between
> callback setup and device exposure
>       iio: orientation: hid-sensor-incl-3d: Avoid race between
> callback setup and device exposure
>       iio: gyro: hid-sensor-gyro-3d: Avoid race between callback
> setup and device exposure
>       iio: pressure: hid-sensor-press: Avoid race between callback
> setup and device exposure
>       iio: light: hid-sensor-prox: Avoid race between callback setup
> and device exposure
>       iio: light: hid-sensor-als: Avoid race between callback setup
> and device exposure
>       iio: magnetometer: hid-sensor-magn-3d: Avoid race between
> callback setup and device exposure
>       iio: accel: hid-sensor-accel-3d: Avoid race between callback
> setup and device exposure
>
>  drivers/iio/accel/hid-sensor-accel-3d.c       | 20 ++++++++++-------
> ---
>  drivers/iio/gyro/hid-sensor-gyro-3d.c         | 20 ++++++++++-------
> ---
>  drivers/iio/light/hid-sensor-als.c            | 20 ++++++++++-------
> ---
>  drivers/iio/light/hid-sensor-prox.c           | 20 ++++++++++-------
> ---
>  drivers/iio/magnetometer/hid-sensor-magn-3d.c | 20 ++++++++++-------
> ---
>  drivers/iio/orientation/hid-sensor-incl-3d.c  | 20 ++++++++++-------
> ---
>  drivers/iio/orientation/hid-sensor-rotation.c | 20 ++++++++++-------
> ---
>  drivers/iio/pressure/hid-sensor-press.c       | 20 ++++++++++-------
> ---
>  8 files changed, 80 insertions(+), 80 deletions(-)
> ---
> base-commit: cc746297b23e89bd5df9f91f3a0ca209e8991763
> change-id: 20260605-5-june-hid-iio-race-fixes-f8b981f82b80
>
> Best regards,
> -- 
> Sanjay Chitroda <sanjayembeddedse@xxxxxxxxx>