Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit de2b3eea authored by Jiang Liu's avatar Jiang Liu Committed by Alex Williamson
Browse files

VFIO: use ACCESS_ONCE() to guard access to dev->driver



Comments from dev_driver_string(),
/* dev->driver can change to NULL underneath us because of unbinding,
 * so be careful about accessing it.
 */

So use ACCESS_ONCE() to guard access to dev->driver field.

Signed-off-by: default avatarJiang Liu <jiang.liu@huawei.com>
Signed-off-by: default avatarAlex Williamson <alex.williamson@redhat.com>
parent 9df7b25a
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -465,8 +465,9 @@ static int vfio_dev_viable(struct device *dev, void *data)
{
	struct vfio_group *group = data;
	struct vfio_device *device;
	struct device_driver *drv = ACCESS_ONCE(dev->driver);

	if (!dev->driver || vfio_whitelisted_driver(dev->driver))
	if (!drv || vfio_whitelisted_driver(drv))
		return 0;

	device = vfio_group_get_device(group, dev);