All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH RESEND] tools/virtio: initialize spinlocks in vring_test.c
@ 2022-08-30  9:21 Ricardo Cañuelo
  0 siblings, 0 replies; 3+ messages in thread
From: Ricardo Cañuelo @ 2022-08-30  9:21 UTC (permalink / raw)
  To: virtualization; +Cc: kernel, mst

The virtio_device vqs_list spinlocks must be initialized before use to
prevent functions that manipulate the device virtualqueues, such as
vring_new_virtqueue(), from blocking indefinitely.

Signed-off-by: Ricardo Cañuelo <ricardo.canuelo@collabora.com>
---
 tools/virtio/vringh_test.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/tools/virtio/vringh_test.c b/tools/virtio/vringh_test.c
index fa87b58bd5fa..98ff808d6f0c 100644
--- a/tools/virtio/vringh_test.c
+++ b/tools/virtio/vringh_test.c
@@ -308,6 +308,7 @@ static int parallel_test(u64 features,
 
 		gvdev.vdev.features = features;
 		INIT_LIST_HEAD(&gvdev.vdev.vqs);
+		spin_lock_init(&gvdev.vdev.vqs_list_lock);
 		gvdev.to_host_fd = to_host[1];
 		gvdev.notifies = 0;
 
@@ -455,6 +456,7 @@ int main(int argc, char *argv[])
 	getrange = getrange_iov;
 	vdev.features = 0;
 	INIT_LIST_HEAD(&vdev.vqs);
+	spin_lock_init(&vdev.vqs_list_lock);
 
 	while (argv[1]) {
 		if (strcmp(argv[1], "--indirect") == 0)
-- 
2.25.1

_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH RESEND] tools/virtio: initialize spinlocks in vring_test.c
  2022-10-12  6:29 Ricardo Cañuelo
@ 2022-10-13  1:51 ` Xuan Zhuo
  0 siblings, 0 replies; 3+ messages in thread
From: Xuan Zhuo @ 2022-10-13  1:51 UTC (permalink / raw)
  To: Ricardo Cañuelo; +Cc: kernel, virtualization, mst

On Wed, 12 Oct 2022 08:29:49 +0200, "Ricardo Cañuelo" <ricardo.canuelo@collabora.com> wrote:
> The virtio_device vqs_list spinlocks must be initialized before use to
> prevent functions that manipulate the device virtualqueues, such as
> vring_new_virtqueue(), from blocking indefinitely.
>
> Signed-off-by: Ricardo Cañuelo <ricardo.canuelo@collabora.com>

Reviewed-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com>

> ---
>  tools/virtio/vringh_test.c | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/tools/virtio/vringh_test.c b/tools/virtio/vringh_test.c
> index fa87b58bd5fa..98ff808d6f0c 100644
> --- a/tools/virtio/vringh_test.c
> +++ b/tools/virtio/vringh_test.c
> @@ -308,6 +308,7 @@ static int parallel_test(u64 features,
>
>  		gvdev.vdev.features = features;
>  		INIT_LIST_HEAD(&gvdev.vdev.vqs);
> +		spin_lock_init(&gvdev.vdev.vqs_list_lock);
>  		gvdev.to_host_fd = to_host[1];
>  		gvdev.notifies = 0;
>
> @@ -455,6 +456,7 @@ int main(int argc, char *argv[])
>  	getrange = getrange_iov;
>  	vdev.features = 0;
>  	INIT_LIST_HEAD(&vdev.vqs);
> +	spin_lock_init(&vdev.vqs_list_lock);
>
>  	while (argv[1]) {
>  		if (strcmp(argv[1], "--indirect") == 0)
> --
> 2.25.1
>
> _______________________________________________
> Virtualization mailing list
> Virtualization@lists.linux-foundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/virtualization
_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH RESEND] tools/virtio: initialize spinlocks in vring_test.c
@ 2022-10-12  6:29 Ricardo Cañuelo
  2022-10-13  1:51 ` Xuan Zhuo
  0 siblings, 1 reply; 3+ messages in thread
From: Ricardo Cañuelo @ 2022-10-12  6:29 UTC (permalink / raw)
  To: virtualization; +Cc: kernel, mst

The virtio_device vqs_list spinlocks must be initialized before use to
prevent functions that manipulate the device virtualqueues, such as
vring_new_virtqueue(), from blocking indefinitely.

Signed-off-by: Ricardo Cañuelo <ricardo.canuelo@collabora.com>
---
 tools/virtio/vringh_test.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/tools/virtio/vringh_test.c b/tools/virtio/vringh_test.c
index fa87b58bd5fa..98ff808d6f0c 100644
--- a/tools/virtio/vringh_test.c
+++ b/tools/virtio/vringh_test.c
@@ -308,6 +308,7 @@ static int parallel_test(u64 features,
 
 		gvdev.vdev.features = features;
 		INIT_LIST_HEAD(&gvdev.vdev.vqs);
+		spin_lock_init(&gvdev.vdev.vqs_list_lock);
 		gvdev.to_host_fd = to_host[1];
 		gvdev.notifies = 0;
 
@@ -455,6 +456,7 @@ int main(int argc, char *argv[])
 	getrange = getrange_iov;
 	vdev.features = 0;
 	INIT_LIST_HEAD(&vdev.vqs);
+	spin_lock_init(&vdev.vqs_list_lock);
 
 	while (argv[1]) {
 		if (strcmp(argv[1], "--indirect") == 0)
-- 
2.25.1

_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-10-13  1:52 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-08-30  9:21 [PATCH RESEND] tools/virtio: initialize spinlocks in vring_test.c Ricardo Cañuelo
2022-10-12  6:29 Ricardo Cañuelo
2022-10-13  1:51 ` Xuan Zhuo

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.