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 0C43CC282DE for ; Mon, 10 Mar 2025 15:51:16 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C2CFC280011; Mon, 10 Mar 2025 11:51:13 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id BD9B0280004; Mon, 10 Mar 2025 11:51:13 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A54D0280011; Mon, 10 Mar 2025 11:51:13 -0400 (EDT) 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 84B88280004 for ; Mon, 10 Mar 2025 11:51:13 -0400 (EDT) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 922965186F for ; Mon, 10 Mar 2025 15:51:14 +0000 (UTC) X-FDA: 83206080468.21.C2E1FB2 Received: from mail-pl1-f172.google.com (mail-pl1-f172.google.com [209.85.214.172]) by imf22.hostedemail.com (Postfix) with ESMTP id ECA1CC0008 for ; Mon, 10 Mar 2025 15:51:08 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=YKRFpbgd; spf=pass (imf22.hostedemail.com: domain of zhengqi.arch@bytedance.com designates 209.85.214.172 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=1741621869; 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=2xB4to/vwlXRWs8kY9XvkPSxIbn6I8rZXuqM4IRgKQQ=; b=UPJueMq0q+IRmGlwM6/QOeUcXRqLIX6FW5mC8auoT1ZHG3221kyOkt4VKmQmgcbW9v3ZPJ +jaNQzQXUl13D7klNuVrH7zv7qKsyS0DxokOiEEnfLwtxBVQvOIefPQ9ql/ar87nSzLN3T 7GvPxkmVwsy8q6++psc9JuMeVwVKCAM= ARC-Authentication-Results: i=1; imf22.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=YKRFpbgd; spf=pass (imf22.hostedemail.com: domain of zhengqi.arch@bytedance.com designates 209.85.214.172 as permitted sender) smtp.mailfrom=zhengqi.arch@bytedance.com; dmarc=pass (policy=quarantine) header.from=bytedance.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1741621869; a=rsa-sha256; cv=none; b=s/MoOTmIrmRdVrFNQeixU65Vxz2TKSFZeOftckekOMCJvOPkmF9tTyAW5odyuSEq2dAEnt I0171hX8T7WjR/ZUd9j87LcZozKI95ErGdloTCekyaLcYeaMnqm6ltVYOedDTezYoW7BRy pXiIWJ1YTgh8vayQwcxAkgwxsMinqbA= Received: by mail-pl1-f172.google.com with SMTP id d9443c01a7336-22337bc9ac3so84745685ad.1 for ; Mon, 10 Mar 2025 08:51:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance.com; s=google; t=1741621867; x=1742226667; darn=kvack.org; h=content-transfer-encoding:in-reply-to:from:references:cc:to:subject :user-agent:mime-version:date:message-id:from:to:cc:subject:date :message-id:reply-to; bh=2xB4to/vwlXRWs8kY9XvkPSxIbn6I8rZXuqM4IRgKQQ=; b=YKRFpbgdj8ChvbgOQ1Vhkc/KvDaHREgkjf8RP+HalsCVGpEFBsqkkjO46zM/NqOPRr P5dRuKnJMNomwTmO7Wx0HVCTxQOtXu5Oflrc6bVmYGltD9juaxWWQpAugfiih84dxteN ZUxNr9TdJZvVc+R2DpZC4WVE/MCpGAOtM//RqEqtX6jZM6kmBKjmWpWEQ8r5vAA5U7gO M52zJyJOjnWbq1oH8yNdL7znCHXqUY+Lg1V2rE76apLm5Cl7KWcsOTLf7XHadaU5Y4/O Bx+Baajkad+8QvJC3QVYfrH2QcpIAKEgwaZG3Qer7VMT0oCnkTo/LsHPLPM0kMwQ69vN vbZw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741621867; x=1742226667; h=content-transfer-encoding:in-reply-to:from:references:cc:to:subject :user-agent:mime-version:date:message-id:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=2xB4to/vwlXRWs8kY9XvkPSxIbn6I8rZXuqM4IRgKQQ=; b=EcVQo7U7R85JC8VeHuTZNRK0SlNilU+QJmszpldKt7ot6XHQRyC+8iWrORzrhiLM91 ve3whPxzXrTsoh9Ak5TOYpHzsCCR9Oe/09yBS7YpAsy2GFL7cFRLXFLQzVDqw+I64bAW Ks45ZIhXb4XnGrh8fj+oTTep4PqVXhgIUVWWgsCWklcJx3cOBiF3rT4TrlArmA3hbfLL cHOnqyeU0Mkd/9hXiZ2GTIXAIgn+abE+20o3aJt62eIU7M7ewjEvlCvwWl8VNorl7eNe 3KpHhhsWLyrMLATPI8pZdUj0fjLc1D+db1lvQzvtZ3QMtT7DhconiKRpAdxbCUwW6Sj+ jqXw== X-Gm-Message-State: AOJu0Yw20eIMTqloPSC9DNjLh9iZmyeozIxnWW8DWvDX6je8+lHMJWIN RPRCpcXelq5W1s4rjEgzypHH4/ad6xT6NGCsNLj0iX6LIZqk0YLhXAuJ7j1Uc0w= X-Gm-Gg: ASbGncs5vrB1KExjVigMZqatdqxKjVnvzw0KlvbEruItxmQ+yOzlnAu1DIo9URy7VVX NOpyQ5XNg/sIemgb7mFZN2PL/GPfc0QyYySB5gmGLDdfuyY7cz40LX3CYIlt6Z+VNcxC/lVBbKe IH1CH3GTLAmxZti+KoxJh9WKOyE2oaWiNcNqNlKtOesnpmcgIjdHAZLTKsb7rSc5pUbLxmllWzK rPO71nLo5Y9ZfYS43rXOWoZ4cDME7s3ZQHN2tyijbzynIxEA26pHjuF12x0Xm4xr32dRT95OL1K JCOyjPXpfQ7AIIO87O1FhBVw93eYt2K6SXoB0uBUEXtw19FCDKsK1Yb0JP1kdnngOJvn X-Google-Smtp-Source: AGHT+IFRPI/5e0bjG5Qm3pD9F4oNW6VZE0+KXf+GOKRkrJoPQgOOZc0Ik3EM1YQrZkfJWALjmWPd7g== X-Received: by 2002:a17:902:ce89:b0:216:393b:23d4 with SMTP id d9443c01a7336-22592e2008fmr5512835ad.11.1741621867223; Mon, 10 Mar 2025 08:51:07 -0700 (PDT) Received: from [10.68.122.90] ([63.216.146.178]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-224109ddbf2sm79649835ad.18.2025.03.10.08.51.04 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 10 Mar 2025 08:51:06 -0700 (PDT) Message-ID: Date: Mon, 10 Mar 2025 23:51:01 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v1] mm: use ptep_get() instead of directly dereferencing pte_t* To: Ryan Roberts , Andrew Morton , Lorenzo Stoakes Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org References: <20250310140418.1737409-1-ryan.roberts@arm.com> From: Qi Zheng In-Reply-To: <20250310140418.1737409-1-ryan.roberts@arm.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: ECA1CC0008 X-Stat-Signature: 8173tjz485dt84jxzzzma9rhxhw8pwte X-Rspam-User: X-HE-Tag: 1741621868-510246 X-HE-Meta: U2FsdGVkX1/gLl5FBWz5vXZFGmMW+QQsSzSAc2e/mgP+aZBzf7MKlwFuTeNwtT1zSaY4aY456B9g1nXS4qLxFPDAAov2ae82XyVh/64PrSIez2Xr4XB+THBc3+yc1YPYwjqWzjDtX2C6xezs6aiZr+KWS7WcuNJBYuIRLDsmmJLnagFVpeMfRm5E282fRpwP2YT5gWSimLkn+QBDSH++Z0j0pjiSRyU+AyC67OZ5qcsQAgVZC743l+Y1mzKF5FhReoCx7JR6uhUiZCC9iepkfs+4Bq7rfIBCACgxlY78aamfjzTxlPE8SpTPwdkvf4WbgUgBQkbbxLjlRr8enUMbIlOwEvrzeIn9+6Y7QTvai46X/SYRY0+mohEKZl/imo2V/bTIl1Sh0aub8qvu4TrNQVrwqsaOd31viDEwFJYkILbdLcww4hX4/UYl3jSEyxO0dWqrHBmpGUPUYPpr/l1V8R9GPjo2IIyv76XJZkXTMnSILcplmHDg9XG9TrtSDV8XdqXg7FdspUOqkLpqTbsa6R+gYxmyq9MgbL8sNl4+bWI4svtvyCD1NKhtmKEIvVD6BqbO+2GK0X1B9mTbMR9LSqReViHIdnhlrfHBqxH55L5MbiA9Z8qoQefVqajro6RkJisGAuKYIQ/kq2jhLoVtqBVrjoab+LKTYk/K2cDd2h1/HhLEar7h0nlUESVVcN2rcVNop1eRL6nMgmNMkpJZa1bvJwfULjXhGD1I1nn28UmyYw9PQNirxDXGEnE3BmT5JfDpfRCgSzq5Qm3xFI2fftJSd+BhDnxQ6AXXJu7KuMC+R0TjrkJ0zIymbkLNV8ejgW3O97850L3tjvAm7nNVdaxFHsw5S1yegaGPssvFOUKvabBwG8Q5JZXBZFxoOdL2g8zoyEcfALpxb4JoWRgNDtLX9vmOfZxQoEJkE+9BImHb4GUeqk+O748pT1V0j06XgOfyEqZV88vlnn9bfy6 7AZZXrdJ dzoWsayIDxGAAeuuQF6x/Ar4q5Hn6qSezUhaw5p7n0YSthN8+OQKJRtF0DH9PBQzqkYC3/QbNVNj0upPaqokCdOdAjaGEhpUQdjV+t0NuIH+pKgpErHAKGwHwkVGCKEYm3q68LqnRUhiLR/oaSP9Zi6eStr68EcGgdbI7cRJtPVsEx142+bIO/mmE85ipvzSAiyk4Bq/FrsOblWKjL8jaW7lyTx4ml/cJJCZ+ROuxqVHv5xIUiZOzBCZGB8k0wXheBhv4md7OcQb1L0I1A6hNIgxyclQlRhibDNINWk4QiHGWcW+fAXpX17NzDEKQgrYsXv7OekaT3XEv68fycGNyr7tiXE1WoYEmXgMq3NwQj123lm0nWPniDj6v61RLqbFYXXelu7oZ8ToJDfi2Zjsy2zwO/8o6Rw253B6ky7atXrCiZdS8sBy8ojQMgtRYdSmuawYbT40D6RiexwL896norVyGGg== 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: Hi Ryan, On 3/10/25 10:04 PM, Ryan Roberts wrote: > It is best practice for all pte accesses to go via the arch helpers, to > ensure non-torn values and to allow the arch to intervene where needed > (contpte for arm64 for example). While in this case it was probably safe > to directly dereference, let's tidy it up for consistency. > > Signed-off-by: Ryan Roberts > --- > mm/migrate.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) This looks good to me. So Reviewed-by: Qi Zheng BTW, there are many other places in the kernel that directly dereference pmd_t* and pud_t*, etc. For example: root@debian:~# grep "*vmf->pmd" . -rwn ./mm/memory.c:5113: if (pmd_none(*vmf->pmd) && !vmf->prealloc_pte) { ./mm/memory.c:5207: if (unlikely(!pmd_none(*vmf->pmd))) ./mm/memory.c:5339: if (pmd_none(*vmf->pmd)) { ./mm/memory.c:5490: if (pmd_none(*vmf->pmd)) { ./mm/memory.c:5996: if (unlikely(pmd_none(*vmf->pmd))) { ./mm/filemap.c:3612: if (pmd_trans_huge(*vmf->pmd)) { ./mm/filemap.c:3618: if (pmd_none(*vmf->pmd) && folio_test_pmd_mappable(folio)) { ./mm/filemap.c:3628: if (pmd_none(*vmf->pmd) && vmf->prealloc_pte) ./mm/huge_memory.c:1237: if (unlikely(!pmd_none(*vmf->pmd))) { ./mm/huge_memory.c:1352: if (pmd_none(*vmf->pmd)) { ./mm/huge_memory.c:1496: if (pmd_none(*vmf->pmd)) { ./mm/huge_memory.c:1882: if (unlikely(!pmd_same(*vmf->pmd, vmf->orig_pmd))) ./mm/huge_memory.c:1947: if (unlikely(!pmd_same(*vmf->pmd, orig_pmd))) { ./mm/huge_memory.c:1965: if (unlikely(!pmd_same(*vmf->pmd, orig_pmd))) { ./fs/dax.c:1935: if (pmd_trans_huge(*vmf->pmd) || pmd_devmap(*vmf->pmd)) { ./fs/dax.c:2058: if (!pmd_none(*vmf->pmd) && !pmd_trans_huge(*vmf->pmd) && ./fs/dax.c:2059: !pmd_devmap(*vmf->pmd)) { Would it be best to clean them up as well? Thanks, Qi > > diff --git a/mm/migrate.c b/mm/migrate.c > index 22e270f727ed..33a22c2d6b20 100644 > --- a/mm/migrate.c > +++ b/mm/migrate.c > @@ -202,7 +202,7 @@ static bool try_to_map_unused_to_zeropage(struct page_vma_mapped_walk *pvmw, > return false; > VM_BUG_ON_PAGE(!PageAnon(page), page); > VM_BUG_ON_PAGE(!PageLocked(page), page); > - VM_BUG_ON_PAGE(pte_present(*pvmw->pte), page); > + VM_BUG_ON_PAGE(pte_present(ptep_get(pvmw->pte)), page); > > if (folio_test_mlocked(folio) || (pvmw->vma->vm_flags & VM_LOCKED) || > mm_forbids_zeropage(pvmw->vma->vm_mm)) > -- > 2.43.0 >