]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
hwmon: (nzxt-smart2) Stop device IO before calling hid_hw_stop
authorGuenter Roeck <linux@roeck-us.net>
Wed, 8 Jul 2026 01:00:32 +0000 (18:00 -0700)
committerGuenter Roeck <linux@roeck-us.net>
Wed, 8 Jul 2026 03:03:02 +0000 (20:03 -0700)
Calling hid_hw_stop() does not stop the device IO.
This results in a race condition between hid_input_report() and the point
immediately following the execution of hid_device_io_start() within
the driver probe function. If the probe operation fails after "io start"
has been initiated, this race condition will result in a UAF vulnerability.

Fix the problem by calling hid_device_io_stop() before calling
hid_hw_stop().

Reported-by: Sashiko <sashiko-bot@kernel.org>
Fixes: 53e68c20aeb1e ("hwmon: add driver for NZXT RGB&Fan Controller/Smart Device v2")
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
drivers/hwmon/nzxt-smart2.c

index 58ef9fa0184be4718afd08fdaacd6bdd1463dd24..e2316c46629d61fa8f5511ce1c83e73a946a9667 100644 (file)
@@ -768,7 +768,7 @@ static int nzxt_smart2_hid_probe(struct hid_device *hdev,
 
 out_hw_close:
        hid_hw_close(hdev);
-
+       hid_device_io_stop(hdev);
 out_hw_stop:
        hid_hw_stop(hdev);
        return ret;