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 6D26EC2D0CD for ; Mon, 19 May 2025 04:39:03 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5840A6B0082; Mon, 19 May 2025 00:39:02 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 50B966B0083; Mon, 19 May 2025 00:39:02 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 385C86B0085; Mon, 19 May 2025 00:39:02 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 130076B0082 for ; Mon, 19 May 2025 00:39:02 -0400 (EDT) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id D3349C0FEF for ; Mon, 19 May 2025 04:39:01 +0000 (UTC) X-FDA: 83458402482.21.D26A387 Received: from mail-pj1-f41.google.com (mail-pj1-f41.google.com [209.85.216.41]) by imf09.hostedemail.com (Postfix) with ESMTP id E9868140002 for ; Mon, 19 May 2025 04:38:59 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=dCCGBGc6; spf=pass (imf09.hostedemail.com: domain of 21cnbao@gmail.com designates 209.85.216.41 as permitted sender) smtp.mailfrom=21cnbao@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1747629540; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=vAfY/KEFs3Nnw4j+JwYD/mkRdFSm5hVCKhpfrM8/duk=; b=KVafYlYWHWi6ohAQAkGqgR0AUyOv9FrNWErMwCLDTrSb1SjbbLJEvtc6tlvB1MAtnXFS5g MtUDLdtUMzRzwA3HEGDMrwZBieJPRImBscEEd2iePQctRWtlO8YEnaduoEIEXAO0DY4CMN LRO1qUGwx7JCydAYkg1eVpUgYikpyls= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=dCCGBGc6; spf=pass (imf09.hostedemail.com: domain of 21cnbao@gmail.com designates 209.85.216.41 as permitted sender) smtp.mailfrom=21cnbao@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1747629540; a=rsa-sha256; cv=none; b=bBA6sH8tlt4vjbVGRLGM5maEEOTAETfhyisaRuPjGN1mVEkQptPPoPuvIgfgSm0YpI/FAH 673sqx3cAjskMEghpJC4GhMO4KFjHi6UUPP6EeTgl0VWCg7ndHRGLSjA2SHf5euA/FRu4c 8g2gfakmhHEnMJWcoGv6q/93+lYwEUc= Received: by mail-pj1-f41.google.com with SMTP id 98e67ed59e1d1-30e9397802eso1611988a91.1 for ; Sun, 18 May 2025 21:38:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1747629539; x=1748234339; darn=kvack.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=vAfY/KEFs3Nnw4j+JwYD/mkRdFSm5hVCKhpfrM8/duk=; b=dCCGBGc6GYd3NISrgdbljEhjaa5mcbCxYNC26Pa2pkttknvv4BnncrH7I0A0XJkM2O +J6puhTSxgbQ6cGoRXMkXgDkQx1SLKqBYjY/7L3wWmsicMxL4OMFt/W8szKmcT7rWdLN s7ffq+NLXZ9rqpkVO+QrorgGzNOOi6QY1D6AEYoiCpm39g7+bjSTZEbgrX5pReV6B3H7 APtS55yX5G76DaRkkW8rI46NUG7+xWxAxO2y9B+qXuj6HcCdfhNkRCQr+ZkTkGPprroP 9KoQGFYI97XLYqUr6P8AHRpz+eYYcmP+82EDmzx61EKDVU7gy2HdYWDVCZks3VMaICuB WNqQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747629539; x=1748234339; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=vAfY/KEFs3Nnw4j+JwYD/mkRdFSm5hVCKhpfrM8/duk=; b=H0OUshGp7z6H/obdSH9DvhTHYhyvFluSqFzQHrDdswpEe0TR6+Ynj79nYRSjb8FN+d xJ3t8xGBSirzVIC/1EFY4t6SheGHPmtW56qYPZYRKeBYU5pHYl0rlUZ++yfreJFBNHjv mZmNMp6Y/pjY6cnuWHRDAeHZK20kZb5eCpIuXhyN4MPS+nHcFe2UFLGV796Qs5zjL9hH XPdQ4ujPFcVwQDrr2HjtLaUetBmRh6F7wyEZOFxaG8AJDqdSO0WfLAl+N+mRHNvq81WC nL5FxrMqrE50/mj064DgCT7IQyasX9VLYyMncGl2iArlf8MZYHOoJyQ7SLKSDn79E3CF YWIw== X-Forwarded-Encrypted: i=1; AJvYcCWOYkeGhOPqUVe8/8ere+gMWlxcubee5G6rZbJfmVtU1SgXnKI6Pw7JK6l3tlYMnlaCxw/5EfEsAA==@kvack.org X-Gm-Message-State: AOJu0Ywlh7dPvmSgBTLvVBJuwKRIy5HcEx4YJShj3V2o54g3P+uX5ygz TSs20aYjEvOz4n32PGjfA8nunfztV4+mPT28yNf5sd1UAFqEq210Auw/ X-Gm-Gg: ASbGncteaaXpoisf/lcWeniHuQm4+rJGF/C/8zH38qtHb7Kz9oNpfOEnWkmFY3+19eE QSvEX717M0OXpkEEkzjWNkxQ+iqzs9GnTN+XUQS13CAR2oKo/05LiCXglS8VA/jI+oftAcv+M0R xX8ymXgdYWRDhcPEgnoMPjzr4V9Bq1pIX9CP+A5mvleXT6TT+1rgLR/NOGFgNHe2Oj1O2U0FMc/ D2cqlhsWjTPuaOGY/PI14mfjb9OCVgIpIQZBiIZ38/nz107AUzgUz/6z3+WmBimiq90JuAlfoB7 n+D9FaSLfgQF2iuvtnhwTGffqfO4iZXLzf4W49DKdUROfMthAsDc7vlyFxRbTiO9U2cE9g== X-Google-Smtp-Source: AGHT+IEAeJ+bJmyxtXDNaFlfx7Bn3bxXTxbgWpW2guDrKArEZpwPg3CE3vDsvqo54QS63bj/RjMEdQ== X-Received: by 2002:a17:90b:3e8e:b0:301:1bce:c255 with SMTP id 98e67ed59e1d1-30e7d5a93bamr17027254a91.27.1747629538588; Sun, 18 May 2025 21:38:58 -0700 (PDT) Received: from Barrys-MBP.hub ([118.92.138.162]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-30e7d4892c3sm5642403a91.12.2025.05.18.21.38.51 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Sun, 18 May 2025 21:38:58 -0700 (PDT) From: Barry Song <21cnbao@gmail.com> To: ryncsn@gmail.com Cc: akpm@linux-foundation.org, baohua@kernel.org, baolin.wang@linux.alibaba.com, bhe@redhat.com, chrisl@kernel.org, david@redhat.com, hannes@cmpxchg.org, hughd@google.com, kaleshsingh@google.com, kasong@tencent.com, linux-kernel@vger.kernel.org, linux-mm@kvack.org, nphamcs@gmail.com, ryan.roberts@arm.com, shikemeng@huaweicloud.com, tim.c.chen@linux.intel.com, willy@infradead.org, ying.huang@linux.alibaba.com, yosryahmed@google.com Subject: [PATCH 05/28] mm, swap: sanitize swap cache lookup convention Date: Mon, 19 May 2025 16:38:47 +1200 Message-Id: <20250519043847.1806-1-21cnbao@gmail.com> X-Mailer: git-send-email 2.39.3 (Apple Git-146) In-Reply-To: <20250514201729.48420-6-ryncsn@gmail.com> References: <20250514201729.48420-6-ryncsn@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: E9868140002 X-Rspam-User: X-Rspamd-Server: rspam11 X-Stat-Signature: prgi5n1ohgq8nr5q7kdaku1fq6eu1i3t X-HE-Tag: 1747629539-509401 X-HE-Meta: U2FsdGVkX1/5w8+08S///TDaVAsSMv+kQVcLBppf9HYwTDIpxEqV7HXhoJQ5obw0kjb/mdkrOxwi5BIBrjFOi0M1TxZgnbT8Ki5X90Y97TZlZPjTYDXkKmy2lIV2svZ7vSTa/8Rr++K9WMLQm/48TVk6UXBbmFQamH9jXktrs6PXZlYPXAeI5pTP8bIjrINm+Z6hWxFvZju4Za4gJrQkqXepcX7A8ygB0cUlx+lj06Lf1eAfSePUgA3ICqLPU6UqtlEQnFMZzqDvWsAphCa/xF0QiTNANMyjg+ZXm92b/5QzLFWVGFN1arHB/5ElYw4x+u/HenlVKRkwv1+66lhlrdUTd1j/p2VzKKHaMWsH0S1dD7loAuinlCbdN96p+9mW3pOZANhcXYhMoy9/Y1IpxbhqB8TLdSfs+d7cycslMTEd8HnV+wgFGKacwQuSBLqUoo8nn7KcClYiIZBIKw6ZQSl3AkGe76OlLI5h9f+d0LTGmw6g5/jVzzdXBOfaBGxl/ZR1pQn8Z6yqwgqDE92BoyPbDJbAmzyttrpd8WQSyJTvnBXjW2++QHpYPlq2wqSzAqDS8Tv8CBLhj1dJuHyVVeh9zfSb8X4ZYlU/jZSQ1Rqle2vIdG9ED9QiUnFy+nVKzJ8F2xBWvRE6Or/rnkDwZFPdadsSgG/0g1QOCRJdFAEYMd1a6Xm7wwbtHRpUuH9W4iIUZo82sA3YPpsw42O/EzLAGgjK+Wrcx4wSme5i8YUBLCfupSGoRi9qzgHg1urfuLKTWfrddG4UYsD9pp2A5mTENBshwWW5k6hSjIyfwScF0zOjuFUE6af9TvSjvUNEWVVoe2KAk3xCkdO9W3w1XDW9+uEhPoSFSgNDcoQ6Y/qVce3fIZPYXucaBS5yrrrjBGrogQ5EtRjL5WPmpM21lGPnlTE4ZLUpVg28UJR11Vsp15y7HE7tzoaIwgfWrbv/tn2ChbEXiC2lDM5cjSS +sLqX9uR nL/rg4TooEvNr6m+cFejW3SGZci5JYr16RiOXtdeVkSihV/BDxeECJsY+n/yXbbufDVVx6DU7me6VikGALzLR5U0/TaA7LO0N50yoX/Xs4nIzeWYSqdQEXG2iw1DycNWzRaiWd3BCSdX9YG/gZbEYgSOt6RN3Pk0zb8cnCwHwCjw1q4U7GWLDGb1Jj2Q7Dyi69cWGz/1da5FA9nG6pMfyMbyrdpTIA2IsD+ykFTeOGNpX1J+U6TZHHxwZet8aQV3+/Vz7UlXudO4tbrUhrycJ791kl87qu/CrnfNRWlXT6TpJetDP8r3JD0KDRo7HfzEXn/iUX8SiWkdFITnk8AiRMacIldQvBQjFVqT1iRMbCYLRfaHpVX2hEgSZttSq3yVpcbN01Zj8GmQ5zN463mq78T1hMw== 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: > From: Kairui Song > diff --git a/mm/userfaultfd.c b/mm/userfaultfd.c > index e5a0db7f3331..5b4f01aecf35 100644 > --- a/mm/userfaultfd.c > +++ b/mm/userfaultfd.c > @@ -1409,6 +1409,10 @@ static int move_pages_pte(struct mm_struct *mm, pmd_t *dst_pmd, pmd_t *src_pmd, > goto retry; > } > } > + if (!folio_swap_contains(src_folio, entry)) { > + err = -EBUSY; > + goto out; > + } It seems we don't need this. In move_swap_pte(), we have been checking pte pages are stable: if (!is_pte_pages_stable(dst_pte, src_pte, orig_dst_pte, orig_src_pte, dst_pmd, dst_pmdval)) { double_pt_unlock(dst_ptl, src_ptl); return -EAGAIN; } Also, -EBUSY is somehow incorrect error code. > err = move_swap_pte(mm, dst_vma, dst_addr, src_addr, dst_pte, src_pte, > orig_dst_pte, orig_src_pte, dst_pmd, dst_pmdval, > dst_ptl, src_ptl, src_folio); > Thanks Barry