All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Steven Sistare <steven.sistare@oracle.com>
Cc: virtualization@lists.linux-foundation.org,
	linux-kernel@vger.kernel.org, Jason Wang <jasowang@redhat.com>,
	Eli Cohen <elic@nvidia.com>, Si-Wei Liu <si-wei.liu@oracle.com>,
	Dragos Tatulea <dtatulea@nvidia.com>,
	Xuan Zhuo <xuanzhuo@linux.alibaba.com>,
	Eugenio Perez Martin <eperezma@redhat.com>
Subject: Re: [PATCH V3] vdpa/mlx5: preserve CVQ vringh index
Date: Mon, 4 Dec 2023 08:35:39 -0500	[thread overview]
Message-ID: <20231204083524-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <22981f62-5c57-41c4-8ed2-a11b7b93d062@oracle.com>

It's in my tee and I'm sending it to Linus.

On Mon, Dec 04, 2023 at 08:33:22AM -0500, Steven Sistare wrote:
> What's the decision here, pull it, or do not fix it?
> 
> - Steve
> 
> On 11/3/2023 8:26 AM, Steve Sistare wrote:
> > mlx5_vdpa does not preserve userland's view of vring base for the control
> > queue in the following sequence:
> > 
> > ioctl VHOST_SET_VRING_BASE
> > ioctl VHOST_VDPA_SET_STATUS VIRTIO_CONFIG_S_DRIVER_OK
> >   mlx5_vdpa_set_status()
> >     setup_cvq_vring()
> >       vringh_init_iotlb()
> >         vringh_init_kern()
> >           vrh->last_avail_idx = 0;
> > ioctl VHOST_GET_VRING_BASE
> > 
> > To fix, restore the value of cvq->vring.last_avail_idx after calling
> > vringh_init_iotlb.
> > 
> > Fixes: 5262912ef3cf ("vdpa/mlx5: Add support for control VQ and MAC setting")
> > 
> > Signed-off-by: Steve Sistare <steven.sistare@oracle.com>
> > Acked-by: Eugenio Pérez <eperezma@redhat.com>
> > Acked-by: Jason Wang <jasowang@redhat.com>
> > ---
> >  drivers/vdpa/mlx5/net/mlx5_vnet.c | 7 ++++++-
> >  1 file changed, 6 insertions(+), 1 deletion(-)
> > 
> > diff --git a/drivers/vdpa/mlx5/net/mlx5_vnet.c b/drivers/vdpa/mlx5/net/mlx5_vnet.c
> > index 946488b8989f..ca972af3c89a 100644
> > --- a/drivers/vdpa/mlx5/net/mlx5_vnet.c
> > +++ b/drivers/vdpa/mlx5/net/mlx5_vnet.c
> > @@ -2795,13 +2795,18 @@ static int setup_cvq_vring(struct mlx5_vdpa_dev *mvdev)
> >  	struct mlx5_control_vq *cvq = &mvdev->cvq;
> >  	int err = 0;
> >  
> > -	if (mvdev->actual_features & BIT_ULL(VIRTIO_NET_F_CTRL_VQ))
> > +	if (mvdev->actual_features & BIT_ULL(VIRTIO_NET_F_CTRL_VQ)) {
> > +		u16 idx = cvq->vring.last_avail_idx;
> > +
> >  		err = vringh_init_iotlb(&cvq->vring, mvdev->actual_features,
> >  					MLX5_CVQ_MAX_ENT, false,
> >  					(struct vring_desc *)(uintptr_t)cvq->desc_addr,
> >  					(struct vring_avail *)(uintptr_t)cvq->driver_addr,
> >  					(struct vring_used *)(uintptr_t)cvq->device_addr);
> >  
> > +		if (!err)
> > +			cvq->vring.last_avail_idx = cvq->vring.last_used_idx = idx;
> > +	}
> >  	return err;
> >  }
> >  


  reply	other threads:[~2023-12-04 13:35 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-03 12:26 [PATCH V3] vdpa/mlx5: preserve CVQ vringh index Steve Sistare
2023-11-03 12:26 ` Steve Sistare
2023-11-03 12:27 ` Steven Sistare
2023-11-03 12:27   ` Steven Sistare
2023-12-04 13:33 ` Steven Sistare
2023-12-04 13:35   ` Michael S. Tsirkin [this message]
2023-12-04 13:37     ` Steven Sistare

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20231204083524-mutt-send-email-mst@kernel.org \
    --to=mst@redhat.com \
    --cc=dtatulea@nvidia.com \
    --cc=elic@nvidia.com \
    --cc=eperezma@redhat.com \
    --cc=jasowang@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=si-wei.liu@oracle.com \
    --cc=steven.sistare@oracle.com \
    --cc=virtualization@lists.linux-foundation.org \
    --cc=xuanzhuo@linux.alibaba.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.