diff options
author | Parav Pandit <parav@nvidia.com> | 2021-07-21 17:26:47 +0300 |
---|---|---|
committer | Sasha Levin <sashal@kernel.org> | 2021-08-26 08:35:41 -0400 |
commit | 293180f5934278d294c9cb4a87c7de4d1c084e0e (patch) | |
tree | ef34c2edb4fd0e8e61313355f1530ce307a0d522 /include | |
parent | 9108120fbe316d5832d968d833fbac086e62249e (diff) |
virtio: Protect vqs list access
[ Upstream commit 0e566c8f0f2e8325e35f6f97e13cde5356b41814 ]
VQs may be accessed to mark the device broken while they are
created/destroyed. Hence protect the access to the vqs list.
Fixes: e2dcdfe95c0b ("virtio: virtio_break_device() to mark all virtqueues broken.")
Signed-off-by: Parav Pandit <parav@nvidia.com>
Link: https://lore.kernel.org/r/20210721142648.1525924-4-parav@nvidia.com
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/virtio.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/virtio.h b/include/linux/virtio.h index 55ea329fe72a..8ecc2e208d61 100644 --- a/include/linux/virtio.h +++ b/include/linux/virtio.h @@ -110,6 +110,7 @@ struct virtio_device { bool config_enabled; bool config_change_pending; spinlock_t config_lock; + spinlock_t vqs_list_lock; /* Protects VQs list access */ struct device dev; struct virtio_device_id id; const struct virtio_config_ops *config; |