]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
gpio: virtuser: lock device when calling device_is_bound()
authorBartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Mon, 18 May 2026 09:53:19 +0000 (11:53 +0200)
committerBartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Thu, 21 May 2026 12:36:07 +0000 (14:36 +0200)
The kerneldoc for device_is_bound() says it must be called with the
device lock taken. Add missing synchronization to this driver.

Fixes: c3e2a8aef28c ("gpio: virtuser: stop using dev-sync-probe")
Link: https://patch.msgid.link/20260518-gpio-dev-lock-v1-3-cc4736f3ff0b@oss.qualcomm.com
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
drivers/gpio/gpio-virtuser.c

index fe0eac920ced323926b2bc83ca0a2eb5f85c2154..128520d340d46cbaa36b492cbdcb996bade93d77 100644 (file)
@@ -1477,9 +1477,12 @@ gpio_virtuser_device_activate(struct gpio_virtuser_device *dev)
        }
 
        wait_for_device_probe();
-       if (!device_is_bound(&pdev->dev)) {
-               ret = -ENXIO;
-               goto err_unregister_pdev;
+
+       scoped_guard(device, &pdev->dev) {
+               if (!device_is_bound(&pdev->dev)) {
+                       ret = -ENXIO;
+                       goto err_unregister_pdev;
+               }
        }
 
        dev->pdev = pdev;