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 48AC9C71136 for ; Mon, 16 Jun 2025 07:14:18 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id ACFF66B0093; Mon, 16 Jun 2025 03:14:17 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id AA7656B0095; Mon, 16 Jun 2025 03:14:17 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9E44D6B0096; Mon, 16 Jun 2025 03:14:17 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 914396B0093 for ; Mon, 16 Jun 2025 03:14:17 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 225EB1A0990 for ; Mon, 16 Jun 2025 07:14:17 +0000 (UTC) X-FDA: 83560400154.08.A4843E7 Received: from mail-qt1-f179.google.com (mail-qt1-f179.google.com [209.85.160.179]) by imf30.hostedemail.com (Postfix) with ESMTP id 4A4B880005 for ; Mon, 16 Jun 2025 07:14:15 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=Puu+bWRV; spf=pass (imf30.hostedemail.com: domain of tabba@google.com designates 209.85.160.179 as permitted sender) smtp.mailfrom=tabba@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=1750058055; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=G4dscraCi99Sxb2AdbSI/1exeAb4GQbHQ2olocOXtjo=; b=4Vi+z9yFaQ3+w0QotjzI1vClbal6pQNCaQtdgferHFGU/zlj26jolPnD7Eeto2zI6aGj0C sUYN3NhZReKQP0OIpJMI4A9YWt6Sol30SSReIZSssasczjARkxw2YTqPstC2up1HvMOFML rFrX98lfcZ560usORxdj6jpZQQUPXNU= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=Puu+bWRV; spf=pass (imf30.hostedemail.com: domain of tabba@google.com designates 209.85.160.179 as permitted sender) smtp.mailfrom=tabba@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1750058055; a=rsa-sha256; cv=none; b=WjGnO/b9nbw6qh6AOvB6CU7fsijfIZ7AGytZlrsrD7SWVCrFWLjSNo9/nsFJU1BDKpD1SR oGVE/0KJOrXER6RzztAddstCKXtzrLOi9tn364fhgyE3xJKGLmpktkJk1FjHZWkHn0A5lD wSJpIhDo12OdSOhsM1HDlvd0tI6YxHI= Received: by mail-qt1-f179.google.com with SMTP id d75a77b69052e-4a58ef58a38so293501cf.0 for ; Mon, 16 Jun 2025 00:14:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1750058054; x=1750662854; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=G4dscraCi99Sxb2AdbSI/1exeAb4GQbHQ2olocOXtjo=; b=Puu+bWRVVtEFnExWs9JlzL0RXz8V9+E9MFy0+gG0MCHC+smkwMl8AUU4a3hPnUMHTQ ZgptTmkWdzXSn4+85ZR7t3V1SVZcbm8qeA7shkso3m6D2aNJP6rw/TrfBSwfdYx7CHCO lZIb/lpPFauu/q0CUfSpYT8zAvJrNRai12CuRM45N3lGa0vJH9Jq7bm0oJ1hujZtxwZN f8KE3MkFiVWczDgihGroPwQFiJu9D8Gn1R602hVyTYYjD80vuMNYRZDSYSzNrBqOg6uw OahHJBRULH4CAt/NMJazNd6RQaOZOqjvNmqcDNLw1WcDWoJrMuwkNoKitxouzUQWMJ03 Luzw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750058054; x=1750662854; h=content-transfer-encoding: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=G4dscraCi99Sxb2AdbSI/1exeAb4GQbHQ2olocOXtjo=; b=w6GBKdPzA4ZV+xzItHpdlsjBDfhszH0B1ruanTxFNN47ODH4vpzWHXaxLdBDwp9E54 wyy1DHQpIiLFHJlTryeqpQGuUAhXhhu39CM5n4TB0dMgLUBi+zaCPjP8Lr5OIOSs8n+K MP8Tc6zkcMW5K0k4B4A9WbjXAhTP0i0lrZb+VFFLmf6mAGoxYEiyTed2/jISdFTUA4PP qQIC3hj6v1IEooRVmno/fEuvk7lgwEP/eO5B9p2WZZzrlZxuA7Stv7jn663Gl6QYVqRZ gU/zLnhtt8f3nlpxoxVIGljExArc4wqcl+HlhPYr1Sliim1Tf/PUnvBYGmcAYZ9MNa/i /1Aw== X-Forwarded-Encrypted: i=1; AJvYcCU2qHN3Z99vQWgcomsilU0B4nPt+tftuYdXYyDfn4WvgYEZiyvMdbKOgPJbCTjLlrP6l9ZF1mW0Zg==@kvack.org X-Gm-Message-State: AOJu0Yyihc6BXnkBRuUJE7ts91LNkNMV3GEj7qZFiLD/f7/oR5PlQ+OM bn5pCAp8jtSt4ZFYWOrnTnn28J+MMm0USaR+XrXe+O3Y2hzlpVr1aZvJ25rJ00JiR4Cpf1Phtly wvFkbZh/MyPHtSYlARCWowK243KnIft1zGhG81f8d X-Gm-Gg: ASbGncv2lmif8W5P+RisLB88D65XzoI2vED0abjVd54FbyknNhPHaYg7AGfJaF3K7Hr JBjyA3JfZFQwNnUvc9TqkhcPKGAMYs5GV1j2/EqC11w/iBSxK844yy6ryyM1ykcUt7gxRu7X0u/ u+0VMnHUzxfX5Lw3dNiKnFHMLN3LT5RZqCQxUECsSx8Cq7FoHqI+BtAw== X-Google-Smtp-Source: AGHT+IHRP1CpUCig8F7p0iqSMmnDgYVd+hSQrG9KB86uiC6pnZNQNaE6PPvaROhLDIFwY0y51UIij5JffUL2jbFDWys= X-Received: by 2002:ac8:58c8:0:b0:4a5:9b0f:a150 with SMTP id d75a77b69052e-4a73d63d978mr5025451cf.16.1750058053808; Mon, 16 Jun 2025 00:14:13 -0700 (PDT) MIME-Version: 1.0 References: <20250611133330.1514028-1-tabba@google.com> <20250611133330.1514028-5-tabba@google.com> In-Reply-To: From: Fuad Tabba Date: Mon, 16 Jun 2025 08:13:37 +0100 X-Gm-Features: AX0GCFulb2IhkWValvX9vFqGHI2nVg_Dnrs5LCKRKWUrkMeevUaVx5iPDic8k40 Message-ID: Subject: Re: [PATCH v12 04/18] KVM: x86: Rename kvm->arch.has_private_mem to kvm->arch.supports_gmem To: Sean Christopherson Cc: kvm@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-mm@kvack.org, kvmarm@lists.linux.dev, pbonzini@redhat.com, chenhuacai@kernel.org, mpe@ellerman.id.au, anup@brainfault.org, paul.walmsley@sifive.com, palmer@dabbelt.com, aou@eecs.berkeley.edu, 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, pankaj.gupta@amd.com, ira.weiny@intel.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Stat-Signature: zkd6kz6onez4f33bcitws8isnzzne3nz X-Rspamd-Queue-Id: 4A4B880005 X-Rspam-User: X-Rspamd-Server: rspam09 X-HE-Tag: 1750058055-629484 X-HE-Meta: U2FsdGVkX1+BCzEOdhg+o0CmJs68umuVJ9FVCoV40ywSYKnCoz/u7Wr4zJHVn/g3po8qDbCSUPbM8XmZX0PvXXCd+OdJ3/lnbACRQGstAYAknbb39kjbLlGPJIEWQ2kUuz3j+xxHthTeFY4wPfNXz7RHzbXIka9KBbmP3BK1h17pbr1OlwROaytmpYOa29tFQXo+o0CqnCnHi9eoiW0ZWdWRieUrmwD3pQ5+PdTG68EpeRTPZBlbmZGhuNpE11XXNt5CNJhqFDrnyiCYkj+OJg5zGtzOhZPTrviXLT6MG5zq6rkO2PT/ZKaQlP6mmI2qxjwCaYyehxCQyccFOdZDVVvWiB84J7a+u++48gf42WNaYgPN4NClfwxaJQSUW4xeIdJfA0OlygVI0rmFKDwEwll0mxkYWuTtm3aE1fNmlfv56NjYSZQp5+eIMhd6SBEX4zrNjvvursC69CojhFYX03hER1XhuFJagpGZTiUY5ANXJgkyNT3rkQ+9PXQKtgFMISShKPU/rWFH9gkZUY7BQdophTl3CzOsZBbUy5fcERS2kodbrH1qUrMeZG6lWbI4yX/o271fS4ho6F0Ebj00IZ5T0k4kf/y/bB9K/2qhsY9I9gXQmTQzBJIOPYCeiI0XMFXrxqFAiwJlWmu8oORCQyPbU1WNgENWOVIxXaQ8crSs9iQmK1oLmZnc9SZXlFsz6lRS2SvDfnGu6aAQ3AWTtvUtmPgpObyw8s5oA19FMmLQWd3T6wia+DKM1Yhhl5UTD/AyR6Fdte1VGRTtZJyMyrU+hJyu04RvimXH/Y5kIqcTMjsU5M2cYWCrT4e0yvMjSOt6ivboOkgMb/6FoABHgT2F9jM14cxirRRbpHxyW853U08nseDDsdWXkDM+wCiaIepf+12w8b6On5xk7ELefCwIU7BC0LvZT50qZ2NmMwikenV+JNLRV9ryjuATYTIM1rx7UiZ2qUG7coI3wCh eFDDckH1 RWsb22g7Ls8txbf3tx3OtTIwddK95c23XDve7XV35qwu8CHcd8VdjGnjOEyGWPqJg0xLR1vU9Sz0h3zdCu3xFAmtZWJk+mTkqSyqCM6b7REcuRcb59PxvH+9Y+Qo1Q3HlRC66Wm+anPsOxN6H3LX0/9MUU4SpBXcj1s7UxcBXTblYD/zMydN90/8irPRLvwp2M7lLhcxTDJvpkId2iz0ZjMhtOB0+k2feiKzW6G0EUl0wJKnjom1joG6O89VBhtN6B2BuN3qUHhplG3kEMpnd4p5+yyFdC5bgHyceFyq9KL2cp/le5Z/rSpP0o/LuGaspnaMFQx07LbGyRg5NBZ4B8buzh8y9H4R5hTlPCYh5A0wn1WQmzyan2IaifSAlTrB1+V8dFtjNTfx0CrDAZUgXx69RSA== 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 Sean, On Fri, 13 Jun 2025 at 21:35, Sean Christopherson wrote= : > > On Wed, Jun 11, 2025, Fuad Tabba wrote: > > The bool has_private_mem is used to indicate whether guest_memfd is > > supported. > > No? This is at best weird, and at worst flat out wrong: > > if (kvm->arch.supports_gmem && > fault->is_private !=3D kvm_mem_is_private(kvm, fault->gfn)) > return false; > > ditto for this code: > > if (kvm_arch_supports_gmem(vcpu->kvm) && > kvm_mem_is_private(vcpu->kvm, gpa_to_gfn(range->gpa)))i > error_code |=3D PFERR_PRIVATE_ACCESS; > > and for the memory_attributes code. E.g. IIRC, with guest_memfd() mmap s= upport, > private vs. shared will become a property of the guest_memfd inode, i.e. = this will > become wrong: > > static u64 kvm_supported_mem_attributes(struct kvm *kvm) > { > if (!kvm || kvm_arch_supports_gmem(kvm)) > return KVM_MEMORY_ATTRIBUTE_PRIVATE; > > return 0; > } > > Instead of renaming kvm_arch_has_private_mem() =3D> kvm_arch_supports_gme= m(), *add* > kvm_arch_supports_gmem() and then kill off kvm_arch_has_private_mem() onc= e non-x86 > usage is gone (i.e. query kvm->arch.has_private_mem directly). > > And then rather than rename has_private_mem, either add supports_gmem or = do what > you did for kvm_arch_supports_gmem_shared_mem() and explicitly check the = VM type. Will do. To make sure we're on the same page, we should add `supports_gmem` and keep `has_private_mem`, and continue using it for x86 code by querying it directly once the helpers are added. > > Rename it to supports_gmem to make its meaning clearer and to decouple = memory > > being private from guest_memfd. > > > > Reviewed-by: Ira Weiny > > Reviewed-by: Gavin Shan > > Reviewed-by: Shivank Garg > > Reviewed-by: Vlastimil Babka > > Co-developed-by: David Hildenbrand > > Signed-off-by: David Hildenbrand > > Signed-off-by: Fuad Tabba > > --- > > arch/x86/include/asm/kvm_host.h | 4 ++-- > > arch/x86/kvm/mmu/mmu.c | 2 +- > > arch/x86/kvm/svm/svm.c | 4 ++-- > > arch/x86/kvm/x86.c | 3 +-- > > 4 files changed, 6 insertions(+), 7 deletions(-) > > This missed the usage in TDX (it's not a staleness problem, because this = series > was based on 6.16-rc1, which has the relevant code). > > arch/x86/kvm/vmx/tdx.c: In function =E2=80=98tdx_vm_init=E2=80=99: > arch/x86/kvm/vmx/tdx.c:627:18: error: =E2=80=98struct kvm_arch=E2=80=99 h= as no member named =E2=80=98has_private_mem=E2=80=99 > 627 | kvm->arch.has_private_mem =3D true; > | ^ > make[5]: *** [scripts/Makefile.build:287: arch/x86/kvm/vmx/tdx.o] Error 1 I did test and run this before submitting the series. Building it on x86 with x86_64_defconfig and with allmodconfig pass (I obviously missed TDX though, apologies for that). I should have grepped for has_private_mem. That said, if I understood your suggestion correctly, this problem wouldn't happen again. Cheers, /fuad