From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.remote-ip=170.10.133.124 ARC-Seal: i=1; d=subspace.kernel.org; s=arc20261015; a=rsa-sha256; cv=none; t=1794229611; b=xqIvyeMEqQTmZAoR9zkP6E/y9vIL7vAgg8KpgfXxsqacvt8vqTl2c9bD5SEnL5TlwlIM BiwqUG8vyCoH7bY9NJ9dmneyXWte73LPZ7M9hZcW/suXLSgvuis0pxDxGA3yyaue7bgF2 mMYNRxr0blUjvmvsFAf/A4c2wei+PYQJgtWQ232dch0wf1mEbbs9OdDwtl2y9XA55g9dP S6KcIzhInjds4hqK04uxKlv7Mjsi3hwZhL6ji+D0SeVP34JD1Cm2NuYU8NpIRL0VpxjsE AteH5QBM1HEyGpM7GvnnggMGyNL3pXtjXcaKpDqvCFeYxiQeeuXmgYXkB7f37JQzTPQ== ARC-Message-Signature: i=1; d=subspace.kernel.org; s=arc20261015; a=rsa-sha256; c=relaxed/relaxed; t=1794229611; h=DMARC-Filter:DKIM-Signature:Received:X-MC-Unique: X-Mimecast-MFC-AGG-ID:Received:DKIM-Signature:X-Google-DKIM-Signature: X-Forwarded-Encrypted:X-Gm-Message-State:X-Gm-Gg:X-Received: X-Received:Received:Date:From:To:Cc:Subject:Message-ID:References: MIME-Version:Content-Type:Content-Disposition:In-Reply-To; bh=Ala+oDARam9VyrCVVd83FiqqzQ26GgOylxTttfV+xTA=; b=k0AxsBPK9RU5OsyRG5zBRC6+lV1xBe4T0+SCpbYhCH4hG5bqIxUkP2f3E/ITJCly/t/P VrYMlAaHWo0BCOYinP0fjEPoVmDc8YH/2611RonI0U95mYmQMIutAJ0bgOOmvlqWtZHbw 49tNTZpPxWdLvOs8bs6Pub7fcOOSK6v8yX+RtDaPt6MXH8dBJiUDGR9FiKlZkOK9GRimi XHYiDGZLtJrrP+HYSpix9uCBIuzuKzgGoy10TCi/Zw5lE1xohqSdO17OW0RDuMmlqfkMi 7lIOuE1egqsUuJogHxj3cSSijfTzdI6GRoaCH44pwcbF61Z/Q+StQChgzoX6RvC5/Uw== ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=brBKYvqA; dkim=pass header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=google header.b=hvH2JAKU; arc=none smtp.remote-ip=170.10.133.124 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E9EFA606A331 for ; Mon, 9 Nov 2026 13:06:50 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.2 smtp.subspace.kernel.org E9EFA606A331 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=mimecast20190719 header.b=brBKYvqA; dkim=pass (2048-bit key) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256 header.s=google header.b=hvH2JAKU DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1794229609; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=Ala+oDARam9VyrCVVd83FiqqzQ26GgOylxTttfV+xTA=; b=brBKYvqAgmzd5ioRQI92wuXELPvhkYgKM2F8jauv/xxTF85vJf9TfZRJDwY6S3qocWE2w5 BklDMCD3x6U+dxXdxMJaoOgWrz9jeDkOxnyPazk+ay+NgDvaIImxEGxj66aehgAhvPFl4U 14Sbuz1J+yZQPmFV0N/cb/YE+8+rEkg= Received: from mail-ed1-f69.google.com (mail-ed1-f69.google.com [209.85.208.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-632-5CiMWHJHPbGtedWTJq_Dfg-1; Mon, 09 Nov 2026 08:06:48 -0500 X-MC-Unique: 5CiMWHJHPbGtedWTJq_Dfg-1 X-Mimecast-MFC-AGG-ID: 5CiMWHJHPbGtedWTJq_Dfg_1794229607 Received: by mail-ed1-f69.google.com with SMTP id 4fb4d7f45d1cf-6b70d5bd731so972930a12.1 for ; Mon, 09 Nov 2026 05:06:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1794229607; x=1794834407; darn=vger.kernel.org; h=in-reply-to:content-disposition:content-type:mime-version :references:message-id:subject:cc:to:from:date:from:to:cc:subject :date:message-id:reply-to:content-type; bh=Ala+oDARam9VyrCVVd83FiqqzQ26GgOylxTttfV+xTA=; b=hvH2JAKUSPVN6CLi6ISw5CHEFk3kPPwX1uKW23tcP+tjSVKeRNUFAITwWBNXNw3VXK zAS0k7VgaTGEeOoiCTbdFHAyPaNCHkgQAr0Iw5CKQd5HTNSjYPUzjz/W2V6qPp1GfwlG QXUlhHLmJG/B84GBezCBkFReNNINJG7gH0Pt261lGg1cSjRs1YY0rXZeXOmbC6NCKRgb 4Yyxk1tUUGitmRMqkX9FdvZT9B2RdJuzn/5xE59oCnobNDOJupirMcPqRWUWQ9w+2r39 x3nWRxdKdrdnuJIPiFXIw+j9wT+Nlanvnm41D3MtSFPF412jW0sWvm2PFteDKwoP38kK 360w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1794229607; x=1794834407; h=in-reply-to:content-disposition:content-type:mime-version :references:message-id:subject:cc:to:from:date:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=Ala+oDARam9VyrCVVd83FiqqzQ26GgOylxTttfV+xTA=; b=oWpIw1YQ6kbL4GlnJn0JOEv6HsvIuHfzxU63kjRxNfaMOwjnDnhgpH+Ma89wRJs8cq DKnGVY2Uu9Scz9ipDhlE8gM76hdv3WfJxOLdbrWYaZWKb8WeZrwdiQhOnFp3gMyQjW0g BIxB8jEtTKSY+gazPRvVdxn7cRW2iDA9RQI6WvPPjfmEqp3gpVmitHARtt3AX80o9Urp tPEjuixKdhMaX13+8ERhVyGFoVQoSly7Dy+JOzSCegnZFjRVONUZIASUvAC12K3ptEmk b+goU/ZRm5/WMPI2LKi3lB+hEZIWP5XwdXCf/LsgOGZmjtkyzW4uPh4OqBg5E4RIl/nJ qXEw== X-Forwarded-Encrypted: i=1; AL+hErExuUTBWuFjdmofFbYiI4z9VUToZTUc7BVcMG/s/d3Xe58tTgNQ/hU0sIezh3QN0uC0X9/HwrA=@vger.kernel.org X-Gm-Message-State: APuU4Z/ev+pFbRbR0ic2H7blA5AJl1yB+GtKmCpHPenN2scufhoN2Qnf DZNTFsxKqL0ZpFVRBarOzhNrWmqikCoKVLhZD3otCt3folQnpvmWtEYDdgHH0lUK+JLqen0MUTu 0CLDmiL6XjKTdjAb3c/iNb2A5R/SE/+m/O46c++sFDCFgs9UMOpVmwNW4jg== X-Gm-Gg: AYBFou0m8XcrL93Yue1rMNsdEHE8eaahJZNVX0wwnSRgySUnZSetsWqRsscbIcy/ad2 K3//hJdYqmG39ZIkSVhJ7ZCa4K1qgyQHKZEsNOwlhWHuSxIGcyQHkYxkDR2VQF+/z92PVUL/xLp JfMQHwROgq/wOacVBOxmdL+2P0nKg7RtMQaESa1ZOxgrGIeT91QdG0sjhl84YToeieelrbQ7rrZ 7V5Y/3DAa6ftteuPxG8f8yjmzFbvTqJPlk9iZfPbuouMiD39Z0mRIORNsvTynRbC0K6cwHg7KyL aq+2EHUOPu3SdAHG6g/ZiwZ9qeRVp+/STAVBNiEwpZ7oRX/BgOUuOp0ktXjP4sj30xMZEPC4eXR hEz6kVjkCtuvm3w/osY6XME7uCHFCl90EBuPrArZ5 X-Received: by 2002:a17:907:18c3:b0:c25:f7db:4bec with SMTP id a640c23a62f3a-c4d6db5760cmr321580366b.18.1794229607351; Mon, 09 Nov 2026 05:06:47 -0800 (PST) X-Received: by 2002:a17:907:18c3:b0:c25:f7db:4bec with SMTP id a640c23a62f3a-c4d6db5760cmr321574566b.18.1794229606674; Mon, 09 Nov 2026 05:06:46 -0800 (PST) Received: from redhat.com ([2a0d:6fc0:1511:2900:ff37:b35c:a97:952d]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-c4d69f9384csm168299566b.13.2026.11.09.05.06.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 09 Nov 2026 05:06:45 -0800 (PST) Date: Mon, 9 Nov 2026 08:06:38 -0500 From: "Michael S. Tsirkin" To: "Lorenzo Stoakes (ARM)" Cc: Juergen Gross , Stefano Stabellini , Oleksandr Tyshchenko , Madhavan Srinivasan , Nicholas Piggin , Michael Ellerman , "Christophe Leroy (CS GROUP)" , "Ritesh Harjani (IBM)" , Shrikanth Hegde , Haiyang Zhang , Wei Liu , Dexuan Cui , Jason Wang , Eugenio =?iso-8859-1?Q?P=E9rez?= , Xuan Zhuo , Jarkko Sakkinen , Dave Hansen , Thomas Gleixner , Ingo Molnar , Borislav Petkov , x86@kernel.org, "H. Peter Anvin" , Jan Kara , Paul Moore , Stephen Smalley , Ondrej =?utf-8?B?TW9zbsOhxI1law==?= , Joel Stanley , Andrew Jeffery , Ryan Chen , Billy Tsai , Bjorn Andersson , Konrad Dybcio , Abel Vesa , Jens Wiklander , Sumit Garg , Scott Branden , Broadcom internal kernel review list , Arnd Bergmann , Greg Kroah-Hartman , Richard Cochran , David Woodhouse , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , 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 Message-ID: <20261109080616-mutt-send-email-mst@kernel.org> References: <20261105-late-2026-mmap_prepare-v1-0-c56aadfbab8a@kernel.org> <20261105-late-2026-mmap_prepare-v1-14-c56aadfbab8a@kernel.org> X-Mailing-List: netdev@vger.kernel.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline 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) Acked-by: Michael S. Tsirkin 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