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 1B3B0C43217 for ; Thu, 1 Dec 2022 19:24:53 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4755D6B0071; Thu, 1 Dec 2022 14:24:52 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 425876B0073; Thu, 1 Dec 2022 14:24:52 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2C6466B0074; Thu, 1 Dec 2022 14:24:52 -0500 (EST) 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 1AC876B0071 for ; Thu, 1 Dec 2022 14:24:52 -0500 (EST) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id C05E51C5DCE for ; Thu, 1 Dec 2022 19:24:51 +0000 (UTC) X-FDA: 80194714782.04.C869A8E Received: from mail-pj1-f49.google.com (mail-pj1-f49.google.com [209.85.216.49]) by imf09.hostedemail.com (Postfix) with ESMTP id 4B8DB140014 for ; Thu, 1 Dec 2022 19:24:51 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=dabbelt-com.20210112.gappssmtp.com header.s=20210112 header.b=Wvpk6usH; spf=pass (imf09.hostedemail.com: domain of palmer@dabbelt.com designates 209.85.216.49 as permitted sender) smtp.mailfrom=palmer@dabbelt.com; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1669922691; 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=3EyC+l2xoTg21FRJVHmDMpGpIwBHjk+EZXckKbYJ+bM=; b=RXqHJzIEUn1QOwq5iF6fg/ekA+xmE4wQbISSvqGjgy0vrEzXWVhpqcHjHPtTAe5j3WdaQr TX0WZR6XOhRxBScbKZHvxUlPpkrs1JrBKNJd4uXjz7Twt3ayC/M3f6gZNWTvGznrUXbGEJ CAZwZheTQ4sHI9TD+UIu/vG7/tQWVo4= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1669922691; a=rsa-sha256; cv=none; b=uWCKtE9vv6/jIDq/bSQg2sDUVgSSj/BkGUYDjebwWS6UXQchr+S5J9Knn1g9PB7JNAiBFc OPlMUt7oMPYe47dnfSvZ/CQjLnNPs8cwGHnTJyBvSi/q+RzWNRVkYVqLaDVrxCli7+E0Vl UbK6bCpI1SuD+3OCwcQKplQh3LRKtFs= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=pass header.d=dabbelt-com.20210112.gappssmtp.com header.s=20210112 header.b=Wvpk6usH; spf=pass (imf09.hostedemail.com: domain of palmer@dabbelt.com designates 209.85.216.49 as permitted sender) smtp.mailfrom=palmer@dabbelt.com; dmarc=none Received: by mail-pj1-f49.google.com with SMTP id o5-20020a17090a678500b00218cd5a21c9so3061184pjj.4 for ; Thu, 01 Dec 2022 11:24:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dabbelt-com.20210112.gappssmtp.com; s=20210112; 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=3EyC+l2xoTg21FRJVHmDMpGpIwBHjk+EZXckKbYJ+bM=; b=Wvpk6usHFf08wgUpOcO61wbMziW2fNh4OWe2RL89HYS0FFeCsZxunqN5skgJbIb8aW o/jRO40/pTnhi0DuRlkNclEKnBLFNvn6hkVF2UUc+ZNQBPMCT/wMJREn8ZsMyY8JXFwl FUHLao2DRyLhv4voSy6fqh0VjBWyGm13QYGS1m5OJFJ1SyIOxsSESqAA/2Y3TOh5EFOe mJIlZkBIS7r50Uhc6Imtc0twTUqmDbHHHsgdCMyfyJkpZzgWLuQb7mHRS3rMSMCH0gGP g/fLkQ17sWj9fj3Wieg/mqPvIUWXFN/6z4TpNli4y+FQDPdEQPxFkcemuUn7Jmz+MpxB hNbQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; 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=3EyC+l2xoTg21FRJVHmDMpGpIwBHjk+EZXckKbYJ+bM=; b=SZnPrgTScbAcalBw9CNaXx6mWfg+UyOGh6jZjH7SdxT9v1kJ+D6Z8vrh52Pwc1Yt+g ZZU1RRul3IZ2zFnoNT/G/9ClYVhob7Zs38rOHO7NLM6f4ASEVrWxQCwQwpXbX5QhOHCU ggEZs+iUHPobSg0dWKRmlWjsi4pBdotZtBFgRVAXaG2A1ya1OA6jI1vmc2hY5DViXeFT i7dOuUm3XcC+3AZiG0atzvzSc9GwoeCOyKwnNcULeD3qX9pNDeigg547YPlyIlIcZ8eW SBXgEIU0nNwTEhtfEiOwA8cjGdmu4OSUCAHSvY9BQOY9V26xnA0jgY7qPCeu97OR4nMt CyUA== X-Gm-Message-State: ANoB5pnEYgOB11boWdq/hXwFBMm6oM3pcsbqht28h2LAQvtKTsfISiri +qMjff6C7H+S5G/9c0v+0M7gFg== X-Google-Smtp-Source: AA0mqf48dwpXs3J0JRG21XUWX/PuQXxmt3SsEI7+2JhTfc0RC63eVOE3Yv3fog/cYbprpi8COni6JA== X-Received: by 2002:a17:903:28f:b0:189:8a36:1b70 with SMTP id j15-20020a170903028f00b001898a361b70mr22952985plr.12.1669922689973; Thu, 01 Dec 2022 11:24:49 -0800 (PST) Received: from localhost ([50.221.140.188]) by smtp.gmail.com with ESMTPSA id o13-20020a170902778d00b00176ba091cd3sm3982639pll.196.2022.12.01.11.24.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 Dec 2022 11:24:49 -0800 (PST) Date: Thu, 01 Dec 2022 11:24:49 -0800 (PST) X-Google-Original-Date: Thu, 01 Dec 2022 11:24:27 PST (-0800) Subject: Re: [PATCH 1/1] riscv: Fix P4D_SHIFT definition for 3-level page table mode In-Reply-To: <20221201135128.1482189-2-alexghiti@rivosinc.com> CC: Paul Walmsley , aou@eecs.berkeley.edu, panqinglin2020@iscas.ac.cn, linux-mm@kvack.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.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-Rspam-User: X-Rspamd-Queue-Id: 4B8DB140014 X-Stat-Signature: huy7t548wer1w7c34pyhbc4byn9tq38y X-Rspamd-Server: rspam01 X-Spamd-Result: default: False [2.10 / 9.00]; SORBS_IRL_BL(3.00)[209.85.216.49:from]; BAYES_HAM(-3.00)[99.99%]; SUBJECT_HAS_UNDERSCORES(1.00)[]; MID_RHS_NOT_FQDN(0.50)[]; MV_CASE(0.50)[]; RCVD_NO_TLS_LAST(0.10)[]; BAD_REP_POLICIES(0.10)[]; MIME_GOOD(-0.10)[text/plain]; MIME_TRACE(0.00)[0:+]; TO_MATCH_ENVRCPT_SOME(0.00)[]; DKIM_TRACE(0.00)[dabbelt-com.20210112.gappssmtp.com:+]; RCPT_COUNT_SEVEN(0.00)[8]; FROM_EQ_ENVFROM(0.00)[]; RCVD_COUNT_THREE(0.00)[3]; ARC_SIGNED(0.00)[hostedemail.com:s=arc-20220608:i=1]; PREVIOUSLY_DELIVERED(0.00)[linux-mm@kvack.org]; ARC_NA(0.00)[]; R_DKIM_ALLOW(0.00)[dabbelt-com.20210112.gappssmtp.com:s=20210112]; DMARC_NA(0.00)[dabbelt.com]; FROM_HAS_DN(0.00)[]; R_SPF_ALLOW(0.00)[+ip4:209.85.128.0/17]; TO_DN_SOME(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[] X-HE-Tag: 1669922691-208316 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: On Thu, 01 Dec 2022 05:51:28 PST (-0800), alexghiti@rivosinc.com wrote: > RISC-V kernels support 3,4,5-level page tables at runtime by folding > upper levels. > > In case of a 3-level page table, PGDIR is folded into P4D which in turn > is folded into PUD: PGDIR_SHIFT value is correctly set to the same value > as PUD_SHIFT, but P4D_SHIFT is not, then any use of P4D_SHIFT will access > invalid address bits (all set to 1). > > Fix this by dynamically defining P4D_SHIFT value, like we already do for > PGDIR_SHIFT. > > Fixes: d10efa21a937 ("riscv: mm: Control p4d's folding by pgtable_l5_enabled") > Signed-off-by: Alexandre Ghiti > --- > arch/riscv/include/asm/pgtable-64.h | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/arch/riscv/include/asm/pgtable-64.h b/arch/riscv/include/asm/pgtable-64.h > index dc42375c2357..42a042c0e13e 100644 > --- a/arch/riscv/include/asm/pgtable-64.h > +++ b/arch/riscv/include/asm/pgtable-64.h > @@ -25,7 +25,11 @@ extern bool pgtable_l5_enabled; > #define PGDIR_MASK (~(PGDIR_SIZE - 1)) > > /* p4d is folded into pgd in case of 4-level page table */ > -#define P4D_SHIFT 39 > +#define P4D_SHIFT_L3 30 > +#define P4D_SHIFT_L4 39 > +#define P4D_SHIFT_L5 39 > +#define P4D_SHIFT (pgtable_l5_enabled ? P4D_SHIFT_L5 : \ > + (pgtable_l4_enabled ? P4D_SHIFT_L4 : P4D_SHIFT_L3)) > #define P4D_SIZE (_AC(1, UL) << P4D_SHIFT) > #define P4D_MASK (~(P4D_SIZE - 1)) Reviewed-by: Palmer Dabbelt Too late for this week, but if someone's got a concrete regression then I'm happy to take it next week. Otherwise it'll end up on for-next, it'll be backported anyway but this way it'll have a touch more time. Thanks!