All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: "Eugenio Pérez" <eperezma@redhat.com>
Cc: linux-kernel@vger.kernel.org, virtualization@lists.linux.dev,
	Maxime Coquelin <mcoqueli@redhat.com>,
	Laurent Vivier <lvivier@redhat.com>, Cindy Lu <lulu@redhat.com>,
	jasowang@redhat.com, Xuan Zhuo <xuanzhuo@linux.alibaba.com>,
	Stefano Garzarella <sgarzare@redhat.com>,
	Yongji Xie <xieyongji@bytedance.com>
Subject: Re: [PATCH v11 10/12] vduse: merge tree search logic of IOTLB_GET_FD and IOTLB_GET_INFO ioctls
Date: Sat, 10 Jan 2026 18:56:35 -0500	[thread overview]
Message-ID: <20260110185423-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <20260109152430.512923-11-eperezma@redhat.com>

On Fri, Jan 09, 2026 at 04:24:28PM +0100, Eugenio Pérez wrote:
> The next patch adds new ioctl with the ASID member per entry.  Abstract
> these two so it can be build on top easily.
> 
> Signed-off-by: Eugenio Pérez <eperezma@redhat.com>
> ---
> v11: New in v11
> ---
>  drivers/vdpa/vdpa_user/vduse_dev.c | 101 ++++++++++++++++-------------
>  1 file changed, 55 insertions(+), 46 deletions(-)
> 
> diff --git a/drivers/vdpa/vdpa_user/vduse_dev.c b/drivers/vdpa/vdpa_user/vduse_dev.c
> index 675da1465e0e..bf437816fd7d 100644
> --- a/drivers/vdpa/vdpa_user/vduse_dev.c
> +++ b/drivers/vdpa/vdpa_user/vduse_dev.c
> @@ -1247,6 +1247,50 @@ static void vduse_vq_update_effective_cpu(struct vduse_virtqueue *vq)
>  	vq->irq_effective_cpu = curr_cpu;
>  }
>  
> +static int vduse_dev_iotlb_entry(struct vduse_dev *dev,
> +				 struct vduse_iotlb_entry *entry,
> +				 struct file **f, uint64_t *capability)
> +{
> +	int r = -EINVAL;
> +	struct vhost_iotlb_map *map;
> +	const struct vdpa_map_file *map_file;
> +
> +	if (entry->start > entry->last)
> +		return -EINVAL;
> +
> +	mutex_lock(&dev->domain_lock);
> +	if (!dev->domain)
> +		goto out;
> +
> +	spin_lock(&dev->domain->iotlb_lock);
> +	map = vhost_iotlb_itree_first(dev->domain->iotlb, entry->start,
> +				      entry->last);
> +	if (map) {
> +		if (f) {
> +			map_file = (struct vdpa_map_file *)map->opaque;

map_file assigned value when f != NULL here ...

> +			*f = get_file(map_file->file);
> +		}
> +		entry->offset = map_file->offset;

but dereferenced unconditionally here.

> +		entry->start = map->start;
> +		entry->last = map->last;
> +		entry->perm = map->perm;
> +		if (capability) {
> +			*capability = 0;
> +
> +			if (dev->domain->bounce_map && map->start == 0 &&
> +			    map->last == dev->domain->bounce_size - 1)
> +				*capability |= VDUSE_IOVA_CAP_UMEM;
> +		}
> +
> +		r = 0;
> +	}
> +	spin_unlock(&dev->domain->iotlb_lock);
> +
> +out:
> +	mutex_unlock(&dev->domain_lock);
> +	return r;
> +}
> +
>  static long vduse_dev_ioctl(struct file *file, unsigned int cmd,
>  			    unsigned long arg)
>  {


  reply	other threads:[~2026-01-10 23:56 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-01-09 15:24 [PATCH v11 00/12] Add multiple address spaces support to VDUSE Eugenio Pérez
2026-01-09 15:24 ` [PATCH v11 01/12] vduse: add v1 API definition Eugenio Pérez
2026-01-09 15:24 ` [PATCH v11 02/12] vduse: add vq group support Eugenio Pérez
2026-01-10 23:44   ` Michael S. Tsirkin
2026-01-12  7:35     ` Eugenio Perez Martin
2026-01-12  8:00       ` Michael S. Tsirkin
2026-01-12 12:09         ` Eugenio Perez Martin
2026-01-09 15:24 ` [PATCH v11 03/12] vduse: return internal vq group struct as map token Eugenio Pérez
2026-01-09 15:24 ` [PATCH v11 04/12] vhost: move vdpa group bound check to vhost_vdpa Eugenio Pérez
2026-01-10 23:46   ` Michael S. Tsirkin
2026-01-12  7:38     ` Eugenio Perez Martin
2026-01-12  7:56       ` Michael S. Tsirkin
2026-01-09 15:24 ` [PATCH v11 05/12] vdpa: document set_group_asid thread safety Eugenio Pérez
2026-01-10 23:48   ` Michael S. Tsirkin
2026-01-12  7:39     ` Eugenio Perez Martin
2026-01-09 15:24 ` [PATCH v11 06/12] vhost: forbid change vq groups ASID if DRIVER_OK is set Eugenio Pérez
2026-01-10 23:49   ` Michael S. Tsirkin
2026-01-12  7:50     ` Eugenio Perez Martin
2026-01-09 15:24 ` [PATCH v11 07/12] vduse: refactor vdpa_dev_add for goto err handling Eugenio Pérez
2026-01-10 23:49   ` Michael S. Tsirkin
2026-01-12  7:51     ` Eugenio Perez Martin
2026-01-09 15:24 ` [PATCH v11 08/12] vduse: remove unused vaddr parameter of vduse_domain_free_coherent Eugenio Pérez
2026-01-09 15:24 ` [PATCH v11 09/12] vduse: take out allocations from vduse_dev_alloc_coherent Eugenio Pérez
2026-01-10 23:54   ` Michael S. Tsirkin
2026-01-12  9:26     ` Eugenio Perez Martin
2026-01-09 15:24 ` [PATCH v11 10/12] vduse: merge tree search logic of IOTLB_GET_FD and IOTLB_GET_INFO ioctls Eugenio Pérez
2026-01-10 23:56   ` Michael S. Tsirkin [this message]
2026-01-12 10:55     ` Eugenio Perez Martin
2026-01-16  6:40   ` kernel test robot
2026-01-09 15:24 ` [PATCH v11 11/12] vduse: add vq group asid support Eugenio Pérez
2026-01-11  0:03   ` Michael S. Tsirkin
2026-01-12 11:56     ` Eugenio Perez Martin
2026-01-12 12:00       ` Michael S. Tsirkin
2026-01-13  6:23   ` Jason Wang
2026-01-13 14:38     ` Eugenio Perez Martin
2026-01-14  7:32       ` Jason Wang
2026-01-14  8:21         ` Eugenio Perez Martin
2026-01-09 15:24 ` [PATCH v11 12/12] vduse: bump version number Eugenio Pérez
2026-01-13  6:25   ` Jason Wang
2026-01-13 15:09     ` Eugenio Perez Martin

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=20260110185423-mutt-send-email-mst@kernel.org \
    --to=mst@redhat.com \
    --cc=eperezma@redhat.com \
    --cc=jasowang@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lulu@redhat.com \
    --cc=lvivier@redhat.com \
    --cc=mcoqueli@redhat.com \
    --cc=sgarzare@redhat.com \
    --cc=virtualization@lists.linux.dev \
    --cc=xieyongji@bytedance.com \
    --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.