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 CD02DC5B555 for ; Mon, 2 Jun 2025 19:18:11 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 42C2E6B0312; Mon, 2 Jun 2025 15:18:11 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 4041F6B0314; Mon, 2 Jun 2025 15:18:11 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 31A7C6B0315; Mon, 2 Jun 2025 15:18:11 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 10AA46B0312 for ; Mon, 2 Jun 2025 15:18:11 -0400 (EDT) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 73F0D141160 for ; Mon, 2 Jun 2025 19:18:10 +0000 (UTC) X-FDA: 83511421140.21.21107E2 Received: from mail-pg1-f202.google.com (mail-pg1-f202.google.com [209.85.215.202]) by imf14.hostedemail.com (Postfix) with ESMTP id 970A9100004 for ; Mon, 2 Jun 2025 19:18:08 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=GuvcY4rd; spf=pass (imf14.hostedemail.com: domain of 37_g9aAsKCCI8AICPJCWRLEEMMEJC.AMKJGLSV-KKIT8AI.MPE@flex--ackerleytng.bounces.google.com designates 209.85.215.202 as permitted sender) smtp.mailfrom=37_g9aAsKCCI8AICPJCWRLEEMMEJC.AMKJGLSV-KKIT8AI.MPE@flex--ackerleytng.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=1748891888; 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: references:dkim-signature; bh=FJKFQqx9UM1AGUF2AcszFEpAtqC30YGJfsyhTo68y9A=; b=lNMEvzRxEaQHwZ8fqOMLisvywoVoAdaMgWx8NS7/wJjQ//T1NJSYEwWrjL2/cBByDSn+53 ALcIO42y4sSfEx/LzSxhD6UPbBe3sLJebvaZihsRf6bIt2GWAN+72ej5KIFnPliYcZVxC+ kLnAA9oSVPIwjUseWdSQVQowvjr8WfU= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1748891888; a=rsa-sha256; cv=none; b=RqCxOsT4/hNyTPOaQ/K/yAlQb1k+ie34oiszEpk1m861/4rsju+2B65I22slhVYIRgUx0m 65FxdGgJlVD0UygdUNhMHHIzLmVXbmk4oleJxJBWALZg/4Jr4j5V12ldmoh4/iC3hANGb2 AO9T9g58AUacHNgNCJLb9ZIMcttNX1w= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=GuvcY4rd; spf=pass (imf14.hostedemail.com: domain of 37_g9aAsKCCI8AICPJCWRLEEMMEJC.AMKJGLSV-KKIT8AI.MPE@flex--ackerleytng.bounces.google.com designates 209.85.215.202 as permitted sender) smtp.mailfrom=37_g9aAsKCCI8AICPJCWRLEEMMEJC.AMKJGLSV-KKIT8AI.MPE@flex--ackerleytng.bounces.google.com; dmarc=pass (policy=reject) header.from=google.com Received: by mail-pg1-f202.google.com with SMTP id 41be03b00d2f7-b0e0c573531so2917051a12.3 for ; Mon, 02 Jun 2025 12:18:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1748891887; x=1749496687; darn=kvack.org; h=cc:to:from:subject:message-id:mime-version:date:from:to:cc:subject :date:message-id:reply-to; bh=FJKFQqx9UM1AGUF2AcszFEpAtqC30YGJfsyhTo68y9A=; b=GuvcY4rdjjiP/SUleaQkjHOFsDwIUXMwfooAb2m8rRVYsr21vqHHZoCnILFe6b/+Mw JntZisN8PbEu9VA6MfTvuL5VGv83fbMcM3FrnM+nZW7HDtBaOyj9NSyTErqqcZ1HPenC m+U3ly5ecjw0V8WlAEIm5HkInjk3ptCgUJOPBPG737A22Sl5cUhPxnnmmeRGtzSRF0u3 7le2qBXt9kveZbEtpsdz/DHB2CI8J9sYEvtWlWokXMcfExwftUq3tyQzjaArNgM+pvVL Qow68eqINxaoiRdYsKPFDn5ebRUrX8Jc9p7KWOQlAWQwjOTI4UDaaTrrO/zOqW8hrlxe yVVg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748891887; x=1749496687; h=cc:to:from:subject:message-id:mime-version:date:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=FJKFQqx9UM1AGUF2AcszFEpAtqC30YGJfsyhTo68y9A=; b=jTo3rprU1ceksN6KCCFl9G95/i+rBma6GfG27KkGJK223thp3tr2yFnErNxkd6WYlF WPsTQDdCPPhS2lqxRmT3YiEyBLkYHieNG80wBvqpPoI8Lm4/07YnrM08orosuqOkBF4x Y8FMYFKm18dsaD+44MhQ1QpfXD4toKBwkD/kMvPzGZpbhdGBJ6ID2zCn4PJWHKRpj3rC cn1bUpn8kNkpjiMZTUpbmgNfWf73MX7HN22wDvvQL5YEv7Q7ARQd5OMNZl86YFMxfEQc 3ELQc/TtwBcxcRRKBRS6Kca1odQCUGKwZUf0PcVX5tnIotr0QcEse46/wU9+7FUFW+zt Vrew== X-Forwarded-Encrypted: i=1; AJvYcCUnrrGhH0QzcdO9knt3e4AxuSvSFjMJ54lsBLzgbIykkW1vJM3Sp5p5WSjyupiN0GAUvq5WYCQXYg==@kvack.org X-Gm-Message-State: AOJu0Yw34pl8AzEaGuqyvQe+gusyXsEuisyJnRIxMuEZMTS250ZzdEwu AwfDF86xCyPORwkml57Li4WJDXR/PxC9WPQOZvpBdb6YhlN2N9w0FLC9cX97Xp0fMHTK3gGtZwN bT0e8Wv3EDFt+Dq9roOJbRi1vGw== X-Google-Smtp-Source: AGHT+IGq+MKdUzduCIrTwDf5QIgX09YLMJA7ZELTYRvBBkbWv4Z283ky9bfc20mR5vbgJYZFPZLaDF55ZVFFrEdiWw== X-Received: from pgbfe22.prod.google.com ([2002:a05:6a02:2896:b0:b2e:c47e:345a]) (user=ackerleytng job=prod-delivery.src-stubby-dispatcher) by 2002:a05:6a20:7484:b0:218:5954:1293 with SMTP id adf61e73a8af0-21ad97f95b5mr27557841637.34.1748891887220; Mon, 02 Jun 2025 12:18:07 -0700 (PDT) Date: Mon, 2 Jun 2025 12:17:53 -0700 Mime-Version: 1.0 X-Mailer: git-send-email 2.49.0.1204.g71687c7c1d-goog Message-ID: Subject: [PATCH 0/2] Use guest mem inodes instead of anonymous inodes From: Ackerley Tng To: kvm@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, x86@kernel.org, linux-fsdevel@vger.kernel.org Cc: ackerleytng@google.com, aik@amd.com, ajones@ventanamicro.com, akpm@linux-foundation.org, amoorthy@google.com, anthony.yznaga@oracle.com, anup@brainfault.org, aou@eecs.berkeley.edu, bfoster@redhat.com, binbin.wu@linux.intel.com, brauner@kernel.org, catalin.marinas@arm.com, chao.p.peng@intel.com, chenhuacai@kernel.org, dave.hansen@intel.com, david@redhat.com, dmatlack@google.com, dwmw@amazon.co.uk, erdemaktas@google.com, fan.du@intel.com, fvdl@google.com, graf@amazon.com, haibo1.xu@intel.com, hch@infradead.org, hughd@google.com, ira.weiny@intel.com, isaku.yamahata@intel.com, jack@suse.cz, james.morse@arm.com, jarkko@kernel.org, jgg@ziepe.ca, jgowans@amazon.com, jhubbard@nvidia.com, jroedel@suse.de, jthoughton@google.com, jun.miao@intel.com, kai.huang@intel.com, keirf@google.com, kent.overstreet@linux.dev, kirill.shutemov@intel.com, liam.merwick@oracle.com, maciej.wieczor-retman@intel.com, mail@maciej.szmigiero.name, maz@kernel.org, mic@digikod.net, michael.roth@amd.com, mpe@ellerman.id.au, muchun.song@linux.dev, nikunj@amd.com, nsaenz@amazon.es, oliver.upton@linux.dev, palmer@dabbelt.com, pankaj.gupta@amd.com, paul.walmsley@sifive.com, pbonzini@redhat.com, pdurrant@amazon.co.uk, peterx@redhat.com, pgonda@google.com, pvorel@suse.cz, qperret@google.com, quic_cvanscha@quicinc.com, quic_eberman@quicinc.com, quic_mnalajal@quicinc.com, quic_pderrin@quicinc.com, quic_pheragu@quicinc.com, quic_svaddagi@quicinc.com, quic_tsoni@quicinc.com, richard.weiyang@gmail.com, rick.p.edgecombe@intel.com, rientjes@google.com, roypat@amazon.co.uk, rppt@kernel.org, seanjc@google.com, shuah@kernel.org, steven.price@arm.com, steven.sistare@oracle.com, suzuki.poulose@arm.com, tabba@google.com, thomas.lendacky@amd.com, vannapurve@google.com, vbabka@suse.cz, viro@zeniv.linux.org.uk, vkuznets@redhat.com, wei.w.wang@intel.com, will@kernel.org, willy@infradead.org, xiaoyao.li@intel.com, yan.y.zhao@intel.com, yilun.xu@intel.com, yuzenghui@huawei.com, zhiquan1.li@intel.com Content-Type: text/plain; charset="UTF-8" X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 970A9100004 X-Stat-Signature: dpkjw18k11rjqhedezr8be81nd1u8yo4 X-Rspam-User: X-HE-Tag: 1748891888-722678 X-HE-Meta: U2FsdGVkX19v6Qpc3HbwAwExO4aqt3m4/x1WFJLnADHRmAR6Kd6lgyPJSIKb2qFGq8cNWhc2cYJhyxf6vZNHzc+isD3lFbq40QK4dBKNLFq1aKN3h+Wr2Jo3wIRXwesUUG8lpyYu+9JvhhpcUD1o5QTaY8C8i+PgdSmgukUai0m5cvR5TxM+qIWEbc615L0rX5lIhrt1nGPBuDXurfmiy1V150WNtfSFs1qiUKbkjZFv/l7mIx9L6u9P/T+W4JeLZd2CYGR10gMEZ3XiWhT3i2+UqEUKrIVNgIYNEWasVM7oWUotZgkwjsVJyNTEO4VGsYIWYOQ7gqWzw0DUwV+qEUHFRttkWjIl1n4S064nN61d6n6RIKctqERDPSy05x8qjQ7ePPbGKJuJgHuk0kDpALpyZg+vLWRr7KbuxudjcTz66LqaI6/RiF2pZtMVV/mgkENEtbKlbfV6UoIlevIMqz5B1m1aq9Vtnmhd/7XpmmosSQg7d+CIRVbIap2i58stD5o+/GUj8QBonkcojbKfAu3pG4U0JS9OkIQFUHfcOM9DnB+2uqU/AyOPM9XXCRijpIK12nk0FybFBKPCRpNNYTyeeZOcLWm92oEWe7Q79jD/pxML+KhIavAnwArabs1YPQFdjfmWaMmhNiiIWJGOqcEUb5NSUGabOBNmcbBZpbjPME6u/P3VX9FyaGZyA+zfBeRYHyQDuNT40KeT7WryY4KtTbI1VM5DesBsRFk+Y7tc/+tJ/plOoYDLEQhZQyGQAq6XCv2baSbo77PAIuQnWRqQxee85se3mxV65i2emuZ61YoMMZq8dxU8SC2/Dm6q9KN2r7rBh1NnfEtjvbN2trAws7zRL+mg/rbm0+6FRArQVgg0COnoEfwHVXf+yWV0r6Ar7GTVbYyzyE+jmLAgadza0cuXe+gcPjlbM6fAgC5qzLdX7BJ88kihzE3UV/KArCMpRfhUkKz8ebwjvce w7gjh2ML nC5SciEhQ4ntHTeHR0mKFpmxizUSl0SF9xtgy71PK/au3nRkH+FlCRPKwkeuRFZ3ILCFz3HLF+/3zDI+Ex/Bt6FjtCLSoUaurKdJN+cxVrMpKvSfOih5KMmDi9Y8JYObeT4v0R3F3PwyjAlhu8YGAfTbOUtXAZrue5MTmetIp3BGTnG/I/h84YAQFV6qj3SPRPeVrhmZGFUXbRHj+9PNO9dOOEKL1l+DVQbX1C5ukiGHnjwTgkri4PWXH3gUkJGK08oKHxvLggPfG1fEEUWvZdz7ymdWgtRmmG0xs1K0avcQtJ5tptBp0q1llgmVJoZVsV8dYHp1a0CuhhH6yDEqjtUn8xj1k315g64CD+8RQiUYC1Nnw6Go1rlXWvr+B66plff5RlLp99nNOD+Tzvfz5rfXAjiU+pTeUTRACrWxuCzsUSuv+zs922BpCnkUXwXcY/XMSWuBJ0SFpMWT/KX37xRdDl1mKtfEYBqT8sHACpIvEqd6GoH/8fYhJCQc5PNXP4rF1T84WAJtpe1Lop2aLH3eP7QnsnMdi5mZkX+4NjW0bLB/sjQzuLuioWr/GbhG81xQk9Ja4ixTl0QI/KKQzioLbM+kRlgO/iVVPEPIkiXcDOjy4aeRu8Puh9dBtvvNtexG2a1tiFlkJsZYZ29DZz79GYHuabQyiD4+7zJOSdaVIUj1q2g+yNWBZPszqrTTFz+Ak 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, This small patch series makes guest_memfd use guest mem inodes instead of anonymous inodes and also includes some refactoring to expose a new function that allocates an inode and runs security checks. This patch series will serve as a common base for some in-flight series: * Add NUMA mempolicy support for KVM guest-memfd [1] * New KVM ioctl to link a gmem inode to a new gmem file [2] * Restricted mapping of guest_memfd at the host and arm64 support [3] aka shared/private conversion support for guest_memfd [1] https://lore.kernel.org/all/20250408112402.181574-1-shivankg@amd.com/ [2] https://lore.kernel.org/lkml/cover.1747368092.git.afranji@google.com/ [3] https://lore.kernel.org/all/20250328153133.3504118-1-tabba@google.com/ Ackerley Tng (2): fs: Provide function that allocates a secure anonymous inode KVM: guest_memfd: Use guest mem inodes instead of anonymous inodes fs/anon_inodes.c | 22 ++++-- include/linux/fs.h | 1 + include/uapi/linux/magic.h | 1 + mm/secretmem.c | 9 +-- virt/kvm/guest_memfd.c | 134 +++++++++++++++++++++++++++++++------ virt/kvm/kvm_main.c | 7 +- virt/kvm/kvm_mm.h | 9 ++- 7 files changed, 143 insertions(+), 40 deletions(-) base-commit: a5806cd506af5a7c19bcd596e4708b5c464bfd21 -- 2.49.0.1204.g71687c7c1d-goog