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 63B41C02193 for ; Wed, 5 Feb 2025 01:28:24 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id DE9AA28002A; Tue, 4 Feb 2025 20:28:23 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id D9755280028; Tue, 4 Feb 2025 20:28:23 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C10EB28002A; Tue, 4 Feb 2025 20:28:23 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id A1EEB280028 for ; Tue, 4 Feb 2025 20:28:23 -0500 (EST) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 463C846F49 for ; Wed, 5 Feb 2025 01:28:23 +0000 (UTC) X-FDA: 83084155686.17.B2CD319 Received: from mail-lf1-f43.google.com (mail-lf1-f43.google.com [209.85.167.43]) by imf17.hostedemail.com (Postfix) with ESMTP id 5A5D540010 for ; Wed, 5 Feb 2025 01:28:21 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=pU3ALLYi; spf=pass (imf17.hostedemail.com: domain of vannapurve@google.com designates 209.85.167.43 as permitted sender) smtp.mailfrom=vannapurve@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=1738718901; 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=QynXFqkrYlZr7WYo7fE7UK6Y3PG5CrgtydXdsboPAYk=; b=75peVKVW4ExHfZNAGDyJYq46vg1r3HMP0gtPF39RO2a0Rl5OjNQyBMIEOXW4J877mQQyiu mUubOhOo1U0YMXhvBEO41LtYn8qgEN2xd6berECUveMHLUSfE+xYQ22/nuwS9kZ9LLCppx yuPxWUllhEmbhM1OrI+PTHb0gf2C8CE= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=pU3ALLYi; spf=pass (imf17.hostedemail.com: domain of vannapurve@google.com designates 209.85.167.43 as permitted sender) smtp.mailfrom=vannapurve@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1738718901; a=rsa-sha256; cv=none; b=hlm2EYrlHOKnOvb3Bp1k9LZPXOqZq3TQa/R5jjNLBx6Uz3Yj/2PhPmW2654ILFlWLxQdpT p+hc3NJRocHtqOVK0xx8jM3942n7pJm8wlmyku9mLsuoxeipvYoj/sJ+2BelDzqJoKIyV9 veEG//n3lejkEpkbJuKYn+9Nix8Zv6Q= Received: by mail-lf1-f43.google.com with SMTP id 2adb3069b0e04-53e3a2264e1so12407e87.0 for ; Tue, 04 Feb 2025 17:28:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1738718900; x=1739323700; 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=QynXFqkrYlZr7WYo7fE7UK6Y3PG5CrgtydXdsboPAYk=; b=pU3ALLYipwIWbPSkyDTB/BW8z7LPyXprZCvu5gQPUjGIge3Owb5oK56+kFdiGiTGxL 7NXfWivl2FSjFGvRO6gPWelvkO/PoYTyjHsutbKwVVa8h9uOPOlYMpvEMWmFDN+w9D2J Ocq65x+yhbzMHbefJs+Ius/e4s1JV6nSoEDfFWOiJu7pwm5t7SGDTSc9OByV/3Q2KKXH IhDJd119Ipg4QfgWFVAqRLLowUCGD1VA7w5uN1Bn4P9bGb5d42UNMGUVdRXHJl+YANeh xxxdokCsFXNKB+Wj+NnRUjVFvGLTZwvMv+5697wLrlcVSs0/Kq5pyRYuAD/toTQ+e7bE Tb9w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1738718900; x=1739323700; 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=QynXFqkrYlZr7WYo7fE7UK6Y3PG5CrgtydXdsboPAYk=; b=suaM1eM4/8vqy5+oIGYzYZJnJi9gtZ+N7vUWfeNu/oQLuPu6+Vt4wCewkv1j9+qgR4 f9ospK2KToWZHRQ3KTiSpgznZwGPW/spddNoZVacwesmeJ9H06l8NjgZSwJSk6scQJSQ ueWiAssC4RrjAap1AD20TxlNBdw3xTNOdfuOrSIb6wCAUm4hxDSPUJb7RsDtL/K10oD8 dCimcaDb3kW+8W2YnJBgi5q4yIsAXCMnOlvHgsrTbhshELcGLJyawvQKS2mjQJCkWAIY /r4jZISaNFqmeHhN/3LtZEF6MMjSn8ls6cilj12DnVCjCSyPKyHdvvWNitue/F/Jdml3 Tr0A== X-Forwarded-Encrypted: i=1; AJvYcCVco/RRpFm/eyQg/ehxJCBoImi79WXw3SltHV7ZluoFix5tbU4sxDsK3QebV0PERZy2LawjyGuRbg==@kvack.org X-Gm-Message-State: AOJu0Yyh4xKQjBocD4p1TlWZVFT5YqPN83Dh8A7YZnSnkSa9bXjtf0co PLFxOY/4U59PbzZR09LOlh09q8vCEEY7faCPKuhLWRndTv57rYvyGtQSQLFCAoa1wvlVkeY+RlL R/WsbReKLjozC+JWDDn14B3jpwIQWush3SAV0 X-Gm-Gg: ASbGncvsA+HAXhwjBVzMlaEiRggcnAajVPLC0dARz3UOTmihcA1yIh2ESuAWDa53qfO GLBvbdCO428nkIB3dQNaP3grVaHN3hESFUX+BjuhG4Mbn+npfTfZZcwivwI0wlXrLrasOvWQkBP uvogAqwn5Yjn4BjY+yrgn2mtjM X-Google-Smtp-Source: AGHT+IFNz//MlKANU68ej4F7AC0JAhD74TZStS2dB/A7UEhGn0VPAsfUnWCNxMCb1a7W8mYPnda49HF5WlF3Dj5ET8Q= X-Received: by 2002:a05:6512:3f13:b0:543:e3c3:5a5e with SMTP id 2adb3069b0e04-544002625e0mr505161e87.4.1738718899368; Tue, 04 Feb 2025 17:28:19 -0800 (PST) MIME-Version: 1.0 References: <20250117163001.2326672-7-tabba@google.com> In-Reply-To: From: Vishal Annapurve Date: Tue, 4 Feb 2025 17:28:08 -0800 X-Gm-Features: AWEUYZmxcp9mTvtnUopiY1n3kMsHQ2lIiwcawyYp02GM6Ptth0ebKagxPWYdJQE Message-ID: Subject: Re: [RFC PATCH v5 06/15] KVM: guest_memfd: Handle final folio_put() of guestmem pages To: Fuad Tabba Cc: Ackerley Tng , kvm@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-mm@kvack.org, 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, yu.c.zhang@linux.intel.com, isaku.yamahata@intel.com, mic@digikod.net, vbabka@suse.cz, 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 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: 5A5D540010 X-Stat-Signature: t3f7kbc8kc4x7e46hasbgop8jma1mits X-HE-Tag: 1738718901-276639 X-HE-Meta: U2FsdGVkX1/3zV4H4xH1XwB16WN2qjjPCwktoLNjvtUrgddpd/b1lNFoUCjr3OW8V2N3T5Q5FFSlPYR5kGIXw5ofT0b2Vh4juAGrorB8mL80qZjfWqSFEsjXNRFJSXxwLRIpAdhJi2eoTdsm7erxKLz0KvRvlFydj6vjxrD3xUx1oVumtRC/VMBotuQo8B0b+OyMRESv5MxpnjixQ0YlwCwXVgOFjeswm7g805ISQ0KvKTDud//jKJQCFs8kFzX5S0CEnkcdNC1kdInjKx1DiQHmnokcozG2okwLV7DFy8QiPL9ulfifkTnikAh7kC9wNM937ibc3giTz1LgiDghe0VzW9Odp8S6zd/9o0DQnXb22Ep4tBl/ixpREvt0oFNlIPCv4Bin2PejffWsTqsyAClO/Wa6Rj0f6fO1ryMBfui8GE3gTFs0Eu3mfHI1f88Wii9vFTCTJEeCu4Qm57K0GmFFiWYXW1ThbJiRyUENcDtPbPkJ/UQ3LrpNRBs7A6pO9CJNnSpFTm0eEAD1ySyYEKGlGrTRJqnppNVJlr9YRe111UHPY4GN1gw0OMMID5N94LjVCCSSR0IdTr3ZDNAbpshAt9A2EPZwKdtR7NFllRlkmDYKSznu4zQAFEaKxEROAl+RovxjsNuD5X8HtpnD0GQq73CGNaJg9U2xJqTRykAynS6yve0MYepu3VnVM7OAvTS9AD2C5pjDHQ2Qi1cj7nv/hyzZ5Nh9Nqpe18j88GVInP3cpRlk00ihs0BhbzgA3HZ+SKb8iOET9CpPF6NBZCNhVFgBmjR1D66WmzWo79GBY0aEyR+yXH2Q/ttkPM5TPREuH0dvY9RxvaEo1heb43Gk7bx0KglhjRY9/wKhVVsYxTHNDgLmlLoq+AUfV/cDsnO9oCszJMqEFZ3qTXyGSbQsohrhInCYZcpNXUBUawlzmEf38aI1Jjvsayp/PoFivzy1RlQBSThdJDebIoq fwnn11Hv eB4j4MhBS/ZxHt9pcUQflqk3wjIX+5d2xQ9dL6qN/1XaZ138ihCx2FtJsTqQl/mAmeiqOTZaqjFOoRP88cFU2de9zZ7Xa6znGP/0hpa63zDQOIeyomGJLzoN2VuyMTmIj6qxzWA+wE9cscogK1DR3F+Ed3yUsSwVSXtN8gxFGomjBC37Q402mg9Yr4wDmoKSXuIYxEwsImuQ0yupaHvJoeZmJwgywuACIQobCCytyPhBoigwULdh0JrcCpImLXMWxmCMEh5XkgZc7ZpHtg9Y+jI3KyLcRBCCpQQ3GgZYr9PpbUhOWa/zs6QZOfxiae+Q51oe61yXFwtXLEEssb5QpItbQMg== X-Bogosity: Ham, tests=bogofilter, spamicity=0.004794, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Thu, Jan 23, 2025 at 1:51=E2=80=AFAM Fuad Tabba wrote= : > > On Wed, 22 Jan 2025 at 22:16, Ackerley Tng wrote= : > > > > Fuad Tabba writes: > > > > Hey Fuad, I'm still working on verifying all this but for now this is > > one issue. I think this can be fixed by checking if the folio->mapping > > is NULL. If it's NULL, then the folio has been disassociated from the > > inode, and during the dissociation (removal from filemap), the > > mappability can also either > > > > 1. Be unset so that the default mappability can be set up based on > > GUEST_MEMFD_FLAG_INIT_MAPPABLE, or > > 2. Be directly restored based on GUEST_MEMFD_FLAG_INIT_MAPPABLE > > Thanks for pointing this out. I hadn't considered this case. I'll fix > in the respin. > Can the below scenario cause trouble? 1) Userspace converts a certain range of guest memfd as shared and grabs some refcounts on shared memory pages through existing kernel exposed mechanisms. 2) Userspace converts the same range to private which would cause the corresponding mappability attributes to be *MAPPABILITY_NONE. 3) Userspace truncates the range which will remove the page from pagecache. 4) Userspace does the fallocate again, leading to a new page getting allocated without freeing the older page which is still refcounted (step 1). Effectively this could allow userspace to keep allocating multiple pages for the same guest_memfd range.