From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-qt1-f170.google.com (mail-qt1-f170.google.com [209.85.160.170]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 41709378D7B for ; Fri, 19 Jun 2026 10:46:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=pass smtp.client-ip=209.85.160.170 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781866008; cv=pass; b=HmFLVmHVKNRUPExoDmP4AjAAy6NfuCE9Wv/AeEJwholTCDRKM5Tmr0uzzxclnQni/UN5JfVwEhX5Q2NpZ5eGN8pVI5CNyrax9Of6kVrYYStlPZsIY51iSctGJPayyM/NlnD+w/HqgMWN5KlM/b9HUiWemHr/MyJl7aCvW4TKq/A= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781866008; c=relaxed/simple; bh=GBE1TgSby7J232lUKGK26nn+IlCCdnbJXDX5316EbVI=; h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=JUJtah4/Gkw6xSZ3x2U5hbN/kqPIVa526jzsx0pbvCZNvsT7oQBorgiPO0DzPnnC4rZfLWa/501ItgCQrA7k6FatTLpYwXoS3eGPu+7TEcq82jCkCPNMVHRNQqgJhgCzR3grVTDrobuNFGA8QV8DKscLwqrIU3JQEP/wcOrT2fo= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=U75CQJbP; arc=pass smtp.client-ip=209.85.160.170 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="U75CQJbP" Received: by mail-qt1-f170.google.com with SMTP id d75a77b69052e-51765531803so232081cf.0 for ; Fri, 19 Jun 2026 03:46:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1781866005; cv=none; d=google.com; s=arc-20260327; b=oQjmpsodPpnK+hHCOfYEQRvAYQuc8UdpMk20WqTrUXrG3alJZrUTC6gEpOx0h5Mz04 GkLBQedVN20umCdvEqkwq71qoCSZuPiKCIPCRLTYB2dEzwD7Ndbl+35ANK6is05jNFhx gYxfe6vndX4NMoscmQI2jxDwzXAC33NMIax8wveg+idHYKsRgFDyN3hz1JzALkf826tX yd9kmP46cq8ciMof4CBZxRkOv+tIgPdiWmtHpMeG77zxvNDAzWRFJZNNE2NzIl3lLuS0 465LcmY9X3vK0PT5qmc5JAqq3WVq7O8OaDtKH265lsxopJWD0tYYrAqWafJaDTZl2HC3 PeMA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=tqVqdR7eGLFAsCQYmX5JI1ornwlzeYgCHzhYfEkLeRM=; fh=SDGaqRoYPdJviG9ahJPKILXgkrefcvbOO6qClfT2e0M=; b=sPe5DqF1Z7r+roFkhhy60KpBYBcGXUrrOKC4AhTjkjShWXPfs+FqSxVoMoiFuDw6dp m/NjorEML3QZ6wNZj1kNHAGOhE7OZBckmhQa/21hyKnCPpNF/FgwH/6Yfv2gr5b6RBrv BYcRl3ijxahzZANo4jz8yd0jEUMw0gjRTNFVsB1JZdKccGOc4NBB0ElM74br1p3QXFlX iXkRHnB3SPNLRdfZelUG0v0nEeZY6DV0rdFPyGTLUriJ6HCm5mVBxE5cC1/WKSvqa6Lh dwrgNaw0jxE0CKYB4U2gq2GvdN4zbquRs+euNXKNDCHfSfZACK7xDjxMw07HWffsI11o kwGA==; darn=vger.kernel.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20251104; t=1781866005; x=1782470805; darn=vger.kernel.org; h=content-type:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:from:to:cc:subject:date:message-id:reply-to :content-type; bh=tqVqdR7eGLFAsCQYmX5JI1ornwlzeYgCHzhYfEkLeRM=; b=U75CQJbPcSNy7b3rqNQlOkqM3d9AAFeN+w9Y+3TxossyxgYPBaPMs5YymOB1n4gKgk fEjKdJv4RFKQtPh9n/tPH5u2C4dUPWhS8cieaRDcY9tSSgEuNkb03E9A2RLCFmqcA+kg Q2TvuYSvO41PrHwye+FSfBAENNXa4JUMv/GVmnCcN+r2gnmI+HXnldQVnpHtCJtcWnDN DXRz10L6pTc5gzwRTRJQ/yUvGtzmOFdn8T/Jsnbdo70Mu/AhB1wFr0G/NPHtXJkm8bWN Q9dF3ArHPxIlJy2gGqv6ryeGx+XhZ82IXM3bnz7n6pJylDpY6qQuzbseg7375z7kxqr0 mk9Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781866005; x=1782470805; h=content-type:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to:content-type; bh=tqVqdR7eGLFAsCQYmX5JI1ornwlzeYgCHzhYfEkLeRM=; b=dijzqDO2cu/r20b4+6RaynW31e+3Ztf4S7CRdqMV0Ia8bBoS/e3KAYVZD8A7nEqC4L qxaWaQb+xOb9VWcFVImTbpl8yqxmW+HWM2W7SUxP3RRNnUd7p5s96v/piSBksCkML3yC +wVvXlUd4xHskHKt2KjeoHPe8+qyzhBJW0ao5zGMeRXD/Tm7Z6crNo1S9lpy+TUTzkcM JdxlbUhFjCoWmaSRRhovZQFb0uo0Eu0eOe99k1HX5c11HaaQhq3jZkewYPXL/s3mrIxw ZyG266Y69m1v+E7ldBd49aGShBkhut6qzP987NBWtiG/Uz+nCZrD5pmCyrg/Ya+FCgW+ oCjg== X-Forwarded-Encrypted: i=1; AFNElJ+YFicCDC9T7h6mrnCNOjCh4osrbA2pUG4TTHXB2bC1OTHBAWeVhuJ929624PfQbgxFMvYDXvwuv8XIV+E=@vger.kernel.org X-Gm-Message-State: AOJu0Yxpe3uq10+13L5rZB7qkYD41/kQbOhg7qSt9LceOmTKrd0I92sV k8ATY4OMGSlAUM1SOZUFDgdgPz2+du0MSL1VyCsLT8/W/akbfLq3Li+XGaEMmt11G2nM3TzRoCc m2gzhmBBzilVYpwotqIYyvQsSiBmS5v/F6iUZ3BiE X-Gm-Gg: AfdE7ckVjMXY+UjUB897JK8ZavuHUwaf0hmoANcQXX4tWEED/ObZghM8JJiX3+LOxfd +IW7ibDH1gugqjWOAUjB/g/elwyRHmU/QPaaO7WhYTu3hg0+/gmJ9Z5vFteLrQWz0iNCVrzNVR0 vws2+vEOEAeKTkPLrviOQ2oYKliWYd3dXjtnVUj3PM7lLc1z+PpEw4TQLGPaNBt0EN4ujRthO8X B1lX3dnLKscxFqfbi66OBQWEpJu1vxeMweB2j0bbsSFv3uVvegg9afP2p7E4LrSNFnD08BG8A== X-Received: by 2002:a05:622a:1b1d:b0:516:3def:1cf4 with SMTP id d75a77b69052e-519e877e8c5mr5598281cf.1.1781866004326; Fri, 19 Jun 2026 03:46:44 -0700 (PDT) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 References: <20260618-gmem-inplace-conversion-v8-0-9d2959357853@google.com> <20260618-gmem-inplace-conversion-v8-19-9d2959357853@google.com> In-Reply-To: <20260618-gmem-inplace-conversion-v8-19-9d2959357853@google.com> From: Fuad Tabba Date: Fri, 19 Jun 2026 11:46:06 +0100 X-Gm-Features: AVVi8Ccyp37Iml659Lz9n-v90nTTG1Iev3H81NTyrRm5pUpcj70uW3l4zFQ5-a4 Message-ID: Subject: Re: [PATCH v8 19/46] KVM: guest_memfd: Use actual size for invalidation in kvm_gmem_release() To: ackerleytng@google.com Cc: aik@amd.com, andrew.jones@linux.dev, binbin.wu@linux.intel.com, brauner@kernel.org, chao.p.peng@linux.intel.com, david@kernel.org, jmattson@google.com, jthoughton@google.com, michael.roth@amd.com, oupton@kernel.org, pankaj.gupta@amd.com, qperret@google.com, rick.p.edgecombe@intel.com, rientjes@google.com, shivankg@amd.com, steven.price@arm.com, willy@infradead.org, wyihan@google.com, yan.y.zhao@intel.com, forkloop@google.com, pratyush@kernel.org, suzuki.poulose@arm.com, aneesh.kumar@kernel.org, liam@infradead.org, Paolo Bonzini , Sean Christopherson , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , x86@kernel.org, "H. Peter Anvin" , Steven Rostedt , Masami Hiramatsu , Mathieu Desnoyers , Jonathan Corbet , Shuah Khan , Shuah Khan , Vishal Annapurve , Andrew Morton , Chris Li , Kairui Song , Kemeng Shi , Nhat Pham , Barry Song , Axel Rasmussen , Yuanchu Xie , Wei Xu , Youngjun Park , Qi Zheng , Shakeel Butt , Kiryl Shutsemau , Baoquan He , Jason Gunthorpe , Vlastimil Babka , kvm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org, linux-doc@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-mm@kvack.org, linux-coco@lists.linux.dev Content-Type: text/plain; charset="UTF-8" On Fri, 19 Jun 2026 at 01:31, Ackerley Tng via B4 Relay wrote: > > From: Ackerley Tng > > __kvm_gmem_invalidate_begin() and __kvm_gmem_invalidate_end() actually do > not specially handle -1ul. -1ul is used as a huge number, which legal > indices do not exceed, and hence the invalidation works as expected. > > Since a later patch is going to make use of the exact range, calculate the > size of the guest_memfd inode and use it as the end range for invalidating > SPTEs. > > Signed-off-by: Ackerley Tng > --- Reviewed-by: Fuad Tabba Cheers, /fuad > virt/kvm/guest_memfd.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/virt/kvm/guest_memfd.c b/virt/kvm/guest_memfd.c > index d163559da0235..d72ecbfcc3144 100644 > --- a/virt/kvm/guest_memfd.c > +++ b/virt/kvm/guest_memfd.c > @@ -366,6 +366,7 @@ static long kvm_gmem_fallocate(struct file *file, int mode, loff_t offset, > > static int kvm_gmem_release(struct inode *inode, struct file *file) > { > + pgoff_t end = i_size_read(inode) >> PAGE_SHIFT; > struct gmem_file *f = file->private_data; > struct kvm_memory_slot *slot; > struct kvm *kvm = f->kvm; > @@ -396,9 +397,9 @@ static int kvm_gmem_release(struct inode *inode, struct file *file) > * Zap all SPTEs pointed at by this file. Do not free the backing > * memory, as its lifetime is associated with the inode, not the file. > */ > - __kvm_gmem_invalidate_start(f, 0, -1ul, > + __kvm_gmem_invalidate_start(f, 0, end, > kvm_gmem_get_invalidate_filter(inode)); > - __kvm_gmem_invalidate_end(f, 0, -1ul); > + __kvm_gmem_invalidate_end(f, 0, end); > > list_del(&f->entry); > > > -- > 2.55.0.rc0.738.g0c8ab3ebcc-goog > >