Message ID | 20250318161823.4005529-5-tabba@google.com (mailing list archive) |
---|---|
State | New |
Headers | show
Return-Path: <owner-linux-mm@kvack.org> 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 1DBD4C282EC for <linux-mm@archiver.kernel.org>; Tue, 18 Mar 2025 16:18:39 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7A31F280008; Tue, 18 Mar 2025 12:18:35 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 750B0280001; Tue, 18 Mar 2025 12:18:35 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5A5CC280008; Tue, 18 Mar 2025 12:18:35 -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 33B0C280001 for <linux-mm@kvack.org>; Tue, 18 Mar 2025 12:18:35 -0400 (EDT) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 2EFB5BA54F for <linux-mm@kvack.org>; Tue, 18 Mar 2025 16:18:36 +0000 (UTC) X-FDA: 83235179832.29.AD7BFA5 Received: from mail-wm1-f73.google.com (mail-wm1-f73.google.com [209.85.128.73]) by imf22.hostedemail.com (Postfix) with ESMTP id 55B5CC0013 for <linux-mm@kvack.org>; Tue, 18 Mar 2025 16:18:34 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=DjDsNcSf; spf=pass (imf22.hostedemail.com: domain of 32JzZZwUKCL0wdeedjrrjoh.frpolqx0-ppnydfn.ruj@flex--tabba.bounces.google.com designates 209.85.128.73 as permitted sender) smtp.mailfrom=32JzZZwUKCL0wdeedjrrjoh.frpolqx0-ppnydfn.ruj@flex--tabba.bounces.google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1742314714; 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=/EcAixsmdhk6bmV6ZGX7oCYFqnhwEUpezZCWTXKhO+8=; b=CCl/BqX4qIgDARxGzjI0lfZmPvT5AUFYaQjXRz/AF6pMPcjngRd9zji3C9sypvP9nVxoQ5 vtElIK0PQRQ84BSGEzFQrqbrRe5C/QK/jZUaUM4GScQtvywH9G4b1KSSEdkgwwJJBpnBW/ VtpPruAWMni7r2hAJjh9j8qsSsvf124= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1742314714; a=rsa-sha256; cv=none; b=sV/qpcz4qIAdCsBUmBIG5TPylL6lrG+jixHfMn4+zmSVYpuRnmeEQ87nbKwHqJykZfqs8z t+N90ubrAQFx1moZ66ziz21ETQE+RLab2fDp1ZIS7sIJoRogOjbFawnS9h0GuZTKNskX5F i6M1Vp7sGqy9bWLUcaqfTxvtv2k650k= ARC-Authentication-Results: i=1; imf22.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=DjDsNcSf; spf=pass (imf22.hostedemail.com: domain of 32JzZZwUKCL0wdeedjrrjoh.frpolqx0-ppnydfn.ruj@flex--tabba.bounces.google.com designates 209.85.128.73 as permitted sender) smtp.mailfrom=32JzZZwUKCL0wdeedjrrjoh.frpolqx0-ppnydfn.ruj@flex--tabba.bounces.google.com; dmarc=pass (policy=reject) header.from=google.com Received: by mail-wm1-f73.google.com with SMTP id 5b1f17b1804b1-43d0830c3f7so30340215e9.2 for <linux-mm@kvack.org>; Tue, 18 Mar 2025 09:18:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1742314713; x=1742919513; darn=kvack.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=/EcAixsmdhk6bmV6ZGX7oCYFqnhwEUpezZCWTXKhO+8=; b=DjDsNcSfgiL+vxRwc3e5N+/OdEiI49DvcoihlULLqTtv/iGLi0wm8vpc0Aj1f6PVoM 604een+TeD1hCjV7bycwmWGgp65fENc5eYuKAeCI5yRh5MbvWBeIxeKp/IzHKPCDpDB9 h3VvAAJdcLblry93XB3ohGlisjP7gNK/cVH3nmWW1jSBOTL9tMcjyJ9e4vHecHx7xNJY Eu6qCNpkzxUjt6K2xVq8hHLx0BckDijus9O2TEljWWIp2KWScsjadfxZIdm+gZ3+V5Tw IQNV+O4PSV1nqvHZ4NLjapGCneiEC6dtKZg2KimcsO2oFtpcSiW6wZ2a2CFzdNILxR1e GQ8w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742314713; x=1742919513; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=/EcAixsmdhk6bmV6ZGX7oCYFqnhwEUpezZCWTXKhO+8=; b=sUTj5v48iua1l8AIA5fopdCjmO32RZ0rTAPIEFIknHX//f+f3awtpwnDf0MSSoa1BM OVWY4F9EPNNtUkVsttog7xHeJ6iBMwSPtyFWeAQBbMDLLrOlMk8xLXTugFGMND9l69cU 4LjolEkTH0sFJFZNLYvdgzDwfNkvkaxNKxascTtL6YNK37uAZdUxDKS9VVALHLzTj00w m3VckXRe15ydsCURbIh3kuFYlk3aTa+AMKmbLOaGXOmNYtUjQX3gPXBMNOAmBiUQmx5j DJQ20Nk53PPMM9w69GroMHny5ejSJ+fk3L73c/AuCA7MiyeBDZa4VOO9UIMg3jB8UqTi NYMQ== X-Forwarded-Encrypted: i=1; AJvYcCVyQb9eX9Zg+DrNbk/w4iD5enWbghfWVGOyo1tj2FpIAXvMrWiJ0zx/VWY+fl/wUhWBQywmhGffkA==@kvack.org X-Gm-Message-State: AOJu0Yw0jqOtfod2+ByzMCnP34rHzpAYBhMV4xcSlcJAuohkOu4eOfdx XRpMVZOyoxIryUBgqK0fjJCz8DFtAezEPJEV433632u5GNmkGJDlzaxAuXFQ3U/eIlcHHL+QLQ= = X-Google-Smtp-Source: AGHT+IFuB0YnKL6kUm38tBS/6LJDBkvMlWqrQgPpMVTZtzFsku07rNUNUVUMU/c13cdgLnKM1DZebVk/ow== X-Received: from wmcn5.prod.google.com ([2002:a05:600c:c0c5:b0:43c:f316:abd1]) (user=tabba job=prod-delivery.src-stubby-dispatcher) by 2002:a05:600c:3d85:b0:43c:f6b0:e807 with SMTP id 5b1f17b1804b1-43d3ba30defmr34291435e9.31.1742314712952; Tue, 18 Mar 2025 09:18:32 -0700 (PDT) Date: Tue, 18 Mar 2025 16:18:18 +0000 In-Reply-To: <20250318161823.4005529-1-tabba@google.com> Mime-Version: 1.0 References: <20250318161823.4005529-1-tabba@google.com> X-Mailer: git-send-email 2.49.0.rc1.451.g8f38331e32-goog Message-ID: <20250318161823.4005529-5-tabba@google.com> Subject: [PATCH v7 4/9] KVM: guest_memfd: Handle in-place shared memory as guest_memfd backed memory From: Fuad Tabba <tabba@google.com> To: kvm@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-mm@kvack.org Cc: 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, tabba@google.com Content-Type: text/plain; charset="UTF-8" X-Rspam-User: X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: 55B5CC0013 X-Stat-Signature: 71uax8i65ase47gbjw6tmi9ng84q4yki X-HE-Tag: 1742314714-101115 X-HE-Meta: U2FsdGVkX1+2/Q82WRmEKeR5yAQ8Yvja0WzxPer/uWtBOlAhJiDMl2dd+pXs4lMAfes4nYnBsWeq+6euL0JLLXKtupKivLUueoucgfIFZgHrKzDRKlEdQ/DdNgonZMNwMMW+gPN+URrrGoejytLaz9nVk2IqtWm88zla5HBjLiRCYZvUTI/L9br+P9EtKv73g/v2tHem+m1mFZ/3yw6pA/zANAJTDAYZgmF8K2HLxPDKmqAWJbL9xWEc8Fe50VJ5G3BXp0Z3Rv7ew4MA9cNoNWZF5oJ1ZcyU+a3LwsoaFb+otChx/O8fLWnXG9gm7cFyL0vv0Ob8OUa+M24lCQkRev0HjJ/6nfVfH57EGoHRvmGQU8F5xSQPtKBUvW6SGUPiPVT6xlnZ/jYjJ9iOUPI6vwSEwCMeTD9JhkqIdgKgp7cQivOKY4RtmPwq72XwUtbvLw0j9tyWBJS/T+65HJiPaVMU06Y8irSk3vDAsz5RTsmmfTeAAFXI8ymGnzr7T/1UJrSRcnqxUTTzixXgGmZtdI8Y63z/UDWS9plZK+VBmLBjlLC4KfLppRFGpbZIlLoXpZtUgk6FNYVRXDBxRLkgmF86DzHxDtmgI+me1aHi4l4eFtv6GzNS4laSFuYQeJ/8RIoEQZXeqroeHE/9hexmoYmCEe2sfdenU1UqLG0H9qeEhDabE3IFiPVGjQQ/SXmMLdz8pBFz1aWh+klui3XfSii877Z6H/YwIV4UgGamzTET1p8f8n+tUa3gh9B84BUsfSuCfgCgulAOa2br8LJT37kCb9QZuN6UzK2XMnl4pYEZliQdQG0gs9Gd3RtaiV2Xyy7Dh7ir6qNebtOW+1eCVSG/zzpmh0bCC+9s3KzzwsYdfbghqEJXJNGzdS6R29UWR5rzogTp4Zj2Eu8U8kq6qa/Rys/gZrK6masWc0XnsbK5QvBZoX132AcCOLcOE7hTD8qO62A57jdVz+Falzj LqlEShPP X9kuwunIQrTgnBui1TCCqUFAV0XnYwMrN3khKU1Sbe/j3wvCGiMYNrHYl4MPSYOgl16LVyJerZ6e2XcZAZnkjH2BA8wCtQ9pz3fVR0mKNEhAcx16kWWT3EYca5P7Ch6eALcLfeTKYPs/gB43cakCfh73thmT7uY5YQovdqQnaF5zDylfMqIpkMCXZZ1SO/gwobyoPWd1Vjt+2AkAqiDfWrePirBHYZGiRBGnBOm/NI0QflsQoNYjzr2fWswQONaxy2lEdUs0ldcaT1DtkOnNe5p8Ow4x16v5PwuOld9J2kyhQV9Z+ptwubvQsYYRuxxw/4O4onmjfWfpl+ENjjRkSFqz0rJK7zU5G6AidnJRiN02MMBmyKJaget5lB8fcVZRa47JckVj4Q5xf+mhPiVCydL63+jeEn5SYBVrnfAJIemvws2DUuG7ZqvLeWbtnt8GT5u2rv1UrXpCWNhWhb46yv4sIa/UHsf7qtzkQe+SxquOpCZoz5hinG2FjOQY92VAdGtLp8O5/BxPVmdl2+dQ8giYzjDzB/QMKGv6BFshpTYrTae9SV+PXTOwx8G6teWUGiBQg0EM7F0C1gYWNuwNj/L4WtbpEDfcxjssauLlyl2XpiO8I4zVIwaK4i/TMIdm9SNY+TOHPnwEkrLtYL4+TlDpxDg== 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: <linux-mm.kvack.org> List-Subscribe: <mailto:majordomo@kvack.org> List-Unsubscribe: <mailto:majordomo@kvack.org> |
Series |
KVM: Mapping guest_memfd backed memory at the host for software protected VMs
|
expand
|
diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h index 601bbcaa5e41..3d5595a71a2a 100644 --- a/include/linux/kvm_host.h +++ b/include/linux/kvm_host.h @@ -2521,7 +2521,8 @@ static inline bool kvm_mem_is_private(struct kvm *kvm, gfn_t gfn) #else static inline bool kvm_mem_is_private(struct kvm *kvm, gfn_t gfn) { - return false; + return kvm_arch_gmem_supports_shared_mem(kvm) && + kvm_slot_can_be_private(gfn_to_memslot(kvm, gfn)); } #endif /* CONFIG_KVM_GENERIC_MEMORY_ATTRIBUTES */
For VMs that allow sharing guest_memfd backed memory in-place, handle that memory the same as "private" guest_memfd memory. This means that faulting that memory in the host or in the guest will go through the guest_memfd subsystem. Note that the word "private" in the name of the function kvm_mem_is_private() doesn't necessarily indicate that the memory isn't shared, but is due to the history and evolution of guest_memfd and the various names it has received. In effect, this function is used to multiplex between the path of a normal page fault and the path of a guest_memfd backed page fault. Signed-off-by: Fuad Tabba <tabba@google.com> --- include/linux/kvm_host.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)