* Re: [PATCH v2] vdpa/mlx5: Verify wq is a valid pointer in mlx5_vdpa_suspend
[not found] <20230328071810.843361-1-elic@nvidia.com>
@ 2023-04-04 15:07 ` Michael S. Tsirkin
0 siblings, 0 replies; only message in thread
From: Michael S. Tsirkin @ 2023-04-04 15:07 UTC (permalink / raw)
To: Eli Cohen; +Cc: eperezma, parav, virtualization
On Tue, Mar 28, 2023 at 10:18:10AM +0300, Eli Cohen wrote:
> mlx5_vdpa_suspend() flushes the workqueue as part of its logic. However,
> if the device has been deleted while a VM was running, the workqueue
> will be destroyed first and wq will become null. After the VM is destroyed,
> suspend can be called and will access a null pointer.
>
> Fix it by verifying wq is not NULL.
>
> Fixes: cae15c2ed8e6 ("vdpa/mlx5: Implement susupend virtqueue callback")
> Signed-off-by: Eli Cohen <elic@nvidia.com>
This conflicts with the patch for not losing link state updates.
How do you want to handle this?
> ---
> v1 -> v2:
> Fix spelling errors
>
> drivers/vdpa/mlx5/net/mlx5_vnet.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/vdpa/mlx5/net/mlx5_vnet.c b/drivers/vdpa/mlx5/net/mlx5_vnet.c
> index 85866ace0061..b73c5943aefd 100644
> --- a/drivers/vdpa/mlx5/net/mlx5_vnet.c
> +++ b/drivers/vdpa/mlx5/net/mlx5_vnet.c
> @@ -2929,7 +2929,8 @@ static int mlx5_vdpa_suspend(struct vdpa_device *vdev)
> down_write(&ndev->reslock);
> ndev->nb_registered = false;
> mlx5_notifier_unregister(mvdev->mdev, &ndev->nb);
> - flush_workqueue(ndev->mvdev.wq);
> + if (ndev->mvdev.wq)
> + flush_workqueue(ndev->mvdev.wq);
> for (i = 0; i < ndev->cur_num_vqs; i++) {
> mvq = &ndev->vqs[i];
> suspend_vq(ndev, mvq);
> --
> 2.38.1
_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2023-04-04 15:07 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20230328071810.843361-1-elic@nvidia.com>
2023-04-04 15:07 ` [PATCH v2] vdpa/mlx5: Verify wq is a valid pointer in mlx5_vdpa_suspend Michael S. Tsirkin
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.