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 0B506C369CB for ; Wed, 23 Apr 2025 22:07:11 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3062F6B000A; Wed, 23 Apr 2025 18:07:10 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 2B4A56B000D; Wed, 23 Apr 2025 18:07:10 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 17EE66B000E; Wed, 23 Apr 2025 18:07:10 -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 EC5286B000A for ; Wed, 23 Apr 2025 18:07:09 -0400 (EDT) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id D7B9759609 for ; Wed, 23 Apr 2025 22:07:10 +0000 (UTC) X-FDA: 83366695020.29.2E612EC Received: from mail-pf1-f202.google.com (mail-pf1-f202.google.com [209.85.210.202]) by imf05.hostedemail.com (Postfix) with ESMTP id 1FEB5100003 for ; Wed, 23 Apr 2025 22:07:08 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=g8XX7Y9H; spf=pass (imf05.hostedemail.com: domain of 3i2QJaAsKCMAgiqkxrk4ztmmuumrk.iusrot03-ssq1giq.uxm@flex--ackerleytng.bounces.google.com designates 209.85.210.202 as permitted sender) smtp.mailfrom=3i2QJaAsKCMAgiqkxrk4ztmmuumrk.iusrot03-ssq1giq.uxm@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=1745446029; 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=utY/3ZiZMMWfdAOVaunsuvsNTPOFiHttGwR5vylAKHw=; b=VZx7jd4Pyh1+exPo9TtJPLI16zYhiDs7FxE94gSHletDVFawnAWSVMFTgus9VeIWF1XR/7 OLieNcuJmFBtClGy7YfglNxWFpetS3yEy5Eg+kOOuRT1NSarqlWCB0GT2W+3NAMMKj/p3+ j2482D07na/BXUmck5RcXFLHgqhpiQI= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=g8XX7Y9H; spf=pass (imf05.hostedemail.com: domain of 3i2QJaAsKCMAgiqkxrk4ztmmuumrk.iusrot03-ssq1giq.uxm@flex--ackerleytng.bounces.google.com designates 209.85.210.202 as permitted sender) smtp.mailfrom=3i2QJaAsKCMAgiqkxrk4ztmmuumrk.iusrot03-ssq1giq.uxm@flex--ackerleytng.bounces.google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1745446029; a=rsa-sha256; cv=none; b=4ngQaGvBhzKnwHPOp0+Th5HgoQg0X8Xx68NQ9VDzqe2OzX2e6WQZ1zO7M0EyOGrkIXVdad nc1sQoEdPaZHzJJS8FgAQq2OoafYTRSvAfRBACphzEL0gti1snQ8OiGf9UiGIfUVqKP+ku hly6QAh7LJn3hWRwGDUI7nizVv9xNQI= Received: by mail-pf1-f202.google.com with SMTP id d2e1a72fcca58-72f3b4c0305so292941b3a.0 for ; Wed, 23 Apr 2025 15:07:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1745446028; x=1746050828; 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=utY/3ZiZMMWfdAOVaunsuvsNTPOFiHttGwR5vylAKHw=; b=g8XX7Y9HyBwh0REZgvF+uaLH/vw8K2MyPrvxnKwAgjYNV2bwe7yUoxc8iug67Hyvgq ibBau1dy4HGjYAXa9nbTLxAomw8ClGayywoLGKi2JOOBTzltacEBmlYplxhvQ+LeynfU F5CC0DcUx2rf00KkQ3ijw196D2EIxu+9Zizn1E4T1m2oRl+Kgg6MtK3B+PyP/99F536k tg3ObYuH2UZrWY17FhUTsUO2kr4w2K17VxdJgr7JLpMDG8SJnRwuFY0kgCYMc4klmX/Y x/U92t/2YHTEX3HEczQXT6BUT8omwBI57cUgpM2Mxr4tYv9nEqvpROBikuUMYCCK5UUL 6tGQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745446028; x=1746050828; 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=utY/3ZiZMMWfdAOVaunsuvsNTPOFiHttGwR5vylAKHw=; b=XrXNzPo9CyNfj4vMdCuGDiak4KFvJ/wP5hqJp1jZ7JIfxFxPPrhDk6twyyrF1RXqBR QKSJfWa9tutvZ+1rNAx6LVwDhWNLdMWR0FK7Nqj3nfOawCFEPNc9e8dc3m1FwWLngEMG GiIvnZooOF8GHnPttHGkcmUlAFcCbJ8cRfUL5UvIh49YpzDk2zUGyP4cKA3VlIwtY3Zf 6I7AM5AYgrshPcTC+umlzp6kw27W72yDvxkcfeGBFnpzNBjrZFJUmaYij+VRLbkRSHEI 73vrRLpEHlkuwH9l7x/LhJ5IkSRz0ADJc4tkZTgtR7PKauC7q43BXrEo59sw4vN5BWRT mqJw== X-Forwarded-Encrypted: i=1; AJvYcCV0FIjVRJuU95sY6u1w41G1/ObxETB0+OL7h7WRQEypOg1ZwJuJ4ZbtPY+2EcZKmitebj3kNMHX4w==@kvack.org X-Gm-Message-State: AOJu0Yxju/W9bu+jm862JUzBYP9wxZWVXzNRS9MLZ0XtaLtdpkyha8lH /VsvvzIeVtyPpwmb2leIAa9QeDMeDjy3BQBFtrxfS9TZVSgXfcPA4nXJYestvaUNAF2Fp1yCIGn gwVLQ7bAbLPNv9BWl323PxA== X-Google-Smtp-Source: AGHT+IGY+pnHq2DQX/HQySosr6MoIfIEbH4ov9YBubqcg0pcHfTCmXDOga+QBFHTjyVSBCstaBHNJFn3Q1wqnKPotg== X-Received: from pfx55.prod.google.com ([2002:a05:6a00:a477:b0:736:4ad6:1803]) (user=ackerleytng job=prod-delivery.src-stubby-dispatcher) by 2002:a05:6a00:3018:b0:736:4e02:c543 with SMTP id d2e1a72fcca58-73e245e3bc0mr500238b3a.9.1745446027829; Wed, 23 Apr 2025 15:07:07 -0700 (PDT) Date: Wed, 23 Apr 2025 15:07:06 -0700 In-Reply-To: Mime-Version: 1.0 References: Message-ID: Subject: Re: [RFC PATCH 26/39] KVM: guest_memfd: Track faultability within a struct kvm_gmem_private From: Ackerley Tng To: Peter Xu Cc: tabba@google.com, quic_eberman@quicinc.com, roypat@amazon.co.uk, jgg@nvidia.com, david@redhat.com, rientjes@google.com, fvdl@google.com, jthoughton@google.com, seanjc@google.com, pbonzini@redhat.com, zhiquan1.li@intel.com, fan.du@intel.com, jun.miao@intel.com, isaku.yamahata@intel.com, muchun.song@linux.dev, erdemaktas@google.com, vannapurve@google.com, qperret@google.com, jhubbard@nvidia.com, willy@infradead.org, shuah@kernel.org, brauner@kernel.org, bfoster@redhat.com, kent.overstreet@linux.dev, pvorel@suse.cz, rppt@kernel.org, richard.weiyang@gmail.com, anup@brainfault.org, haibo1.xu@intel.com, ajones@ventanamicro.com, vkuznets@redhat.com, maciej.wieczor-retman@intel.com, pgonda@google.com, oliver.upton@linux.dev, linux-kernel@vger.kernel.org, linux-mm@kvack.org, kvm@vger.kernel.org, linux-kselftest@vger.kernel.org Content-Type: text/plain; charset="UTF-8" X-Stat-Signature: dj1qse6riys5bxdwhozkx8htjrg7crdu X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: 1FEB5100003 X-Rspam-User: X-HE-Tag: 1745446028-890265 X-HE-Meta: U2FsdGVkX18y4AR+r5MpsApw/hejNyxtfXQFM3my1kp00xlY5IjMEIBQE25u7GoaZvdzc5msp2pU4wDu4JexCl/MJno5O9o3EfQoPtvcN7+eo1Bk1AWo7ib48Xk4gGrHu3ILnXiwt7w/M/Vib15Er5V+MRZ0V6R1SVGap1I7cGvgQ5fVm8IjbQqWQ0M8qCcMR7kYcNrizIgtm4PMv5AByJm5OiS2d6ZTFBtVlX85jO9q/+4dOM4/ZKQ4r7Wg+BvFSMafNBguIgSJ6mB4DPUN3k0qOQWMbBoy7uYp4cjgfux2ERUk5TkUPuAzaw0X+3Je1sLhIHWQbbgeyEeZlyBIkcpjp3gM6DUrRwCkYK1f8K4IVp/1OJRlrrSK8nrAX+9tam5K2jCpghKSAfDz3O6awZc7IcWN5IZAIcXpRiq7+apl+rB671iVAPeety0OHF4F5nFMCjiHkspfH5fUNk8qRvkThDPfElDBPSDTDMV8VdiVu5DdqzvZPT8dRjIKxuoXHbXiviYaKrAKS2OdGuOqehw80fMl72KGQ8Zbluwew1oQ9v9FqMbj9pv8QH6DVFTg528DMZlF0EJS0dnY6Qlol9OEFw3Bpi9q1A+8klMMkT8G+6bnZOiLR13EgFCuQ9sGujY0V7XKSWd2YI1O6HCstWFpeT9Ij7NMR/B/5nHkfyF+RaM16v/e53Sdt0bEETYQATEoeRibdmchzmFXHtp/PbpatXtMM6ycu0Dam1oJv0ujYNLARjuqSBTJWoV/gfk3c6+JSTmRcdxH+7jGvWa0h7800yIqTxsqYxJbA4StaXS1IGTIrIC06IYh1dS0XAbS6dcAqZ/v2OcV+YJzQuHfN1rEyVY3ZW62P1nrlUrbGvm7H/aAdhmfBSGmtJyO8mt+WtaJk2dqBuV4nvN7luvBtWK/ZPYYGTm9GwE2Z7E0HykwBTnj8Z7Rvb16ErVXmIPhSc9r+tcMxhd4OfrNMc5 keI9wGhF ZIAC8S+nAa1HDXPzFsgYS+Wo6vbybdekzPJc+gpTDFoSW1BuRn+LPIEuAqqbH5YJzjnpbVqP7unlG+OVOnsRSwaZUdI3oGdBRMYV+9fJqDg54+/fS9KMRNnw9xctMTsTeQKw2k2GVVjdvR4zsxYWtJwDJi+ccxRq6xXBiMgaLfFUBTmlFwXarPSH1vfzkmquSFXS3t5Ln0qq0yZ0peXDcxWQ0URn5W/E0xIGmYtCHYS9/R3O5cXb7sUa+SGcCrHgIAK0v7REictUwarAYMAs06OgFeeoXBBosPTXJ6gt7UoJYhv1GsLXWcbSjjkUMQuInTkMfExc7l7QvZFveEacORfPNDjVp+RUQDSu6ZCJkx0iteEGJ6JB/y+ZLO+02koMpPSX0o69hlcoTG07YDVbqpdZRLG1DaHeH//I7olsxNIqqMzimfDrxvDZrIRK/EkmzHbqSg9OOpF9Mf8f6XwZalZd4qFQJo/OTXzGLnoD5aqCEAkN4RM/tEech2f+GrMrOdSGmr7U8zO6u7OB3wZ4knZVj8ErgUZ6zZgjXW7j2Ij6++/2kTf941rWOOiYSh+mFTN2eTkRXS+xz7sjmTVFyhb8mzv74Esi0fd3DEiJwfcLmP7v0JBTIDV2wDQca+CCIIFbqGr3KDwFb1hvNVQz3zwGMeIeJmWK4PCMN5EjDs1nUIZ7Oi4pL+PcJuQ== 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: Peter Xu writes: > On Tue, Sep 10, 2024 at 11:43:57PM +0000, Ackerley Tng wrote: >> @@ -1079,12 +1152,20 @@ static struct inode *kvm_gmem_inode_make_secure_inode(const char *name, >> if (err) >> goto out; >> >> + err = -ENOMEM; >> + private = kzalloc(sizeof(*private), GFP_KERNEL); >> + if (!private) >> + goto out; >> + >> if (flags & KVM_GUEST_MEMFD_HUGETLB) { >> - err = kvm_gmem_hugetlb_setup(inode, size, flags); >> + err = kvm_gmem_hugetlb_setup(inode, private, size, flags); >> if (err) >> - goto out; >> + goto free_private; >> } >> >> + xa_init(&private->faultability); >> + inode->i_mapping->i_private_data = private; >> + >> inode->i_private = (void *)(unsigned long)flags; > > Looks like inode->i_private isn't used before this series; the flags was > always zero before anyway. Maybe it could keep kvm_gmem_inode_private > instead? Then make the flags be part of the struct. > > It avoids two separate places (inode->i_mapping->i_private_data, > inode->i_private) to store gmem private info. > Weakly-held opinion: I think the advantage of re-using inode->i_private to store flags is that in some cases, e.g. non-hugetlb, we might be able to avoid an allocation (of kvm_gmem_inode_private). Does anyone else have any thoughts on this? >> inode->i_op = &kvm_gmem_iops; >> inode->i_mapping->a_ops = &kvm_gmem_aops; >> @@ -1097,6 +1178,8 @@ static struct inode *kvm_gmem_inode_make_secure_inode(const char *name, >> >> return inode; >> >> +free_private: >> + kfree(private); >> out: >> iput(inode); >> >> -- >> 2.46.0.598.g6f2099f65c-goog >> > > -- > Peter Xu