From patchwork Mon Oct 2 15:10:28 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexandre Ghiti X-Patchwork-Id: 13406332 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 67F32E784BB for ; Mon, 2 Oct 2023 15:12:44 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 02C788D002A; Mon, 2 Oct 2023 11:12:44 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id F1EED8D000E; Mon, 2 Oct 2023 11:12:43 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id DC0478D002A; Mon, 2 Oct 2023 11:12:43 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id CAF7B8D000E for ; Mon, 2 Oct 2023 11:12:43 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 952F5802C7 for ; Mon, 2 Oct 2023 15:12:43 +0000 (UTC) X-FDA: 81300863406.08.E5C0D8E Received: from mail-wm1-f46.google.com (mail-wm1-f46.google.com [209.85.128.46]) by imf02.hostedemail.com (Postfix) with ESMTP id 96FA280026 for ; Mon, 2 Oct 2023 15:12:41 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=rivosinc-com.20230601.gappssmtp.com header.s=20230601 header.b=Kg5TuK7f; dmarc=none; spf=pass (imf02.hostedemail.com: domain of alexghiti@rivosinc.com designates 209.85.128.46 as permitted sender) smtp.mailfrom=alexghiti@rivosinc.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1696259561; 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=WAROWeuegt9axYlR2gFhUBC1uOuBg0VWiNfGep/WqRA=; b=pwmRke6dD9OODv7mNfPI+wgOcKUck3A306P/y85YIxEBpqkioLc7dKjpuEjahLPpsXf1yV VU+Djzv9N2FThFbJPOYeG9h7Vamv4Ek8NEMC59bHj4WFSDYIuCF4uPOvgEn+LmLxWgaf9/ 0NPFM3Qo8VbD+pM7dmE+xC5RIX19Kro= ARC-Authentication-Results: i=1; imf02.hostedemail.com; dkim=pass header.d=rivosinc-com.20230601.gappssmtp.com header.s=20230601 header.b=Kg5TuK7f; dmarc=none; spf=pass (imf02.hostedemail.com: domain of alexghiti@rivosinc.com designates 209.85.128.46 as permitted sender) smtp.mailfrom=alexghiti@rivosinc.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1696259561; a=rsa-sha256; cv=none; b=0C/eG7TVWJKDzhN86S/Ft+U3AuNQUl+6jEnh4zF8cols62fq2AGLexXhDBXtVEf7GQ+Rtj Xke9XJ/Uo9PolOFEpZLE37gGpaBh6LMLy/tEzoCsOHoy6UbYLJEXgSQU6ELO7pA8tXl29Y CbeqjGgf+hcO4ZfyZvTcJkXjTAaXmC0= Received: by mail-wm1-f46.google.com with SMTP id 5b1f17b1804b1-40675f06f1fso5112105e9.1 for ; Mon, 02 Oct 2023 08:12:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rivosinc-com.20230601.gappssmtp.com; s=20230601; t=1696259560; x=1696864360; 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=WAROWeuegt9axYlR2gFhUBC1uOuBg0VWiNfGep/WqRA=; b=Kg5TuK7fa63jvndLucImYBdCOUd9e+AzCW5JwqJuRe85WJxHRn9Frg0Bozuv2zeOv0 +7duWU0LnKSx2eh55rvw7N3+Z87UhHCCAaNvIBZD2O3JkxIR0bXssQQu1UkRLnOWh/cr b66teAkKNe9r4cR/oqAR6fKuiMf5D8LUygo3Eo8suiaRVTSQw1L6GUSGq9R8ZPKNQXDJ HJW72x4l1RVuQWD52KoFTZA0crbYvR0ZSJa3EEFjeEZpQQv2ipGvQBAaCsPWhN7z51la Wyzr5pPN/Q8fMPc3ii9cQJzF+lk4+QQjQ7wnCqz3QIydgmwXekCllqvnuIM8uMcemDAz 6N8A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696259560; x=1696864360; 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=WAROWeuegt9axYlR2gFhUBC1uOuBg0VWiNfGep/WqRA=; b=eTlHt2AOt5i60TNA8yO2zHcbj0U/fuYQLy+A1ZNlwKpXn/sJGugaksbLzJZekXx9/y toUzG7C/h0fvYY5dggDSWnIiqEGqGNXyA51+nrFrz+eHq2QE0PyV6mveYbZBQy7i6Tua xP0FVnKllMyk9e2rfFKRRaICi9NQC4Q3MsAopEBbMgTQMHQKyUAOa1Ve3cbn6b8vGPLX HNkEhUu4wtMUbvrpzqTrzuahuooTdEUweaw9s1zbXxrZMaGpLV+yUVUAAwqlXzCZKWd5 zyiZXP5o5iU97arWxoLzWcZcopzlcXxEhCascR74F7/E7C3Y0KcHilFEFil16aG+TbZS AOzg== X-Gm-Message-State: AOJu0YxJG6AeXjNXPGgJ8WKOY0dFwwzSMmKV43Asb+K3pjEoXS8xGLJY MJm1R6f4Qrijdjwow2qagQqbpg== X-Google-Smtp-Source: AGHT+IEp4TyiMTncEFWIJawksGoamhltIe4ZJc8GCSTvwz3nHyivxU99XVIdB916hW0jM9qw6ka5vg== X-Received: by 2002:a05:600c:5022:b0:405:3f06:d2ef with SMTP id n34-20020a05600c502200b004053f06d2efmr9800701wmr.4.1696259560252; Mon, 02 Oct 2023 08:12:40 -0700 (PDT) Received: from alex-rivos.home (amontpellier-656-1-456-62.w92-145.abo.wanadoo.fr. [92.145.124.62]) by smtp.gmail.com with ESMTPSA id l5-20020a7bc445000000b003fbe791a0e8sm7507939wmi.0.2023.10.02.08.12.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 02 Oct 2023 08:12:39 -0700 (PDT) From: Alexandre Ghiti To: Ryan Roberts , Alexander Potapenko , Marco Elver , Dmitry Vyukov , Paul Walmsley , Palmer Dabbelt , Albert Ou , Anup Patel , Atish Patra , Ard Biesheuvel , Andrey Ryabinin , Andrey Konovalov , Vincenzo Frascino , kasan-dev@googlegroups.com, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, kvm@vger.kernel.org, kvm-riscv@lists.infradead.org, linux-efi@vger.kernel.org, linux-mm@kvack.org Cc: Alexandre Ghiti Subject: [PATCH 2/5] mm: Introduce pudp/p4dp/pgdp_get() functions Date: Mon, 2 Oct 2023 17:10:28 +0200 Message-Id: <20231002151031.110551-3-alexghiti@rivosinc.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20231002151031.110551-1-alexghiti@rivosinc.com> References: <20231002151031.110551-1-alexghiti@rivosinc.com> MIME-Version: 1.0 X-Rspamd-Queue-Id: 96FA280026 X-Rspam-User: X-Rspamd-Server: rspam04 X-Stat-Signature: 5y174rnitwa4x4mzxisw84tptra4bkjb X-HE-Tag: 1696259561-599988 X-HE-Meta: U2FsdGVkX1+M4KJLqoRdnYQu8uuV50CEvHg2qcnCcxUcLB5hZURpRCCKl+G8hpGeJ8Ki/RPNfUlfjRQI35QUB27uk6oIAkufkr1LnMADMhWNxwnODZgqVC/2bib4kt1aADXlyPM+VlorNTfKlE0SZxpoQNnKN28lD7p4R8Pi5C52XxJf+f49e67ApPGzZPMJU8mig0UCMhrziJya0KlyVioEQsLyXwLq/W35d/dXdTvd/d/mn9KeXJ0a/fyIzMKbHejm/LLEII9R2KJZyB6p8wzUvstQqL53IVPGfjVhEk3dvRoylyzDGBxDDUpHeOXF7CMojz1Kq/AHbo3l9zn6D6vIOIA7zIiQmZ2drgVdCsGwt9fyAZGqB8V0EKQDfLzQV2eKZPzaMJ4LnER9VNRkFuE8jbP81KQG19tavi+ntPAfZp75vjunzNKV4mlvrzanYDb/stgb/Pg9kFAwAHmwSnSTsUSI5RcAz78U5SiZl4E2FbRTY7ljYWR04n6HcoZG/OrdQWJFGAz0A5zzgonaMdt+bb5DX/PhlTR7RB9z31Z8Xviai0tjiyVypIGR7CvrUDwaD1VOO9kAOvO151WH+eoU8iAztEBy/lMc1qW+xMJH1stPgbd0pHYjALnBm4UlSuTeS3Cu9ryPwq3gAqGEN6L5mllMHE5jcDeFXgxdPF6apJ1kuZi9zafRx/VDXowj17T85w9L94HZzflNKrCczCo8zGFlQGNqtv2p/p+e/AyFJSF3C15FwzegL7oQqrEqh3wl9/pi7vq8hSloJRWpEDWBY3M8kLy7FjWLYzBBdN1fQQ+UPlymmUDtb5LFND6hCd2l5OFfhVJ2ZX2kK90Reqze4LwNm4KGCQh5FfRc5jVAAZlhXEh6rFW57gEVmDBhJLiYuV9Q0/5siTRxsX6lPK8aL3PV077PzL9PzbsAnAeGbBQao08oZ6kmSA2zBkfuC+AmCX1fDZ2gkFzI5oh KcbyE+Lj StE8nJHyiOVancWyosWqPQtO9LzNe8ZCIqH6c0mpAfYJrVfy2gZFhgcusF7uW3Wxgsf8O7/HQL/D4w1DPsiIVEAl5pOiAPYTLwDYzwhNMVlqaYbbjDq5ux2aJ2FjCXMcCun6TgR0nemOAa3lc1grmeccB2lFAwbD79QDn13OMEqPkzR5cO7ke+qoZt1fk5CQ2ucaL+pUY26HKfy1s3Kl88xxq7a1EGPofulTVkPzEbDO20hoPELFFdcVCY54Y/eDd/DaPtkkOBH6PzxHLSd6JAPF8Esd1xUrQb08RBgBnmBwKlrSmNM+/NqIWl9GHa+a1avrQ3PNuH9SN5aD0GwQitEA7pplOQcEDos59MdbXDHpZzGpxLWrOaYC+FZG22wxekAPfBF6R/TrTNBje2Ptdu/GIbdvt0/RwgYOQdPfSJ5wuftJWPbiHwTmlW67sUS7YgizBOSNZC6ElnsyiUNb/9Bpgk8bTosN+JnsB+MFu28Efix0H8GPillL9oA1KXpndljAKd627K8tlPfHWuGOIRjQLMY3dkrD7vrXOY3ATim3QkZOktccK73VlgQ== 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: Instead of directly dereferencing page tables entries, which can cause issues (see commit 20a004e7b017 ("arm64: mm: Use READ_ONCE/WRITE_ONCE when accessing page tables"), let's introduce new functions to get the pud/p4d/pgd entries (the pte and pmd versions already exist). Those new functions will be used in subsequent commits by the riscv architecture. Signed-off-by: Alexandre Ghiti --- include/linux/pgtable.h | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/include/linux/pgtable.h b/include/linux/pgtable.h index 1fba072b3dac..4ce68bcc201d 100644 --- a/include/linux/pgtable.h +++ b/include/linux/pgtable.h @@ -284,6 +284,27 @@ static inline pmd_t pmdp_get(pmd_t *pmdp) } #endif +#ifndef pudp_get +static inline pud_t pudp_get(pud_t *pudp) +{ + return READ_ONCE(*pudp); +} +#endif + +#ifndef p4dp_get +static inline p4d_t p4dp_get(p4d_t *p4dp) +{ + return READ_ONCE(*p4dp); +} +#endif + +#ifndef pgdp_get +static inline pgd_t pgdp_get(pgd_t *pgdp) +{ + return READ_ONCE(*pgdp); +} +#endif + #ifndef __HAVE_ARCH_PTEP_TEST_AND_CLEAR_YOUNG static inline int ptep_test_and_clear_young(struct vm_area_struct *vma, unsigned long address,