diff --git a/drivers/base/core.c b/drivers/base/core.c index 5f4e03336e68ef..8e3bd230b165eb 100644 --- a/drivers/base/core.c +++ b/drivers/base/core.c @@ -2738,8 +2738,11 @@ static ssize_t uevent_show(struct device *dev, struct device_attribute *attr, if (!env) return -ENOMEM; + /* Synchronize with really_probe() */ + device_lock(dev); /* let the kset specific function add its keys */ retval = kset->uevent_ops->uevent(&dev->kobj, env); + device_unlock(dev); if (retval) goto out;