From: "Michael S. Tsirkin" <mst@redhat.com>
To: "Lorenzo Stoakes (ARM)" <ljs@kernel.org>
Cc: "Juergen Gross" <jgross@suse.com>,
"Stefano Stabellini" <sstabellini@kernel.org>,
"Oleksandr Tyshchenko" <oleksandr_tyshchenko@epam.com>,
"Madhavan Srinivasan" <maddy@linux.ibm.com>,
"Nicholas Piggin" <npiggin@gmail.com>,
"Michael Ellerman" <mpe@ellerman.id.au>,
"Christophe Leroy (CS GROUP)" <chleroy@kernel.org>,
"Ritesh Harjani (IBM)" <ritesh.list@gmail.com>,
"Shrikanth Hegde" <sshegde@linux.ibm.com>,
"Haiyang Zhang" <haiyangz@microsoft.com>,
"Wei Liu" <wei.liu@kernel.org>,
"Dexuan Cui" <decui@microsoft.com>,
"Jason Wang" <jasowangio@gmail.com>,
"Eugenio Pérez" <eperezma@redhat.com>,
"Xuan Zhuo" <xuanzhuo@linux.alibaba.com>,
"Jarkko Sakkinen" <jarkko@kernel.org>,
"Dave Hansen" <dave.hansen@linux.intel.com>,
"Thomas Gleixner" <tglx@kernel.org>,
"Ingo Molnar" <mingo@redhat.com>,
"Borislav Petkov" <bp@alien8.de>,
x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>,
"Jan Kara" <jack@suse.com>, "Paul Moore" <paul@paul-moore.com>,
"Stephen Smalley" <stephen.smalley.work@gmail.com>,
"Ondrej Mosnáček" <omosnacek@gmail.com>,
"Joel Stanley" <joel@jms.id.au>,
"Andrew Jeffery" <andrew@codeconstruct.com.au>,
"Ryan Chen" <ryan_chen@aspeedtech.com>,
"Billy Tsai" <billy_tsai@aspeedtech.com>,
"Bjorn Andersson" <andersson@kernel.org>,
"Konrad Dybcio" <konradybcio@kernel.org>,
"Abel Vesa" <abelvesa@kernel.org>,
"Jens Wiklander" <jenswi@kernel.org>,
"Sumit Garg" <sumit.garg@kernel.org>,
"Scott Branden" <scott.branden@broadcom.com>,
"Broadcom internal kernel review list"
<bcm-kernel-feedback-list@broadcom.com>,
"Arnd Bergmann" <arnd@arndb.de>,
"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
"Richard Cochran" <richardcochran@gmail.com>,
"David Woodhouse" <dwmw2@infradead.org>,
"Andrew Lunn" <andrew+netdev@lunn.ch>,
"David S. Miller" <davem@davemloft.net>,
"Eric Dumazet" <edumazet@kernel.org>,
"Jakub Kicinski" <kuba@kernel.org>,
"Paolo Abeni" <pabeni@redhat.com>,
xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
linuxppc-dev@lists.ozlabs.org, kvm@vger.kernel.org,
linux-hyperv@vger.kernel.org, virtualization@lists.linux.dev,
linux-sgx@vger.kernel.org, selinux@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-aspeed@lists.ozlabs.org, linux-arm-msm@vger.kernel.org,
op-tee@lists.trustedfirmware.org, netdev@vger.kernel.org
Subject: Re: [PATCH 14/14] vhost-vdpa: convert mmap hook to mmap_prepare
Date: Mon, 9 Nov 2026 08:06:38 -0500 [thread overview]
Message-ID: <20261109080616-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <20261105-late-2026-mmap_prepare-v1-14-c56aadfbab8a@kernel.org>
On Thu, Nov 05, 2026 at 09:05:45PM +0000, Lorenzo Stoakes (ARM) wrote:
> Move from the deprecated mmap hook to the new mmap_prepare hook. The hook
> only validates the request and sets the VMA flags, operations and page
> protection.
>
> Signed-off-by: Lorenzo Stoakes (ARM) <ljs@kernel.org>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Who's merging this, me?
> ---
> drivers/vhost/vdpa.c | 23 ++++++++++++-----------
> 1 file changed, 12 insertions(+), 11 deletions(-)
>
> diff --git a/drivers/vhost/vdpa.c b/drivers/vhost/vdpa.c
> index ff7d90719171..993b2d7c8927 100644
> --- a/drivers/vhost/vdpa.c
> +++ b/drivers/vhost/vdpa.c
> @@ -1573,19 +1573,19 @@ static const struct vm_operations_struct vhost_vdpa_vm_ops = {
> .fault = vhost_vdpa_fault,
> };
>
> -static int vhost_vdpa_mmap(struct file *file, struct vm_area_struct *vma)
> +static int vhost_vdpa_mmap_prepare(struct vm_area_desc *desc)
> {
> - struct vhost_vdpa *v = vma->vm_file->private_data;
> + struct vhost_vdpa *v = desc->file->private_data;
> struct vdpa_device *vdpa = v->vdpa;
> const struct vdpa_config_ops *ops = vdpa->config;
> struct vdpa_notification_area notify;
> - unsigned long index = vma->vm_pgoff;
> + unsigned long index = desc->pgoff;
>
> - if (vma->vm_end - vma->vm_start != PAGE_SIZE)
> + if (vma_desc_size(desc) != PAGE_SIZE)
> return -EINVAL;
> - if ((vma->vm_flags & VM_SHARED) == 0)
> + if (!vma_desc_test(desc, VMA_SHARED_BIT))
> return -EINVAL;
> - if (vma->vm_flags & VM_READ)
> + if (vma_desc_test(desc, VMA_READ_BIT))
> return -EINVAL;
> if (!ops->get_vq_notification)
> return -ENOTSUPP;
> @@ -1598,12 +1598,13 @@ static int vhost_vdpa_mmap(struct file *file, struct vm_area_struct *vma)
> return -EINVAL;
> if (notify.addr & (PAGE_SIZE - 1))
> return -EINVAL;
> - if (vma->vm_end - vma->vm_start != notify.size)
> + if (vma_desc_size(desc) != notify.size)
> return -ENOTSUPP;
>
> - vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot);
> - vm_flags_set(vma, VM_IO | VM_PFNMAP | VM_DONTEXPAND | VM_DONTDUMP);
> - vma->vm_ops = &vhost_vdpa_vm_ops;
> + desc->page_prot = pgprot_noncached(desc->page_prot);
> + vma_desc_set_flags(desc, VMA_IO_BIT, VMA_PFNMAP_BIT, VMA_DONTEXPAND_BIT,
> + VMA_DONTDUMP_BIT);
> + desc->vm_ops = &vhost_vdpa_vm_ops;
> return 0;
> }
> #endif /* CONFIG_MMU */
> @@ -1615,7 +1616,7 @@ static const struct file_operations vhost_vdpa_fops = {
> .write_iter = vhost_vdpa_chr_write_iter,
> .unlocked_ioctl = vhost_vdpa_unlocked_ioctl,
> #ifdef CONFIG_MMU
> - .mmap = vhost_vdpa_mmap,
> + .mmap_prepare = vhost_vdpa_mmap_prepare,
> #endif /* CONFIG_MMU */
> .compat_ioctl = compat_ptr_ioctl,
> };
>
> --
> 2.56.0
WARNING: multiple messages have this Message-ID (diff)
From: "Michael S. Tsirkin via OP-TEE" <op-tee@lists.trustedfirmware.org>
To: "Lorenzo Stoakes (ARM)" <ljs@kernel.org>
Cc: "Juergen Gross" <jgross@suse.com>,
"Stefano Stabellini" <sstabellini@kernel.org>,
"Oleksandr Tyshchenko" <oleksandr_tyshchenko@epam.com>,
"Madhavan Srinivasan" <maddy@linux.ibm.com>,
"Nicholas Piggin" <npiggin@gmail.com>,
"Michael Ellerman" <mpe@ellerman.id.au>,
"Christophe Leroy (CS GROUP)" <chleroy@kernel.org>,
"Ritesh Harjani (IBM)" <ritesh.list@gmail.com>,
"Shrikanth Hegde" <sshegde@linux.ibm.com>,
"Haiyang Zhang" <haiyangz@microsoft.com>,
"Wei Liu" <wei.liu@kernel.org>,
"Dexuan Cui" <decui@microsoft.com>,
"Jason Wang" <jasowangio@gmail.com>,
"Eugenio Pérez" <eperezma@redhat.com>,
"Xuan Zhuo" <xuanzhuo@linux.alibaba.com>,
"Jarkko Sakkinen" <jarkko@kernel.org>,
"Dave Hansen" <dave.hansen@linux.intel.com>,
"Thomas Gleixner" <tglx@kernel.org>,
"Ingo Molnar" <mingo@redhat.com>,
"Borislav Petkov" <bp@alien8.de>,
x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>,
"Jan Kara" <jack@suse.com>, "Paul Moore" <paul@paul-moore.com>,
"Stephen Smalley" <stephen.smalley.work@gmail.com>,
"Ondrej Mosnáček" <omosnacek@gmail.com>,
"Joel Stanley" <joel@jms.id.au>,
"Andrew Jeffery" <andrew@codeconstruct.com.au>,
"Ryan Chen" <ryan_chen@aspeedtech.com>,
"Billy Tsai" <billy_tsai@aspeedtech.com>,
"Bjorn Andersson" <andersson@kernel.org>,
"Konrad Dybcio" <konradybcio@kernel.org>,
"Abel Vesa" <abelvesa@kernel.org>,
"Jens Wiklander" <jenswi@kernel.org>,
"Sumit Garg" <sumit.garg@kernel.org>,
"Scott Branden" <scott.branden@broadcom.com>,
"Broadcom internal kernel review list"
<bcm-kernel-feedback-list@broadcom.com>,
"Arnd Bergmann" <arnd@arndb.de>,
"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
"Richard Cochran" <richardcochran@gmail.com>,
"David Woodhouse" <dwmw2@infradead.org>,
"Andrew Lunn" <andrew+netdev@lunn.ch>,
"David S. Miller" <davem@davemloft.net>,
"Eric Dumazet" <edumazet@kernel.org>,
"Jakub Kicinski" <kuba@kernel.org>,
"Paolo Abeni" <pabeni@redhat.com>,
xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
linuxppc-dev@lists.ozlabs.org, kvm@vger.kernel.org,
linux-hyperv@vger.kernel.org, virtualization@l
Subject: Re: [PATCH 14/14] vhost-vdpa: convert mmap hook to mmap_prepare
Date: Mon, 9 Nov 2026 08:06:38 -0500 [thread overview]
Message-ID: <20261109080616-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <20261105-late-2026-mmap_prepare-v1-14-c56aadfbab8a@kernel.org>
On Thu, Nov 05, 2026 at 09:05:45PM +0000, Lorenzo Stoakes (ARM) wrote:
> Move from the deprecated mmap hook to the new mmap_prepare hook. The hook
> only validates the request and sets the VMA flags, operations and page
> protection.
>
> Signed-off-by: Lorenzo Stoakes (ARM) <ljs@kernel.org>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Who's merging this, me?
> ---
> drivers/vhost/vdpa.c | 23 ++++++++++++-----------
> 1 file changed, 12 insertions(+), 11 deletions(-)
>
> diff --git a/drivers/vhost/vdpa.c b/drivers/vhost/vdpa.c
> index ff7d90719171..993b2d7c8927 100644
> --- a/drivers/vhost/vdpa.c
> +++ b/drivers/vhost/vdpa.c
> @@ -1573,19 +1573,19 @@ static const struct vm_operations_struct vhost_vdpa_vm_ops = {
> .fault = vhost_vdpa_fault,
> };
>
> -static int vhost_vdpa_mmap(struct file *file, struct vm_area_struct *vma)
> +static int vhost_vdpa_mmap_prepare(struct vm_area_desc *desc)
> {
> - struct vhost_vdpa *v = vma->vm_file->private_data;
> + struct vhost_vdpa *v = desc->file->private_data;
> struct vdpa_device *vdpa = v->vdpa;
> const struct vdpa_config_ops *ops = vdpa->config;
> struct vdpa_notification_area notify;
> - unsigned long index = vma->vm_pgoff;
> + unsigned long index = desc->pgoff;
>
> - if (vma->vm_end - vma->vm_start != PAGE_SIZE)
> + if (vma_desc_size(desc) != PAGE_SIZE)
> return -EINVAL;
> - if ((vma->vm_flags & VM_SHARED) == 0)
> + if (!vma_desc_test(desc, VMA_SHARED_BIT))
> return -EINVAL;
> - if (vma->vm_flags & VM_READ)
> + if (vma_desc_test(desc, VMA_READ_BIT))
> return -EINVAL;
> if (!ops->get_vq_notification)
> return -ENOTSUPP;
> @@ -1598,12 +1598,13 @@ static int vhost_vdpa_mmap(struct file *file, struct vm_area_struct *vma)
> return -EINVAL;
> if (notify.addr & (PAGE_SIZE - 1))
> return -EINVAL;
> - if (vma->vm_end - vma->vm_start != notify.size)
> + if (vma_desc_size(desc) != notify.size)
> return -ENOTSUPP;
>
> - vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot);
> - vm_flags_set(vma, VM_IO | VM_PFNMAP | VM_DONTEXPAND | VM_DONTDUMP);
> - vma->vm_ops = &vhost_vdpa_vm_ops;
> + desc->page_prot = pgprot_noncached(desc->page_prot);
> + vma_desc_set_flags(desc, VMA_IO_BIT, VMA_PFNMAP_BIT, VMA_DONTEXPAND_BIT,
> + VMA_DONTDUMP_BIT);
> + desc->vm_ops = &vhost_vdpa_vm_ops;
> return 0;
> }
> #endif /* CONFIG_MMU */
> @@ -1615,7 +1616,7 @@ static const struct file_operations vhost_vdpa_fops = {
> .write_iter = vhost_vdpa_chr_write_iter,
> .unlocked_ioctl = vhost_vdpa_unlocked_ioctl,
> #ifdef CONFIG_MMU
> - .mmap = vhost_vdpa_mmap,
> + .mmap_prepare = vhost_vdpa_mmap_prepare,
> #endif /* CONFIG_MMU */
> .compat_ioctl = compat_ptr_ioctl,
> };
>
> --
> 2.56.0
next prev parent reply other threads:[~2026-11-09 13:06 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-05 21:05 [PATCH 00/14] mm: convert further simple mmap hooks to mmap_prepare Lorenzo Stoakes (ARM)
2026-11-05 21:05 ` Lorenzo Stoakes (ARM) via OP-TEE
2026-11-05 21:05 ` [PATCH 01/14] xen/privcmd: convert mmap hook " Lorenzo Stoakes (ARM)
2026-11-05 21:05 ` Lorenzo Stoakes (ARM) via OP-TEE
2026-11-05 21:05 ` [PATCH 02/14] KVM: PPC: Book3S: convert spapr TCE " Lorenzo Stoakes (ARM)
2026-11-05 21:05 ` Lorenzo Stoakes (ARM) via OP-TEE
2026-11-05 21:05 ` [PATCH 03/14] mshv_vtl: convert mmap hooks " Lorenzo Stoakes (ARM)
2026-11-05 21:05 ` Lorenzo Stoakes (ARM) via OP-TEE
2026-11-05 21:05 ` [PATCH 04/14] vduse: convert IOVA domain mmap hook " Lorenzo Stoakes (ARM)
2026-11-05 21:05 ` Lorenzo Stoakes (ARM) via OP-TEE
2026-11-05 21:05 ` [PATCH 05/14] x86/sgx: convert vepc " Lorenzo Stoakes (ARM)
2026-11-05 21:05 ` Lorenzo Stoakes (ARM) via OP-TEE
2026-11-05 21:43 ` Jarkko Sakkinen
2026-11-05 21:43 ` Jarkko Sakkinen via OP-TEE
2026-11-05 21:05 ` [PATCH 06/14] udf: convert " Lorenzo Stoakes (ARM)
2026-11-05 21:05 ` Lorenzo Stoakes (ARM) via OP-TEE
2026-11-06 13:58 ` Jan Kara
2026-11-06 13:58 ` Jan Kara
2026-11-05 21:05 ` [PATCH 07/14] selinuxfs: convert mmap hooks " Lorenzo Stoakes (ARM)
2026-11-05 21:05 ` Lorenzo Stoakes (ARM) via OP-TEE
2026-11-05 23:14 ` Paul Moore
2026-11-05 23:14 ` Paul Moore
2026-11-05 21:05 ` [PATCH 08/14] xen: convert xenstore interface " Lorenzo Stoakes (ARM)
2026-11-05 21:05 ` Lorenzo Stoakes (ARM) via OP-TEE
2026-11-05 21:05 ` [PATCH 09/14] soc: aspeed: convert LPC and P2A control " Lorenzo Stoakes (ARM)
2026-11-05 21:05 ` Lorenzo Stoakes (ARM) via OP-TEE
2026-11-09 5:18 ` Andrew Jeffery
2026-11-05 21:05 ` [PATCH 10/14] soc: qcom: rmtfs_mem: convert mmap hook " Lorenzo Stoakes (ARM)
2026-11-05 21:05 ` Lorenzo Stoakes (ARM) via OP-TEE
2026-11-09 9:14 ` Abel Vesa
2026-11-09 9:14 ` Abel Vesa
2026-11-05 21:05 ` [PATCH 11/14] tee: convert shm " Lorenzo Stoakes (ARM)
2026-11-05 21:05 ` Lorenzo Stoakes (ARM) via OP-TEE
2026-11-05 21:05 ` [PATCH 12/14] misc: bcm-vk: convert " Lorenzo Stoakes (ARM)
2026-11-05 21:05 ` Lorenzo Stoakes (ARM) via OP-TEE
2026-11-05 21:05 ` [PATCH 13/14] ptp: vmclock: " Lorenzo Stoakes (ARM)
2026-11-05 21:05 ` Lorenzo Stoakes (ARM) via OP-TEE
2026-11-06 0:34 ` David Woodhouse
2026-11-06 0:34 ` David Woodhouse
2026-11-05 21:05 ` [PATCH 14/14] vhost-vdpa: " Lorenzo Stoakes (ARM)
2026-11-05 21:05 ` Lorenzo Stoakes (ARM) via OP-TEE
2026-11-09 13:06 ` Michael S. Tsirkin [this message]
2026-11-09 13:06 ` Michael S. Tsirkin via OP-TEE
2026-11-05 23:12 ` [PATCH 00/14] mm: convert further simple mmap hooks " Paul Moore
2026-11-05 23:12 ` Paul Moore
2026-11-06 10:18 ` Lorenzo Stoakes (ARM)
2026-11-06 10:18 ` Lorenzo Stoakes (ARM) via OP-TEE
2026-11-06 13:50 ` Jarkko Sakkinen
2026-11-06 13:50 ` Jarkko Sakkinen via OP-TEE
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=20261109080616-mutt-send-email-mst@kernel.org \
--to=mst@redhat.com \
--cc=abelvesa@kernel.org \
--cc=andersson@kernel.org \
--cc=andrew+netdev@lunn.ch \
--cc=andrew@codeconstruct.com.au \
--cc=arnd@arndb.de \
--cc=bcm-kernel-feedback-list@broadcom.com \
--cc=billy_tsai@aspeedtech.com \
--cc=bp@alien8.de \
--cc=chleroy@kernel.org \
--cc=dave.hansen@linux.intel.com \
--cc=davem@davemloft.net \
--cc=decui@microsoft.com \
--cc=dwmw2@infradead.org \
--cc=edumazet@kernel.org \
--cc=eperezma@redhat.com \
--cc=gregkh@linuxfoundation.org \
--cc=haiyangz@microsoft.com \
--cc=hpa@zytor.com \
--cc=jack@suse.com \
--cc=jarkko@kernel.org \
--cc=jasowangio@gmail.com \
--cc=jenswi@kernel.org \
--cc=jgross@suse.com \
--cc=joel@jms.id.au \
--cc=konradybcio@kernel.org \
--cc=kuba@kernel.org \
--cc=kvm@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-aspeed@lists.ozlabs.org \
--cc=linux-hyperv@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sgx@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=ljs@kernel.org \
--cc=maddy@linux.ibm.com \
--cc=mingo@redhat.com \
--cc=mpe@ellerman.id.au \
--cc=netdev@vger.kernel.org \
--cc=npiggin@gmail.com \
--cc=oleksandr_tyshchenko@epam.com \
--cc=omosnacek@gmail.com \
--cc=op-tee@lists.trustedfirmware.org \
--cc=pabeni@redhat.com \
--cc=paul@paul-moore.com \
--cc=richardcochran@gmail.com \
--cc=ritesh.list@gmail.com \
--cc=ryan_chen@aspeedtech.com \
--cc=scott.branden@broadcom.com \
--cc=selinux@vger.kernel.org \
--cc=sshegde@linux.ibm.com \
--cc=sstabellini@kernel.org \
--cc=stephen.smalley.work@gmail.com \
--cc=sumit.garg@kernel.org \
--cc=tglx@kernel.org \
--cc=virtualization@lists.linux.dev \
--cc=wei.liu@kernel.org \
--cc=x86@kernel.org \
--cc=xen-devel@lists.xenproject.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.