From: sashiko-bot@kernel.org
To: "Sanjay Chitroda" <sanjayembeddedse@gmail.com>
Cc: linux-input@vger.kernel.org, dmitry.torokhov@gmail.com
Subject: Re: [PATCH v3 1/9] iio: hid-sensors: drop redundant iio_dev argument
Date: Sat, 09 May 2026 10:42:04 +0000 [thread overview]
Message-ID: <20260509104205.51481C2BCB2@smtp.kernel.org> (raw)
In-Reply-To: <20260509101040.791404-2-sanjayembedded@gmail.com>
Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [High] This problem wasn't introduced by this patch, but the removal sequence across HID IIO drivers cancels asynchronous suspend requests, leaving the hardware powered on, which violates PM subsystem guidelines.
- [High] This problem wasn't introduced by this patch, but in `hid-sensor-temperature.c`, the trigger is manually unregistered and freed in the `remove` callback while the IIO device is still active and registered, creating a use-after-free vulnerability.
--
commit 774f02b73d8b538afc5af51312b8682afec55f98
Author: Sanjay Chitroda <sanjayembeddedse@gmail.com>
iio: hid-sensors: drop redundant iio_dev argument
This commit removes the unused iio_dev argument from
hid_sensor_remove_trigger() across all HID IIO drivers, adapting the
function prototype to simplify the API for a future devm-based conversion.
> diff --git a/drivers/iio/accel/hid-sensor-accel-3d.c b/drivers/iio/accel/hid-sensor-accel-3d.c
> index 2ff591b3458f7..a63dae90dadc5 100644
> --- a/drivers/iio/accel/hid-sensor-accel-3d.c
> +++ b/drivers/iio/accel/hid-sensor-accel-3d.c
[ ... ]
> @@ -429,7 +429,7 @@ static void hid_accel_3d_remove(struct platform_device *pdev)
>
> sensor_hub_remove_callback(hsdev, hsdev->usage);
> iio_device_unregister(indio_dev);
> - hid_sensor_remove_trigger(indio_dev, &accel_state->common_attributes);
> + hid_sensor_remove_trigger(&accel_state->common_attributes);
> }
This problem wasn't introduced by this patch, but could this removal sequence
leave the hardware powered on?
Looking at the removal path across these drivers, iio_device_unregister()
disables the IIO buffers, which eventually calls hid_sensor_power_state()
and queues an asynchronous suspend via pm_runtime_put_autosuspend().
Immediately afterward, hid_sensor_remove_trigger() calls
pm_runtime_disable(). Does calling pm_runtime_disable() immediately after an
async put cancel the pending suspend work, leaving the physical device active
while marking it suspended in the PM core?
[ ... ]
> diff --git a/drivers/iio/temperature/hid-sensor-temperature.c b/drivers/iio/temperature/hid-sensor-temperature.c
> index 9f628a8e5cfbe..60d4fcc8043b6 100644
> --- a/drivers/iio/temperature/hid-sensor-temperature.c
> +++ b/drivers/iio/temperature/hid-sensor-temperature.c
[ ... ]
> @@ -265,7 +265,7 @@ static void hid_temperature_remove(struct platform_device *pdev)
> struct temperature_state *temp_st = iio_priv(indio_dev);
>
> sensor_hub_remove_callback(hsdev, HID_USAGE_SENSOR_TEMPERATURE);
> - hid_sensor_remove_trigger(indio_dev, &temp_st->common_attributes);
> + hid_sensor_remove_trigger(&temp_st->common_attributes);
> }
This problem also wasn't introduced by this patch, but is there a
use-after-free risk in this specific driver's removal sequence?
The temperature driver uses devm_iio_device_register() to register the IIO
device, which means the device unregistration is deferred until the devres
cleanup phase after hid_temperature_remove() returns.
However, hid_sensor_remove_trigger() is called manually here and it calls
iio_trigger_free(). Since the IIO device remains fully registered and exposed
to user-space until devres runs, could concurrent sysfs access or buffer
operations dereference the freed trigger pointer?
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260509101040.791404-1-sanjayembedded@gmail.com?part=1
next prev parent reply other threads:[~2026-05-09 10:42 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-09 10:10 [PATCH v3 0/9] iio: introduce devm_ API for hid sensro setup and cleanup Sanjay Chitroda
2026-05-09 10:10 ` [PATCH v3 1/9] iio: hid-sensors: drop redundant iio_dev argument Sanjay Chitroda
2026-05-09 10:42 ` sashiko-bot [this message]
2026-05-09 21:32 ` David Lechner
2026-05-12 12:37 ` srinivas pandruvada
2026-05-09 10:10 ` [PATCH v3 2/9] iio: hid-sensors: cleanup codestyle warning Sanjay Chitroda
2026-05-09 21:35 ` David Lechner
2026-05-12 12:39 ` srinivas pandruvada
2026-05-09 10:10 ` [PATCH v3 3/9] iio: hid-sensors: introduce device managed API Sanjay Chitroda
2026-05-10 6:36 ` Andy Shevchenko
2026-05-11 16:33 ` Jonathan Cameron
2026-05-12 12:47 ` srinivas pandruvada
2026-05-09 10:10 ` [PATCH v3 4/9] iio: gyro: hid-sensor-gyro-3d: cleanup codestyle warning Sanjay Chitroda
2026-05-09 21:38 ` David Lechner
2026-05-10 6:38 ` Andy Shevchenko
2026-05-09 10:10 ` [PATCH v3 5/9] iio: gyro: hid-sensor-gyro-3d: drop hid_sensor_remove_trigger() using devm API Sanjay Chitroda
2026-05-09 10:10 ` [PATCH v3 6/9] iio: humidity: hid-sensor-humidity: cleanup codestyle check Sanjay Chitroda
2026-05-09 10:10 ` [PATCH v3 7/9] iio: humidity: hid-sensor-humidity: use common device for devres Sanjay Chitroda
2026-05-09 13:06 ` sashiko-bot
2026-05-10 6:42 ` Andy Shevchenko
2026-05-11 16:41 ` Jonathan Cameron
2026-05-09 10:10 ` [PATCH v3 8/9] iio: humidity: hid-sensor-humidity: use local struct device Sanjay Chitroda
2026-05-09 10:10 ` [PATCH v3 9/9] iio: humidity: hid-sensor-humidity: drop hid_sensor_remove_trigger() using devm API Sanjay Chitroda
2026-05-09 21:44 ` [PATCH v3 0/9] iio: introduce devm_ API for hid sensro setup and cleanup David Lechner
2026-05-14 2:47 ` Zhang, Lixu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260509104205.51481C2BCB2@smtp.kernel.org \
--to=sashiko-bot@kernel.org \
--cc=dmitry.torokhov@gmail.com \
--cc=linux-input@vger.kernel.org \
--cc=sanjayembeddedse@gmail.com \
--cc=sashiko@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.