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 5801EC4167B for ; Thu, 7 Dec 2023 15:35:01 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id CDDF46B009A; Thu, 7 Dec 2023 10:35:00 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id C68756B009B; Thu, 7 Dec 2023 10:35:00 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B13D86B009C; Thu, 7 Dec 2023 10:35:00 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 9C8746B009A for ; Thu, 7 Dec 2023 10:35:00 -0500 (EST) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 596B8140123 for ; Thu, 7 Dec 2023 15:35:00 +0000 (UTC) X-FDA: 81540420360.11.FCE6C17 Received: from mail-pg1-f178.google.com (mail-pg1-f178.google.com [209.85.215.178]) by imf21.hostedemail.com (Postfix) with ESMTP id 46B7A1C0013 for ; Thu, 7 Dec 2023 15:34:58 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=dabbelt-com.20230601.gappssmtp.com header.s=20230601 header.b=nn7f68Tr; dmarc=none; spf=pass (imf21.hostedemail.com: domain of palmer@dabbelt.com designates 209.85.215.178 as permitted sender) smtp.mailfrom=palmer@dabbelt.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1701963298; 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:dkim-signature; bh=nxNM9WK2tvtShQbb1K2hHNFEu7MJ8bT3CozvqGIxTXw=; b=lslQJ0BEwMiCDxntPA/xYi/hFfgx87u20R/whC0FUwdJ+guq92/JtKvZsMcZCaKtYchyD/ jbNNTT2ybeYjJqhg+cYgDnxnekaUVzZgihG0TTaUzvisnBO7UBHTQSrafp5KMFar18lIYL WK46ZYF2LeyjuRLAhreQf9QrBhxCS98= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=dabbelt-com.20230601.gappssmtp.com header.s=20230601 header.b=nn7f68Tr; dmarc=none; spf=pass (imf21.hostedemail.com: domain of palmer@dabbelt.com designates 209.85.215.178 as permitted sender) smtp.mailfrom=palmer@dabbelt.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1701963298; a=rsa-sha256; cv=none; b=nqt39gMcynxRuc6+6ZYpVSsMVkqkCrcDDzQhn6QUuerp/rf/Gx7sUUTvl+VScNnSfzPR+O yeO/hNEnSxMPvzH8d6olpsgmSNrUJjnRRDn6gEs36TdknQS7ZtwwTbieR5VdNtygUThIZW MclE2Nq2191yc9XrEORZmNz0CUsxFMI= Received: by mail-pg1-f178.google.com with SMTP id 41be03b00d2f7-5c6839373f8so786797a12.0 for ; Thu, 07 Dec 2023 07:34:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dabbelt-com.20230601.gappssmtp.com; s=20230601; t=1701963297; x=1702568097; darn=kvack.org; h=content-transfer-encoding:mime-version:message-id:to:from:cc :in-reply-to:subject:date:from:to:cc:subject:date:message-id :reply-to; bh=nxNM9WK2tvtShQbb1K2hHNFEu7MJ8bT3CozvqGIxTXw=; b=nn7f68TrmaebBXkAY3CGUu8T22Twew+du8dZfAFTs5KjYjjOQNV/2kQ5akntayowk3 yUbiLQTTiWfAdw4IiB4QLVltr/Z0TIW5kMEjeIOQFBi+EUmlWIA8eRMk2GsS58M6pQb9 Dy9FAOonUMCQTMH6te3sTSbEziFBGzg/RzO7S9P522/8ax6d/hc7zLT+oMRU0YGMv1A+ HEOMYqnzyVOBDHXdq8CtKC/+Nq6+ssa1zsWLDD96xWuINWENs6Rfhnbl8coVkZbt0zoF P32GuNhTk0/BoQX9IrI1sGPSABI2DPowbmuT6Faf/CG6kYelFfu4WFjsogE8Zhm3uejF pyKA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701963297; x=1702568097; h=content-transfer-encoding:mime-version:message-id:to:from:cc :in-reply-to:subject:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=nxNM9WK2tvtShQbb1K2hHNFEu7MJ8bT3CozvqGIxTXw=; b=v3/GN72818i92sR5rE7SKqSJF1YuB7/GCgCwunOuqxl0Nrs9S+NE9WvdQSfeqiCFM4 XzedkfeYX9o4tj1/CMXHi137rtRP7UQ5+bPd+lucYGO2EEdGMHrJzEsuihjODGSxS/JS oMrTawEVqUZnQ2x+2mQeUSI8FdNHIUduO1KtgblBfQYKEg+7e+nDKr06tGgSDFusPsJK M2SEbSeUUnkHyqTCX3v3yHDnfeDSCOkBQnGA1YkV70WZ/XO4wWrvFkigX2dxDQ0Dp2Im 5Ca/eZ90kxVBfxcvLmCta5OpeEQABQ0bSFKlsnmym241TvJEmcMtLlgBPDbIigg8p3zr C7Yw== X-Gm-Message-State: AOJu0YyaS4fG0MZNcpxfEjJwYQh24nlLEJAlEqT2SMOqguEzDNhKDEg5 MjYY0cPozWuJbJ2TIKAYOSopCg== X-Google-Smtp-Source: AGHT+IF65TZgzhTweL9gbJz3prMlwSaSPqbYrTnygSycKn7vPV8yFjNeM3gu/nqMBGL+EF94LLE7vQ== X-Received: by 2002:a17:90b:30d7:b0:286:f3d8:de2a with SMTP id hi23-20020a17090b30d700b00286f3d8de2amr5477031pjb.45.1701963296891; Thu, 07 Dec 2023 07:34:56 -0800 (PST) Received: from localhost ([12.44.203.122]) by smtp.gmail.com with ESMTPSA id ok6-20020a17090b1d4600b00286573fc6e5sm24874pjb.4.2023.12.07.07.34.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 07 Dec 2023 07:34:55 -0800 (PST) Date: Thu, 07 Dec 2023 07:34:55 -0800 (PST) X-Google-Original-Date: Thu, 07 Dec 2023 07:34:53 PST (-0800) Subject: Re: [PATCH 0/5] riscv: Use READ_ONCE()/WRITE_ONCE() for pte accesses In-Reply-To: <20231002151031.110551-1-alexghiti@rivosinc.com> CC: ryan.roberts@arm.com, glider@google.com, elver@google.com, dvyukov@google.com, Paul Walmsley , aou@eecs.berkeley.edu, anup@brainfault.org, atishp@atishpatra.org, Ard Biesheuvel , ryabinin.a.a@gmail.com, andreyknvl@gmail.com, vincenzo.frascino@arm.com, 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, alexghiti@rivosinc.com From: Palmer Dabbelt To: alexghiti@rivosinc.com Message-ID: Mime-Version: 1.0 (MHng) Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 46B7A1C0013 X-Rspam-User: X-Rspamd-Server: rspam02 X-Stat-Signature: 86xh619z9zptwkfn1tiifcsqgjbpbrj1 X-HE-Tag: 1701963298-996567 X-HE-Meta: U2FsdGVkX1/tSE628plPupvLpz9Ja+2FqImNWaG3hcmHkLVjq9WZZGxAX9YQE+EMIYj66v2KNMXaVYxGqx/okpr1gC38XCF7+zfckD1M+mTmQhd5ozRX89aBqGbaMGUhi7NhvvYWGWvNlXs7AIsFcQEe1tb5qWuViQmor3WIG8GNy2wglHyaqOgbETeBiHoqcNXDkLs+A8Lr/T8+BdUt3+q+/fluyLukKQi5rxlzSLtFSh/BjICSaN/da9WaVD/UbmsWmKuUkJrnhWAB1L2UW+yJt1WP4DLG2C6LichZ7F7C+rEu2Gh6nEB+GFrCol3+TQE6LVe7Zp+taNgl4pl8p+KqQ50tHeBkU1u8IINIVum6NU/BxIpG7g9yecJTMtZ4EjZJPLYY89Bu9dhiGJFoSD7kZqrFr/fBLOVCRnYKRL8YmrKqp9xL9A7S2l+6HMRTvb5ynw/XeyhQMRR1WPA+aoJro6frJ3SwC5UJyTf+bg4K+VOTkddBL/QFmMjxm6sl4o1U25Ypt/fqsghROuMCI3jsqWHsiAP9+pDlDqKqk8RWMqg1CPjv7KjYgKHHiebVwCBb0/5APR+G/d50rqemCBCGs2cskZOKcHxIDzcP4+yE5vI3GQ+ug/Yr3hgh8UJf7Arlo1OygKv+z9APtcTFHQbivDO4s95DPmT+nR2+mt7vQJo+O23PO9p1NsUFWDCJjf32uEy3CXG18chEVnhxOsLLxd22Yz+2NsdQAI/YaH4Sy0lBGA7QJPvTir/2acNbk9rm2aWeZxL2rcV74ZLzJvI8q7ZLMhwImw93sqcid3T8n8XAaq5rgn/vUWdzM6AiRmeOyHgoK8bj4URrDQGnseytjepKKcf7CLSWRsSTbkfUuqgXoqj/BtOXMllbicO4WfloOgV74BLSRZqHeYbBlkFgNPeN8Qf1vutVNuX6fpOtHUt9Jns4zfA9/iXfcTOLt+3pmwexbtMtsAAmR/l BtVABFpO fC/MFQHVvftx4jmfiTsoMkSFJw0Cj8/3blrM5iex060OgDL4piTAMUqJQqGN5cXQrmrqN6BOL+rcjQRmh3WkdyF/gdvGBn32WX8kN0oE7Y7OlwAX45ryHg25/P9NuF+MpDASGFyuvN7fIcNMOO/9dmHLrOMgbcHJh8sv6wt49enk4MZ5bRgTVXeCktB5lUaGJlRZll+dH699W9eLhB1p4cyJrNsFNklzOHs3i6YXRIGGcqEiSeDOCAmoi2/jdPUcMH8HRueKjWNsd3m4ZD4bFj31gIpvrw+aekGoyBXWYN9eTIaFnr3UIwWZclVsia7g9wWX5eARQFzltbz2iakZQdUUpuXvGuVqWP5VGCBNYtOV7KFTmINlob5AJ7raSCNuZmEBzEFwf0C/HYPREXC14xhLWpHml3woQ9Ip6yAYku9OmY8y8GPraslslK6xKQPs0bsgD4I2lfnFkZ1fa8WUVsaQlcElOheH6JwHhHc3myHbwRihPNmL3Tsl+oBxU1vTNCpsccH/+AYwhAHeo+KJCoOt282Q+27/VyozawlzShC+X4zcqFRBQZzOOVhHmTNxjk6OcqrPBhZnp+YFRj9o2BeWAh5eADNcrSChQUj8vqvZh0e7/NNtlRokDSbJnfCMOsIVIPtm2SPmqjNI0ah2G1aBhIk5RCxcq7s6BGhcBWfbxPfeSVu35Rm5/DL4wD60aGsrIf+/9iWze7+jt/IzMzzxJ7GZzVTKpclnIGMAexJlZcbHaTj4A/Pal82n5NHjkKlQo 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 Mon, 02 Oct 2023 08:10:26 PDT (-0700), alexghiti@rivosinc.com wrote: > This series is a follow-up for riscv of a recent series from Ryan [1] which > converts all direct dereferences of pte_t into a ptet_get() access. > > The goal here for riscv is to use READ_ONCE()/WRITE_ONCE() for all page > table entries accesses to avoid any compiler transformation when the > hardware can concurrently modify the page tables entries (A/D bits for > example). > > I went a bit further and added pud/p4d/pgd_get() helpers as such concurrent > modifications can happen too at those levels. > > [1] https://lore.kernel.org/all/20230612151545.3317766-1-ryan.roberts@arm.com/ > > Alexandre Ghiti (5): > riscv: Use WRITE_ONCE() when setting page table entries > mm: Introduce pudp/p4dp/pgdp_get() functions > riscv: mm: Only compile pgtable.c if MMU > riscv: Suffix all page table entry pointers with 'p' > riscv: Use accessors to page table entries instead of direct > dereference > > arch/riscv/include/asm/kfence.h | 6 +- > arch/riscv/include/asm/kvm_host.h | 2 +- > arch/riscv/include/asm/pgalloc.h | 86 ++++++++++---------- > arch/riscv/include/asm/pgtable-64.h | 26 +++--- > arch/riscv/include/asm/pgtable.h | 33 ++------ > arch/riscv/kernel/efi.c | 2 +- > arch/riscv/kvm/mmu.c | 44 +++++----- > arch/riscv/mm/Makefile | 3 +- > arch/riscv/mm/fault.c | 38 ++++----- > arch/riscv/mm/hugetlbpage.c | 80 +++++++++---------- > arch/riscv/mm/init.c | 30 +++---- > arch/riscv/mm/kasan_init.c | 119 ++++++++++++++-------------- > arch/riscv/mm/pageattr.c | 74 +++++++++-------- > arch/riscv/mm/pgtable.c | 71 +++++++++++------ > include/linux/pgtable.h | 21 +++++ > 15 files changed, 334 insertions(+), 301 deletions(-) This has some build failures, I was just talking to Alex and he's going to fix them.