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 F3A97C52D7C for ; Tue, 13 Aug 2024 06:24:57 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 85F266B0092; Tue, 13 Aug 2024 02:24:57 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 80EA36B0095; Tue, 13 Aug 2024 02:24:57 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6D6186B0098; Tue, 13 Aug 2024 02:24:57 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 50E636B0092 for ; Tue, 13 Aug 2024 02:24:57 -0400 (EDT) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id EBDD8140628 for ; Tue, 13 Aug 2024 06:24:56 +0000 (UTC) X-FDA: 82446234192.05.A8FA258 Received: from mail-pl1-f182.google.com (mail-pl1-f182.google.com [209.85.214.182]) by imf20.hostedemail.com (Postfix) with ESMTP id E31EB1C0013 for ; Tue, 13 Aug 2024 06:24:54 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=iHIZb8Zu; spf=pass (imf20.hostedemail.com: domain of zhengqi.arch@bytedance.com designates 209.85.214.182 as permitted sender) smtp.mailfrom=zhengqi.arch@bytedance.com; dmarc=pass (policy=quarantine) header.from=bytedance.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1723530224; 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=vN9jGf+FzsTUtxDf0ZgtKIKQnEYaRw8xfXIl0VTvbOI=; b=f+Hvy83BrjOYbS/+oURvnKPqOA292c8lEIRjZYDo5NnbaHxAe6b0/rQUDA3pQ75TFbv4yT RZaiD/Schg1tXgU7vXOObTYNo7KQ+o8ykHtWbaL/N1NaT/VDlk2gx5hTqC25uyLlj36gl/ AjSQ4Q4LqNJWC21SGbktRdsq4PUMWUw= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1723530224; a=rsa-sha256; cv=none; b=D0OXIs0EUgH5qznplzexyebiqL5VgTOyGbZfhLD+W6sSBB4bLm77tHzoTqJZNJYCAuuNci PPf8kZB/8DYUol3HzneT3++uPrepJ+NxbHVjS1kmKIRrgQbXmh2n3si0OZK0txWcbOGBYu adlbsBxNM/dDGsp7ZxGLMUgFbi/Dqb0= ARC-Authentication-Results: i=1; imf20.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=iHIZb8Zu; spf=pass (imf20.hostedemail.com: domain of zhengqi.arch@bytedance.com designates 209.85.214.182 as permitted sender) smtp.mailfrom=zhengqi.arch@bytedance.com; dmarc=pass (policy=quarantine) header.from=bytedance.com Received: by mail-pl1-f182.google.com with SMTP id d9443c01a7336-1fd8f92d805so2470655ad.0 for ; Mon, 12 Aug 2024 23:24:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance.com; s=google; t=1723530293; x=1724135093; darn=kvack.org; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=vN9jGf+FzsTUtxDf0ZgtKIKQnEYaRw8xfXIl0VTvbOI=; b=iHIZb8ZubS8OlDM9yN5sEM7ccIawRlzJULAItG9XG9Ik4pWTb/HiqK2N4m7aGCiIy+ u2uM9og3uIQmCQqYdGp5P+6j9e3vy+jRNOO6a4Tb55I4NKCf8DKo0VdNWxTwkoXTWTBT xQJXU+X8VRs31CUBe2NA+zqXXw4A9i7+kWXADv9AE2ji7tlDZfpcWbXXJhiDhyeSzTrJ G+LG9tZFD1hwoltm2b11uLxRqXA+SFxIKYCN8ipr0CYK2r6nfbGMtXziT0hBeadYitwN +bkkl9REzwTIjS//3CBIP6LjNJ2XoC3JbrEPR4oY126a20M5cqXFsM7FAxY4O/HoBFIL DuKQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1723530293; x=1724135093; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=vN9jGf+FzsTUtxDf0ZgtKIKQnEYaRw8xfXIl0VTvbOI=; b=iEkEdx/DSOj+idEQLado2Iw6TwmuscX7IeR0dZssDhzaydhreDQ5g/lLjtb+yd1es1 MvJsug0imQtZ6ZpXGGm2R/v+VjjJbQf3mI8PNTSCD2pF8c/fYZMN0mySSdAnsLmuQQgq 9S6+WbzbFN9zcGLClQJUnbp7pW2ApHr5cbvV2VX1pRM7TTKSJZo7BcgOLRd74jl9JUIi m3DrYvAvlmj4wkfpDmaNfpxqGL1bzMxud/lyaDsKRI05AiW7VnD8tgc+aGAWZp+9t2q7 0RvKPudrQ86mt6FkJXW7NYlH1Q3k9y3Y8saAzs65aVy3BTSL1Cy807P9SaVgfNoLnMEx z1mg== X-Forwarded-Encrypted: i=1; AJvYcCXvzU//Ztt9w1dc0D/jYQYGAxBSEDjRb48mWBC4vFmVChnqyaQ0WxCrMERhO74k97Btuiu8cSZr3rANvF890eposAk= X-Gm-Message-State: AOJu0YycHGPZGJviGUcYZAZShZVw23wAXVhovp7v0nuC9uqfNBkbsvCQ 4WLL5IQepd9Cb3RrFL3CY3YiolD+1/Ww9OkQ4P8h1kzRFxxLHXzNzU4EhTs3LT8= X-Google-Smtp-Source: AGHT+IGMaDQJcFaiMoUsAvyc0AB9V8jR85MFjaQIdtfZGEbu5FCnuEU1OAJjBP/S1GY+KHqszA20LQ== X-Received: by 2002:a17:902:f212:b0:1fc:5b41:bac9 with SMTP id d9443c01a7336-201cdaf70a6mr8682985ad.7.1723530293345; Mon, 12 Aug 2024 23:24:53 -0700 (PDT) Received: from [10.4.217.215] ([139.177.225.242]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-201cd14d0a9sm6392935ad.116.2024.08.12.23.24.49 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 12 Aug 2024 23:24:52 -0700 (PDT) Message-ID: <2d8c7ddf-17be-4b09-ad99-98597d54bc3c@bytedance.com> Date: Tue, 13 Aug 2024 14:24:46 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 2/2] userfaultfd: Don't BUG_ON() if khugepaged yanks our page table Content-Language: en-US To: Jann Horn Cc: Andrew Morton , Pavel Emelyanov , Andrea Arcangeli , Hugh Dickins , linux-mm@kvack.org, linux-kernel@vger.kernel.org, stable@vger.kernel.org References: <20240812-uffd-thp-flip-fix-v1-0-4fc1db7ccdd0@google.com> <20240812-uffd-thp-flip-fix-v1-2-4fc1db7ccdd0@google.com> From: Qi Zheng In-Reply-To: <20240812-uffd-thp-flip-fix-v1-2-4fc1db7ccdd0@google.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: E31EB1C0013 X-Stat-Signature: e5hgdd7mny8k8edujy3rbe57k76e69a1 X-HE-Tag: 1723530294-7299 X-HE-Meta: U2FsdGVkX1+ILO6f3/76ItiTITQp6YqR/saHW3AJPO+/tSZDUP6YIgjiy/50i8dmaFdEfCl8oZDLfu1pFBb/Gaa5zFwZ4TPnH/yPqDhl0Q9kVznmAIq0J12mzkw3wwycfKkNcWmqvPo4ijsJTbCd0dvulRHmUx62SKWeExNSZ6yJphtSb62d8B189yH8Wej5DU5whOmyAoU+asQbCCxdtm9gwhJ+vBqx2cv7ddCorUnlfIHGxqWzkVqZEObNSH9FOlMEpQKJdTHiFB8CmZfOwANDFEbLr03HzVvvK06pHXX1SMqB8IKRCCu50ifRiGSnEq5dsB0pD8jJZsTqRCD0QlvqVdvuHqlM2bRJc/Neav7Az7sgwTbRJLzi50B6SEElcqGPFXFeuDTReLtVzuSrcJEwODVWg9JQZ+llAkyk014yfuBiggEMT3F7p9N1dDJhfp5CiAUnJdhbYu3306f+Q8HfM/I4wC2K0aWw9tu5ha+PWYr9LJkHgGFYZq823lr36znpdLbCVlOAq6U05VdUgX4oT+g5fakTBTVsnncmT7tOLHMbAeWXdZiH2F5EOyqg5UFi0vrLK/9kx80sG0oAfXBOEvRWSrpmmMgYyltX7fSdwpHdPO2xUOa1myB4DrwPY0cHw3NaqtNVB/d0WhDAZE2j+zFlOB3MhMK5IUGeKw7CJBDYKqIkjudbcUCZ5nM8D4rVTyQ6b+w7v92SV1AzmAuo1WjWPs0fG85aSfwBrdfpCm3P+ue2HZTZMh2FAENSZo6bKytP4naYj1xC5pZAHXixIwIwT8U5bLjphdrVPEElJUPrm9UdoXmmdyw6j12vo2J77WyObnYs6+2AiYv2FELSAEyxdeUwI76/5DLv2RFy8MouUEUlo6+REiEEF8u+htwI7HRiMwB1RICb9pOK+vViu5SahySR8IldhI7ZrKLUzXA9yvS9aKvju/sbylCW0bzq/b7DeBpV30+3qHm meAQgjF2 huQmV0MTkB5/C8xpFVuzn2MfBEKHZ86fIqWXfUVcZy+21Sv/MeMI0Qm8bOjFMB2NPLcXVuVQStMqYimddD2nLYN7S0Kr5Td4WN6bNyRk8gGqWH1nAwUrKR9S+WrGTSkzvoaTgtCO4XucgHx7FCpzGsyWt2rSxvJix71TrmTR7AUXRbeSLL0HEqM9jLxR5wyx6+qvjly5Tyq36LoBWv9uOC7r9I1+1tV4Pe3g1zONj/cMLsx9RzQylMhDpIg7yGfaM9z1rirW/SOOS8yiIIX/SiwSEKW2ownMaCK8yY0PCcveESXGy+RliBWykhzYRxDz4DZ3rqeF4H09t3zLEPUhh7/J7z64NT01Iq0UHTJ80Q3oOXuMLIXKUyPysME7736388RHxgBT+TbpyTFam5ExVfM/nYvBo9fV3uD/lvOQrfIsBgn2B5ZHHMSWBWoYVJkZHih02pPwmL1R1CpLRyK6ihtg0FtGFR3BhbTJXKGkhOHa/jh19bxR1yqeWzA== 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: On 2024/8/13 00:42, Jann Horn wrote: > Since khugepaged was changed to allow retracting page tables in file > mappings without holding the mmap lock, these BUG_ON()s are wrong - get rid > of them. > > We could also remove the preceding "if (unlikely(...))" block, but then > we could reach pte_offset_map_lock() with transhuge pages not just for file > mappings but also for anonymous mappings - which would probably be fine but > I think is not necessarily expected. > > Cc: stable@vger.kernel.org > Fixes: 1d65b771bc08 ("mm/khugepaged: retract_page_tables() without mmap or vma lock") > Signed-off-by: Jann Horn > --- > mm/userfaultfd.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) Reviewed-by: Qi Zheng > > diff --git a/mm/userfaultfd.c b/mm/userfaultfd.c > index ec3750467aa5..0dfa97db6feb 100644 > --- a/mm/userfaultfd.c > +++ b/mm/userfaultfd.c > @@ -806,9 +806,10 @@ static __always_inline ssize_t mfill_atomic(struct userfaultfd_ctx *ctx, > err = -EFAULT; > break; > } > - > - BUG_ON(pmd_none(*dst_pmd)); > - BUG_ON(pmd_trans_huge(*dst_pmd)); > + /* > + * For shmem mappings, khugepaged is allowed to remove page > + * tables under us; pte_offset_map_lock() will deal with that. > + */ > > err = mfill_atomic_pte(dst_pmd, dst_vma, dst_addr, > src_addr, flags, &folio); >