Skip to content

Commit 680ab9d

Browse files
elic307imstsirkin
authored andcommitted
vdpa: Protect vdpa reset with cf_mutex
Call reset using the wrapper function vdpa_reset() to make sure the operation is serialized with cf_mutex. This comes to protect from the following possible scenario: vhost_vdpa_set_status() could call the reset op. Since the call is not protected by cf_mutex, a netlink thread calling vdpa_dev_config_fill could get passed the VIRTIO_CONFIG_S_FEATURES_OK check in vdpa_dev_config_fill() and end up reporting wrong features. Fixes: 5f6e859 ("vdpa: Read device configuration only if FEATURES_OK") Signed-off-by: Eli Cohen <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michael S. Tsirkin <[email protected]> Reviewed-by: Si-Wei Liu<[email protected]> Acked-by: Jason Wang <[email protected]>
1 parent f6d955d commit 680ab9d

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

drivers/vhost/vdpa.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,7 @@ static long vhost_vdpa_set_status(struct vhost_vdpa *v, u8 __user *statusp)
178178
vhost_vdpa_unsetup_vq_irq(v, i);
179179

180180
if (status == 0) {
181-
ret = ops->reset(vdpa);
181+
ret = vdpa_reset(vdpa);
182182
if (ret)
183183
return ret;
184184
} else

0 commit comments

Comments
 (0)