From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7EAA8C369A2 for ; Tue, 8 Apr 2025 13:18:08 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4E826280001; Tue, 8 Apr 2025 09:18:06 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 472436B000C; Tue, 8 Apr 2025 09:18:06 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2EA0F280001; Tue, 8 Apr 2025 09:18:06 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 0D5016B0008 for ; Tue, 8 Apr 2025 09:18:06 -0400 (EDT) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 5EAE0120F38 for ; Tue, 8 Apr 2025 13:18:07 +0000 (UTC) X-FDA: 83310929814.27.BC8E355 Received: from mail-qt1-f179.google.com (mail-qt1-f179.google.com [209.85.160.179]) by imf11.hostedemail.com (Postfix) with ESMTP id 9D4FB40006 for ; Tue, 8 Apr 2025 13:18:05 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=i4OV2c17; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf11.hostedemail.com: domain of tabba@google.com designates 209.85.160.179 as permitted sender) smtp.mailfrom=tabba@google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1744118285; a=rsa-sha256; cv=none; b=ScojXPSbEVs76ljm7o9DLnslDdPQTkFcqyCWbgpFT2oIHWo6d3p/ZE6ttQ7s2yyrY8/Ci2 45RfXrCkZu0w54GbAJgzUKqLg0x8qbspDREdarkoApPI8vXIwEGuCU/mVUSJFFAhlWoIc/ +ZBTA3Hih5Cfo7PY4mHKXcyn00AM97g= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=i4OV2c17; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf11.hostedemail.com: domain of tabba@google.com designates 209.85.160.179 as permitted sender) smtp.mailfrom=tabba@google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1744118285; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=DLkZ8H10u754bzDEYxG0pGG1Vym3BSRsC007lFUVMA0=; b=ewtoZ1J3Mgo4nwgWj/7+pHlhc6og4YhddXmJ2z/QHe5Y46bs8SpTkR9zA5j3Rsnh6kucwr s0p9jJULiQQtoD17Z0zt0rMpH7Kou2+jucza4Lhcr4BMkU/ae6JE3ILP9l6go8SRP8CO0x e2C58RFHwX8Wi8Z0KgCcriFSSsa+4as= Received: by mail-qt1-f179.google.com with SMTP id d75a77b69052e-47666573242so430941cf.0 for ; Tue, 08 Apr 2025 06:18:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1744118285; x=1744723085; darn=kvack.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=DLkZ8H10u754bzDEYxG0pGG1Vym3BSRsC007lFUVMA0=; b=i4OV2c17eHHbSlB/JwYYtT6GHqdkB8oL+GQuMKoQ+1MwuoxpVUW72MGVuh+u5wHPC5 oPU9xr3Da0GOyC8B3vV7Z/RqhOemSH7Y0fNVIuPMp/AUJqp843XvgLBcj5bByuoqeiHf 7Jj8UahlkRp15/lnjp+tLqOECYVPdn1HeQFLPkrC/RkYhkr4Z1r7KVWhhj1y/qiYCx9g 8KOF85+NYU/5Fu8Ihr7uaksTFi/+8ZeN36V26lHraCMnnhLEAOmSkEVZ8Zp2Vkd5ydDf BuhF97ZxSLmlazF3tndAwEYxHVrWUvSaShEeaB3/Aqcm5zV1sWFxFbG3xUWZbE8EfXmh MSEg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744118285; x=1744723085; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=DLkZ8H10u754bzDEYxG0pGG1Vym3BSRsC007lFUVMA0=; b=SdB1H2uPZ5Lc7hksct/qMwuPw9xD5gjBIvFKKQU1CG2zwzh14vnvgrwCeChpv0sspw JsD82nDztpkjxTJr4clAY9QOtzzevOn5RfTX0PgKR2TKbTVvbBOYEh6ZdCN4ZoutYpX1 EHnT31cBv7OpAFzZ4daAohiU00PlMCykjZJfnTVRViNkA13iE+9kwd6n4EaSLEYcXFxh 6kw1mc9UIZqgI6rpUgFfy1zNVvOsgR3RQPAPAbjay6A3upSghEAfp7729wRsy1HZTb9l Grc9rkU3pL+6Z0y4uBj8oiZMXRkBG6Zwf8SgWtbYcB4rOR6POTBYRRr1DFmXYPUApYB7 JW7A== X-Forwarded-Encrypted: i=1; AJvYcCVEuXAK0akejdaryYPZWX7qsYyFauFI0UZ+rDGMGIs0tWZ9A6VvaH9oXiDbh4OUCXe7OknXJ4wYbQ==@kvack.org X-Gm-Message-State: AOJu0YxMjISKDoMualbuKRjr9qXXT50YBYK2UWgw2jfSqO0GNAk8E6Sd 1ItoGIBtZg4j6ZZY8o9HwxnSQyvr94iq/29DxoccsjhAQSrtPM8cZRjikwnbKW/sI2KNw7aqFYg BpJsKjqkc4cDmmfzW+VSUsTVK8an92THEu6Ql X-Gm-Gg: ASbGncskPcF+pqlAay4/mVfmFPD91u3oBynhmvUqXjf8D7htTMAsqzzqqmcUeizC49P 6xoPcgN4dxwOGf98eFqUXK4IMA3BqxfzAsZfK3+o/KOUgd7r8myEa6Vh9ay+wkYP7agoKzXNief uQOzn1F2+dZNeBqWMJvnpyIua40xa9alzxkQP5+dgtEr2/gbof4KLtkW0= X-Google-Smtp-Source: AGHT+IEDCj75uLOr9P2Vigx7J1ItMHWGrGRbxd2MN7PC6r4Wx5Y0g7b6KNz8RZ4KgdK933NpM5luHDRK5PVCe5NSW9Y= X-Received: by 2002:ac8:5a8f:0:b0:477:8577:1532 with SMTP id d75a77b69052e-47954f896a1mr4329511cf.28.1744118284214; Tue, 08 Apr 2025 06:18:04 -0700 (PDT) MIME-Version: 1.0 References: <20250318161823.4005529-1-tabba@google.com> <20250318161823.4005529-4-tabba@google.com> In-Reply-To: From: Fuad Tabba Date: Tue, 8 Apr 2025 14:17:27 +0100 X-Gm-Features: ATxdqUFr2igflPFe3Ha6eBMgg_-Ahvty9YC0a3MzdgeJzRB0x5YKJNf2b56gIOM Message-ID: Subject: Re: [PATCH v7 3/9] KVM: guest_memfd: Allow host to map guest_memfd() pages To: Shivank Garg Cc: kvm@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-mm@kvack.org, pbonzini@redhat.com, chenhuacai@kernel.org, mpe@ellerman.id.au, anup@brainfault.org, paul.walmsley@sifive.com, palmer@dabbelt.com, aou@eecs.berkeley.edu, seanjc@google.com, viro@zeniv.linux.org.uk, brauner@kernel.org, willy@infradead.org, akpm@linux-foundation.org, xiaoyao.li@intel.com, yilun.xu@intel.com, chao.p.peng@linux.intel.com, jarkko@kernel.org, amoorthy@google.com, dmatlack@google.com, isaku.yamahata@intel.com, mic@digikod.net, vbabka@suse.cz, vannapurve@google.com, ackerleytng@google.com, mail@maciej.szmigiero.name, david@redhat.com, michael.roth@amd.com, wei.w.wang@intel.com, liam.merwick@oracle.com, isaku.yamahata@gmail.com, kirill.shutemov@linux.intel.com, suzuki.poulose@arm.com, steven.price@arm.com, quic_eberman@quicinc.com, quic_mnalajal@quicinc.com, quic_tsoni@quicinc.com, quic_svaddagi@quicinc.com, quic_cvanscha@quicinc.com, quic_pderrin@quicinc.com, quic_pheragu@quicinc.com, catalin.marinas@arm.com, james.morse@arm.com, yuzenghui@huawei.com, oliver.upton@linux.dev, maz@kernel.org, will@kernel.org, qperret@google.com, keirf@google.com, roypat@amazon.co.uk, shuah@kernel.org, hch@infradead.org, jgg@nvidia.com, rientjes@google.com, jhubbard@nvidia.com, fvdl@google.com, hughd@google.com, jthoughton@google.com, peterx@redhat.com Content-Type: text/plain; charset="UTF-8" X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 9D4FB40006 X-Stat-Signature: b5zgipg4wsx6nuk6e11q8xzqoy1xi4gd X-Rspam-User: X-HE-Tag: 1744118285-585006 X-HE-Meta: U2FsdGVkX1+z1NUD4MSY0NXF9CIQmn06K0zeWBopY8h5/mBoUbW/P5+rBoXZtKNHs/y3ORCWtbJh8QItL+DE863Kjuwz/3RoVnnF3jLgspyTJ3cJR0sS/QkwbA2Ckmd5r7dSGmydVvTCNVkPosPk5yK5saFi5g23wxwWOCy9YBlYuDXDehD3CjQUd7DxBPN9TEadSu+GnNcK43TZvF9rMW9p4D++JHsKt6tdDke5MuHc/QThfA3+1nn4FZDtg16hO8CGhmsSbatzciA6HSryy0GejqILr6O6H+/x2vSEwQEl1ONQEf6DKGYQTdteMKaf52/WlVSeXXlt/3DAfV9AisRUUJtKspWAIKDcFi9NZ4PRQPafEnbFsmfwqpzREevcCmoqwmzzCXhsmsRnLpb10op1c18cZ6cBYK/iaB2Omk4ZA4FfZZf7BZD01ndwoTgYvKZwcj9AIy0eBmkJDL0p17uUFjBxPXMqEmZV50cn2gNNueK+4+Y/C8nqW+TOVSc2VDpS/51Mr7pAZMTc4b0TIpzTnyj3EqgaBKZfF+W0NWjjoqpkf0HQJFQVW5CBjT60h8nJ24FwLixuPxLKQAgM2r7u74IZJnHRENv4UcfmwQz3xtqjqbMR9T6x9MykOILIeuM+avTp7aLzvwXAMryGsVtxZfgyxlTkS4yu6G+zB2P+KgZc7wdVRwUTW7JQE0Xr+oE3nroKV3DEdzCWWigXbSLbFrcw2ovlpbtVExfNUg1DETIcdPIGrGQRy3dqFmv3+RD3XVg5P5FIMo9Rylqzf+9W+28VeSLfGs0Dej22sXjNJ5SrEd1qFCfKNquQeuK/omUaLJRwVoiLcrTbYRA9Va0xvDgEQ8j4ci7FxtcRKask2qdbubwSsw6fFiT1Om1KFY0DtgfKi/GxLyJDd7syB6HD7BIIALackgPahO5Cz7/gwXZnNInw28ItQ+eLKcLC/vCWJ5SBcHov6ieR2dQ eLPbpahh Vna1JSlbu02is4/uj1S74lyvMi+iv29x+ROgWOurUoLEf8/06uA5rfIW0hw== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Hi Shivank, On Tue, 8 Apr 2025 at 13:04, Shivank Garg wrote: > > Hi Fuad, > > On 3/18/2025 9:48 PM, Fuad Tabba wrote: > > Add support for mmap() and fault() for guest_memfd backed memory > > in the host for VMs that support in-place conversion between > > shared and private. To that end, this patch adds the ability to > > check whether the VM type supports in-place conversion, and only > > allows mapping its memory if that's the case. > > > > Also add the KVM capability KVM_CAP_GMEM_SHARED_MEM, which > > indicates that the VM supports shared memory in guest_memfd, or > > that the host can create VMs that support shared memory. > > Supporting shared memory implies that memory can be mapped when > > shared with the host. > > > > This is controlled by the KVM_GMEM_SHARED_MEM configuration > > option. > > > > Signed-off-by: Fuad Tabba > > ... > ... > > + > > +static int kvm_gmem_mmap(struct file *file, struct vm_area_struct *vma) > > +{ > > + struct kvm_gmem *gmem = file->private_data; > > + > > + if (!kvm_arch_gmem_supports_shared_mem(gmem->kvm)) > > + return -ENODEV; > > + > > + if ((vma->vm_flags & (VM_SHARED | VM_MAYSHARE)) != > > + (VM_SHARED | VM_MAYSHARE)) { > > + return -EINVAL; > > + } > > + > > + file_accessed(file); > > As it is not directly visible to userspace, do we need to update the > file's access time via file_accessed()? Makes sense. Thanks! /fuad > > + vm_flags_set(vma, VM_DONTDUMP); > > + vma->vm_ops = &kvm_gmem_vm_ops; > > + > > + return 0; > > +} > > +#else > > +#define kvm_gmem_mmap NULL > > +#endif /* CONFIG_KVM_GMEM_SHARED_MEM */ > > + > > static struct file_operations kvm_gmem_fops = { > > + .mmap = kvm_gmem_mmap, > > .open = generic_file_open, > > .release = kvm_gmem_release, > > .fallocate = kvm_gmem_fallocate, > > Thanks, > Shivank