Re: [PATCH v4 4/4] hwmon: (gpd-fan): fix race condition between device removal and sysfs access
From: Guenter Roeck
Date: Wed Jun 10 2026 - 09:19:59 EST
On Wed, Jun 10, 2026 at 09:49:12AM +0800, Pei Xiao wrote:
> Replace the manual gpd_fan_remove() callback with a devres-managed
> action using devm_add_action_or_reset(). The original remove hook
> resets the fan to AUTOMATIC mode, but the hwmon sysfs interface
> (registered with devm_hwmon_device_register_with_info()) remains
> active until after the remove callback completes. This creates a
> race window where a concurrent userspace sysfs access can interleave
> with the EC I/O sequence, potentially corrupting EC registers.
>
> Using devm_add_action_or_reset() registers the reset function as a
> devres action. Due to the LIFO release order of devres, the hwmon
> device is unregistered (sysfs removed) before the reset action
> executes, eliminating the race condition.
>
> Fixes: 0ab88e239439 ("hwmon: add GPD devices sensor driver")
> Signed-off-by: Pei Xiao <xiaopei01@xxxxxxxxxx>
Applied.
Thanks,
Guenter