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 06DBCE748F5 for ; Sun, 1 Oct 2023 15:20:02 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D5E126B0152; Sun, 1 Oct 2023 11:20:01 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id D0EEE6B017A; Sun, 1 Oct 2023 11:20:01 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BD68D6B017D; Sun, 1 Oct 2023 11:20:01 -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 A9F146B0152 for ; Sun, 1 Oct 2023 11:20:01 -0400 (EDT) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 7C9B3C01A9 for ; Sun, 1 Oct 2023 15:20:01 +0000 (UTC) X-FDA: 81297253002.06.5FF261D Received: from mail-ua1-f52.google.com (mail-ua1-f52.google.com [209.85.222.52]) by imf06.hostedemail.com (Postfix) with ESMTP id C2A33180002 for ; Sun, 1 Oct 2023 15:19:59 +0000 (UTC) Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b="SA/c+VC2"; spf=pass (imf06.hostedemail.com: domain of pedro.falcato@gmail.com designates 209.85.222.52 as permitted sender) smtp.mailfrom=pedro.falcato@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=1696173599; 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=AlqqAdUK9+XiZ3vr9zfHOEKY61BQKj01sr184YRw5U0=; b=kKgPkqkLzThL/Bhflsb/ZYa1/JvKEpEkfnpLj0tp46kJmuKWdYZBcOYYKoJtOS9J+XMVGd cx4jf4wASktdj2sZ5s7IV2o+byuGde89PYXWSOKjXc1ClfuozQvRdSKMFIqbk33wrlp++O PRv48QuuvlACGTc8C95N4mV0XHGucbI= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1696173599; a=rsa-sha256; cv=none; b=lkZ54gVzkuBwWdFSPd7/XMlQOAE8nRYJmPGuSzaQhlpDhTouTZuu2bai2K+NtQ6eusmiBU d3vmCp84f/eN8LKCbuYQzGe3jeI9OSlDT6DD8THKoMCeKP+yusu5IoCssWY1I2gpupdmGs wN9ouRJtU17aw3NeQ+islChS91u7wsU= ARC-Authentication-Results: i=1; imf06.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b="SA/c+VC2"; spf=pass (imf06.hostedemail.com: domain of pedro.falcato@gmail.com designates 209.85.222.52 as permitted sender) smtp.mailfrom=pedro.falcato@gmail.com; dmarc=pass (policy=none) header.from=gmail.com Received: by mail-ua1-f52.google.com with SMTP id a1e0cc1a2514c-7b0a16f0338so700947241.0 for ; Sun, 01 Oct 2023 08:19:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1696173599; x=1696778399; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=AlqqAdUK9+XiZ3vr9zfHOEKY61BQKj01sr184YRw5U0=; b=SA/c+VC2x5mv5j7gjwLxuaaqmc7lYB1nNKmj7R0ZoHMzig+g399sCzHVUnCDGtba4z uPYXfBNm9ylZumh+ZLIGMRNzJXCBiCq/nY026vleixuZK+DLZZE/47RXXyBl1Kkjj8sA Y4decORM5iXWPthpDYskY7OSrd26R3WU5BgtBZshxiGuhfr7WU/0hy0+F4mV9eHhFv/9 oiTiOBqr/XnsDbs3jCiSDinifuinL7YJG8NrCUlS20+l5tiwzgtkTq2q/GN2mtH0VDye 8bli+INtkibvQJNQG4Kw8TAYr18pHHZqQk6hgxf7hdy/djBCHHz4Hjw96E5wO8cuoV1i fQ7Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696173599; x=1696778399; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=AlqqAdUK9+XiZ3vr9zfHOEKY61BQKj01sr184YRw5U0=; b=XxlhoGj6AfjQJGfVxz8xrbBDT4CSHyV2rPMdV4yKwgePH5anfj9OxdzB2xW82Wnh51 QL2AS+9Psk6C/acfjHL1EAmOJftFPcELATRGyqFmxvBtZZCVBzAY6xc0KBoxkrzq4+2c XS3PXckm0alA8HBvhci4CgR34vvFbpEtG6np1YKADuK1phZxiJOod6QO9bn+KZVumcTL RshgIEJpY/6UlxLxSfZkTo/5f/PnMBccMWoEL2yg6AYFK/iqI9oLJs/3yW4Y6fxM3mC1 oI/vm9yrbF+znCxAcoh5ixo9GfmJVO2gvJ9w9gygNn5dsOZPZyr/1Rw5uVXpYB+z15jx oDgA== X-Gm-Message-State: AOJu0YyFD4Ysfgq/fx9+qQi06mJrhVXE1iH94Kq5JNtDQg5DS+0JpMhn fIw+8rc1ZjOjb00Ws/MwXuD8IMydcAAg85lDsfY= X-Google-Smtp-Source: AGHT+IE4j3gWxMSOq6OvgLxoyzhdOUwDwvHxGddLU/JkAl6FbHrfp+/DN0/951hZIUWzbtcBLYlLKbL/bWmW7iCfKG8= X-Received: by 2002:a1f:c5c7:0:b0:49a:6dc0:5a89 with SMTP id v190-20020a1fc5c7000000b0049a6dc05a89mr6121125vkf.5.1696173598711; Sun, 01 Oct 2023 08:19:58 -0700 (PDT) MIME-Version: 1.0 References: <20230929211155.3910949-4-samitolvanen@google.com> <20230929211155.3910949-6-samitolvanen@google.com> <202309291452.66ED9B4D83@keescook> <20230930-emporium-share-2bbdf7074e54@spud> <202309301400.4E1AD87@keescook> In-Reply-To: <202309301400.4E1AD87@keescook> From: Pedro Falcato Date: Sun, 1 Oct 2023 16:19:47 +0100 Message-ID: Subject: Re: [PATCH 2/2] riscv: mm: Update mmap_rnd_bits_max To: Kees Cook Cc: Conor Dooley , Sami Tolvanen , Paul Walmsley , Palmer Dabbelt , Albert Ou , Andrew Morton , linux-mm@kvack.org, linux-riscv@lists.infradead.org, llvm@lists.linux.dev, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: C2A33180002 X-Rspam-User: X-Stat-Signature: 4x6fd8apgahjrxsx9657ob8onm5fbrb5 X-Rspamd-Server: rspam03 X-HE-Tag: 1696173599-157658 X-HE-Meta: U2FsdGVkX1+g9sq89ar5FwMmv6qN+/CMfAjr/ydGJSO3BFyJ2dpdsP5VkTnwCjU7SPE2EjLdII3/OF88GTvLvZB3rxG4Ue3kZlWjjM5MmD/SmI3+Gz/0OouyFpLvNkVQg/NhtRu08zm11DyQ2EXI2XKlSMWiBQx5daPQJXxZ/n79G77wg9hEFJ+Jh81BYyv/mfh3rVREvefGORtcqPpwkRNIwd67YxDtpifDpAbGpwV2baZ9t7c+yQDnH9ctkh6+vI7U11RRi7eMFEzB/xdocupTeud4rIGoy9ECbWgxv2BUtLjXuTOEYz0CtllYLKGn/oBDBuMtJokGLjFoTw5yGee6ZH+xa3bT/RVxyMs+J4JxJx3niB5Oo8yA2+iTbdzmq4wbusV66xi3YBKO5NlwepC1qVsG7uWnw7lLHj5JbdJE72U3YksydCAWxS21+Wy8fso9LDrl0ABz8T+zXhyleaC7plbrSE7gCt77DvYLRGOZ7tjfonYwJMUylqkycR5EaYJgPQUMoM6T7YYLThKAipAtqPm110E/CmvbW32ss1DwmhlRvlutIfqlmv+qja9sV9awB/lTD3BB2aPD3Ft2amOUIEeZr45fsKdzE3iMT0IaZGN1BNNtzf8OFcWk0HbFUHwNhUkfZIwTKp11P25iL4nh/WSvmDidD9MITVLrdohAvLP3xfBJchAUhy/MjVssHbgVF7Unram64ZkclV67U9WomQapcXsvu40fCgOQmwhI4jJuc4pPdUrSIZQTYZOYuo8KtsqBp/o2OziARafYVU/bch4LAszByDLS3z5MwDPsC7ndMfkXuAMRH3NrcuMO2KoZfhJgAo3xuGqAbixefli3LJyUI6xux30qGwnmEAiw4aOZCN/L/LXk0o4/IcA50THRcpA8GoUKQxvwGKRdtY+LLfZdnMFgPi7I/nIOYEK6q7dLpIzIjvKi21bDhtqqtMadlRjK2MKV00tebWB svPNbdvR 0XIwF0k3A7kjl57GeCf+mJgo62ed1UXYM6SAGSE9u66KewWX65xj+ra9O6VzlltOQZsmACDI1RpwnI7d8T79Dycaq5ZeboQ+g9GgrHRdn9UmgtYESLSMphpgK90yo+TGwMy9FQG0iVciK7KCUqFBvv8hlgEXUE8+LHJo6TCuniNSrcCw2dg5m+dj98lqJOs+lG4yB3VdPvRHerIZ7dZQH65g3azaaupqLQg5lQAdvPpJiSpg1jiN4dxKjJI6UrmLijAIpiz0eUO1ne5BM4addKe0qEwWqs+Vk+SKT+VBtLIyzNG/5s2QvnjhPFZhvMhfyuTpoC7cmIToFTodyxqB0LIH9YpZoRhFIPYBQ0i2B5IZji4Bu1s/OsA9NIRy2Jww8O1JqoPwzSmpiYdSwGtln7w4YQH+7GIRhDnm1CbtHamN5ZJNK0DViQ1FvGzPAOui+UgCdC2x2zFITMzkX0c+QXHWSuhKyeBmKdsVpmzs0WITp9ZwgdVKlqHm2aA== 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 Sun, Oct 1, 2023 at 2:51=E2=80=AFAM Kees Cook wr= ote: > > On Sat, Sep 30, 2023 at 10:02:35AM +0100, Conor Dooley wrote: > > On Fri, Sep 29, 2023 at 03:52:22PM -0700, Sami Tolvanen wrote: > > > On Fri, Sep 29, 2023 at 2:54=E2=80=AFPM Kees Cook wrote: > > > > > > > > On Fri, Sep 29, 2023 at 09:11:58PM +0000, Sami Tolvanen wrote: > > > > > ARCH_MMAP_RND_BITS_MAX is based on Sv39, which leaves a few > > > > > potential bits of mmap randomness on the table if we end up enabl= ing > > > > > 4/5-level paging. Update mmap_rnd_bits_max to take the final addr= ess > > > > > space size into account. This increases mmap_rnd_bits_max from 24= to > > > > > 33 with Sv48/57. > > > > > > > > > > Signed-off-by: Sami Tolvanen > > > > > > > > I like this. Is RISCV the only arch where the paging level can be c= hosen > > > > at boot time? > > > > > > I haven't seen this elsewhere, but I also haven't looked at all the > > > other architectures that closely. arm64 does something interesting > > > with ARM64_VA_BITS_52, but I think we can still handle that in > > > Kconfig. > > > > AFAIU, x86-64 can do this also: > > > > no4lvl [RISCV] Disable 4-level and 5-level paging modes.= Forces > > kernel to use 3-level paging instead. > > > > no5lvl [X86-64,RISCV] Disable 5-level paging mode. Force= s > > kernel to use 4-level paging instead. > > Ah-ha! Okay, well, then let's track this idea: > https://github.com/KSPP/linux/issues/346 (Replying here for visibility, tell me if you want to move this discussion to github) AIUI, x86 cannot do this for compat reasons. Even if you enable LA57, mmap only gives you < 48-bit addresses, for compatibility with things like JITs, etc that stash information in the upper 16 bits. You need to pass a > 48-bit mmap hint to get 57-bit addresses. I imagine riscv does not have this issue yet, due to little accumulated cruft, but it may be wise to check against popular JITters for these problems on riscv code. --=20 Pedro