[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 05/14] x86/sgx: convert vepc mmap hook to mmap_prepare
- To: "Lorenzo Stoakes (ARM)" <ljs@xxxxxxxxxx>
- From: Jarkko Sakkinen <jarkko@xxxxxxxxxx>
- Date: Thu, 5 Nov 2026 23:43:23 +0200
- Authentication-results: eu.smtp.expurgate.cloud; dkim=pass header.s=k20260515 header.d=kernel.org header.i="@kernel.org" header.h="Date:From:To:Cc:Subject:References:In-Reply-To"
- Cc: Juergen Gross <jgross@xxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Oleksandr Tyshchenko <oleksandr_tyshchenko@xxxxxxxx>, Madhavan Srinivasan <maddy@xxxxxxxxxxxxx>, Nicholas Piggin <npiggin@xxxxxxxxx>, Michael Ellerman <mpe@xxxxxxxxxxxxxx>, "Christophe Leroy (CS GROUP)" <chleroy@xxxxxxxxxx>, "Ritesh Harjani (IBM)" <ritesh.list@xxxxxxxxx>, Shrikanth Hegde <sshegde@xxxxxxxxxxxxx>, Haiyang Zhang <haiyangz@xxxxxxxxxxxxx>, Wei Liu <wei.liu@xxxxxxxxxx>, Dexuan Cui <decui@xxxxxxxxxxxxx>, "Michael S. Tsirkin" <mst@xxxxxxxxxx>, Jason Wang <jasowangio@xxxxxxxxx>, Eugenio Pérez <eperezma@xxxxxxxxxx>, Xuan Zhuo <xuanzhuo@xxxxxxxxxxxxxxxxx>, Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx>, Thomas Gleixner <tglx@xxxxxxxxxx>, Ingo Molnar <mingo@xxxxxxxxxx>, Borislav Petkov <bp@xxxxxxxxx>, x86@xxxxxxxxxx, "H. Peter Anvin" <hpa@xxxxxxxxx>, Jan Kara <jack@xxxxxxxx>, Paul Moore <paul@xxxxxxxxxxxxxx>, Stephen Smalley <stephen.smalley.work@xxxxxxxxx>, Ondrej Mosnáček <omosnacek@xxxxxxxxx>, Joel Stanley <joel@xxxxxxxxx>, Andrew Jeffery <andrew@xxxxxxxxxxxxxxxxxxxx>, Ryan Chen <ryan_chen@xxxxxxxxxxxxxx>, Billy Tsai <billy_tsai@xxxxxxxxxxxxxx>, Bjorn Andersson <andersson@xxxxxxxxxx>, Konrad Dybcio <konradybcio@xxxxxxxxxx>, Abel Vesa <abelvesa@xxxxxxxxxx>, Jens Wiklander <jenswi@xxxxxxxxxx>, Sumit Garg <sumit.garg@xxxxxxxxxx>, Scott Branden <scott.branden@xxxxxxxxxxxx>, Broadcom internal kernel review list <bcm-kernel-feedback-list@xxxxxxxxxxxx>, Arnd Bergmann <arnd@xxxxxxxx>, Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>, Richard Cochran <richardcochran@xxxxxxxxx>, David Woodhouse <dwmw2@xxxxxxxxxxxxx>, Andrew Lunn <andrew+netdev@xxxxxxx>, "David S. Miller" <davem@xxxxxxxxxxxxx>, Eric Dumazet <edumazet@xxxxxxxxxx>, Jakub Kicinski <kuba@xxxxxxxxxx>, Paolo Abeni <pabeni@xxxxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, linuxppc-dev@xxxxxxxxxxxxxxxx, kvm@xxxxxxxxxxxxxxx, linux-hyperv@xxxxxxxxxxxxxxx, virtualization@xxxxxxxxxxxxxxx, linux-sgx@xxxxxxxxxxxxxxx, selinux@xxxxxxxxxxxxxxx, linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, linux-aspeed@xxxxxxxxxxxxxxxx, linux-arm-msm@xxxxxxxxxxxxxxx, op-tee@xxxxxxxxxxxxxxxxxxxxxxxxx, netdev@xxxxxxxxxxxxxxx
- Delivery-date: Thu, 05 Nov 2026 21:43:38 +0000
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
On Thu, Nov 05, 2026 at 09:05:36PM +0000, Lorenzo Stoakes (ARM) wrote:
> Move from the deprecated mmap hook to the new mmap_prepare hook. The hook
> only checks that the mapping is shared and sets VMA flags, operations and
> private data.
>
> Signed-off-by: Lorenzo Stoakes (ARM) <ljs@xxxxxxxxxx>
> ---
> arch/x86/kernel/cpu/sgx/virt.c | 15 ++++++++-------
> 1 file changed, 8 insertions(+), 7 deletions(-)
>
> diff --git a/arch/x86/kernel/cpu/sgx/virt.c b/arch/x86/kernel/cpu/sgx/virt.c
> index 6a1933ddc6fc..850990519ca5 100644
> --- a/arch/x86/kernel/cpu/sgx/virt.c
> +++ b/arch/x86/kernel/cpu/sgx/virt.c
> @@ -98,17 +98,18 @@ static const struct vm_operations_struct sgx_vepc_vm_ops
> = {
> .fault = sgx_vepc_fault,
> };
>
> -static int sgx_vepc_mmap(struct file *file, struct vm_area_struct *vma)
> +static int sgx_vepc_mmap_prepare(struct vm_area_desc *desc)
> {
> - struct sgx_vepc *vepc = file->private_data;
> + struct sgx_vepc *vepc = desc->file->private_data;
>
> - if (!(vma->vm_flags & VM_SHARED))
> + if (!vma_desc_test(desc, VMA_SHARED_BIT))
> return -EINVAL;
>
> - vma->vm_ops = &sgx_vepc_vm_ops;
> + desc->vm_ops = &sgx_vepc_vm_ops;
> /* Don't copy VMA in fork() */
> - vm_flags_set(vma, VM_PFNMAP | VM_IO | VM_DONTDUMP | VM_DONTCOPY);
> - vma->vm_private_data = vepc;
> + vma_desc_set_flags(desc, VMA_PFNMAP_BIT, VMA_IO_BIT, VMA_DONTDUMP_BIT,
> + VMA_DONTCOPY_BIT);
> + desc->private_data = vepc;
>
> return 0;
> }
> @@ -315,7 +316,7 @@ static const struct file_operations sgx_vepc_fops = {
> .unlocked_ioctl = sgx_vepc_ioctl,
> .compat_ioctl = sgx_vepc_ioctl,
> .release = sgx_vepc_release,
> - .mmap = sgx_vepc_mmap,
> + .mmap_prepare = sgx_vepc_mmap_prepare,
> };
>
> static struct miscdevice sgx_vepc_dev = {
>
> --
> 2.56.0
>
Reviewed-by: Jarkko Sakkinen <jarkko@xxxxxxxxxx>
Br, Jarkko
|