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 5373DE743C3 for ; Mon, 2 Oct 2023 15:58:49 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C87848D0041; Mon, 2 Oct 2023 11:58:48 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C0FD08D000E; Mon, 2 Oct 2023 11:58:48 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AAFE08D0041; Mon, 2 Oct 2023 11:58:48 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 957B28D000E for ; Mon, 2 Oct 2023 11:58:48 -0400 (EDT) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 5DD2A140334 for ; Mon, 2 Oct 2023 15:58:48 +0000 (UTC) X-FDA: 81300979536.14.CEA1181 Received: from mail-vs1-f52.google.com (mail-vs1-f52.google.com [209.85.217.52]) by imf21.hostedemail.com (Postfix) with ESMTP id 9BB151C0015 for ; Mon, 2 Oct 2023 15:58:46 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=1c4Eh6yZ; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf21.hostedemail.com: domain of samitolvanen@google.com designates 209.85.217.52 as permitted sender) smtp.mailfrom=samitolvanen@google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1696262326; 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=V/uBY1GHK5wM8Sw0r1xr8kkIVh7PpQ9+l557Rxtbl80=; b=ujCU0tHtafvQUCjuOCeHLrikjeuTAkEMH3jaMxfIPuUKv5VdyQK/k8aPJ2IT78XaYBn91B lDQ8LxOsyKG1JS1kSDz2FRabchThHmBl3BY92mt7Y7iIkNjsSQFLSd/A/lWPMSv0gY9mzs KW4CidgY6XQCbn4L+RJQjyOZBKvzLj4= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=1c4Eh6yZ; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf21.hostedemail.com: domain of samitolvanen@google.com designates 209.85.217.52 as permitted sender) smtp.mailfrom=samitolvanen@google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1696262326; a=rsa-sha256; cv=none; b=XdPNU7EgmspM2CrXEDFBwofKaR/bB3IiVmeYX/sf+uq+iBDJx8Z+L/dNxiHtiULh5hhfvP 5DLbUC4uqm9iUjiSmP+BPIFQirBJeJ6MA+xqpvscxEPd5iFZWdIpFltH1IHdMy+COfyX6N iKVxJXJ6vYKqjkhFzRPq02Iib+AiI2U= Received: by mail-vs1-f52.google.com with SMTP id ada2fe7eead31-4547428694dso1998181137.3 for ; Mon, 02 Oct 2023 08:58:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1696262325; x=1696867125; 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=V/uBY1GHK5wM8Sw0r1xr8kkIVh7PpQ9+l557Rxtbl80=; b=1c4Eh6yZ9Jg2cW3L7Fyvkf0nQe7yZ99va4yNH1YuvpvqLP7fn4qSnhqq5IzQekyiN3 TymLd4jBaTUo4mX98+raX3Q6Tlvzt2txf/TfHsQMdzTrXCai4oKOwvas/M5WF1osPcIo pUQWCvnk9+q9RC6FoxSW1Jp52HfixFtItr9SuE809lOjtf0RU4w5/xbvAfphVhjHzEV8 dbOpe3w98gNL6P0qFC8Ggv9tOrJ6xfbebwzfKcMZR03JHDLDenuJd4wTAsqDPAL1b7xf 1qRNURct2WWls+z4Kn4bmDy+KgIhHLAFc0FPw8ycJrarOkbC8MmNHlRA3tVfRlWxKbTM Wq9Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696262325; x=1696867125; 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=V/uBY1GHK5wM8Sw0r1xr8kkIVh7PpQ9+l557Rxtbl80=; b=KrjTexKNHdHuk7kEFmaoUOYt/XCn1ctLRVB3a4DNOkPBfJTZfDluPOaRN4Eg3OgoQa nIxqVd4zsWnoaESulVmf4dn59GouYY9s74VQ8U8Ox6mqkX9CIv8WzqVYBbvkjh+jXx+0 G9sr6BARmCoEWrBeG3PjmDrkUTo1e3Rf8xDqoEiDJixFvwY4CSMC1zoRNsffDZ5zco83 qBM0l1EZbFWJRDWn/wd3XMshtiM0mo1cyDFRaCC3mxgwTbE9nyPnkpDH8VVBTiMJ+Wey qXCsyaYgEWdbVcZ5ty/6iSXnWZxuH0rFF/HwTHZOPkpWRSnN202Sn2mUayZxhHFsaacI KrSw== X-Gm-Message-State: AOJu0YyH7p37EUPSB4rqS1rdec09I1e/17/zUKUU+AK9skD0gelOY8Yj 8Ek8VsHLdFFX04fiRA9ZKhtx7+j2zFAhaw1ABVY4Ew== X-Google-Smtp-Source: AGHT+IFW1CmNUWYkc6jWoQN9D8Ez4GQmg0IhD/dCqR+ig8ardwLgD7Q08r9vAe22Az/mJ0aZENlZbqM+iJIDMe5iWf8= X-Received: by 2002:a05:6102:2db:b0:452:cfeb:160d with SMTP id h27-20020a05610202db00b00452cfeb160dmr10233920vsh.26.1696262325473; Mon, 02 Oct 2023 08:58:45 -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> <8d305ae1-4235-6ae8-7dfb-9f432fdfcd41@ghiti.fr> In-Reply-To: <8d305ae1-4235-6ae8-7dfb-9f432fdfcd41@ghiti.fr> From: Sami Tolvanen Date: Mon, 2 Oct 2023 08:58:07 -0700 Message-ID: Subject: Re: [PATCH 2/2] riscv: mm: Update mmap_rnd_bits_max To: Alexandre Ghiti Cc: Pedro Falcato , Kees Cook , Conor Dooley , 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: 9BB151C0015 X-Rspam-User: X-Rspamd-Server: rspam04 X-Stat-Signature: 51bxm6gityxpfuzd4bd7thmwijkarwdn X-HE-Tag: 1696262326-60021 X-HE-Meta: U2FsdGVkX1+qaV+r8dn29p+YKBFq6XyDHmFrug0Hc/xaxsQTTVn+PdSQpjm6hUqHz7mRfqt9qvtWThKUua9clwdZemX3nSyaIHrVHNFkBCAXbF/onlemdk09Xx3gHVmpiY5WiMgQk0ZIL2T9z6ND0SqBDyOawfm1TxqYA4KpaENxu+Nf2Kv7ksUQ0xfNXdx6DQgXCmxYv3c/AI+6TQeiovbBBMnXTfuWPUgxsThEdFiysHBlqjx2EF9Jsh9aWe/XE67EBOSK8pAV6OttnZHU4GvM0BmKuv8P7jX2esZ/k2RuKM22jzGoo745GJ4AXm9DeXwcVrGgkMubc1WqiUNs/0t929JoWMV6a3jrQVC0pDkxPhYNaAngIK0Rgv0FEiCfETQa3K3qBN/VxOnBr3Hh3sUy74tAeZ/CaRPLE3sVWreVrH0CsgILS9sZQIhGOGyB3HLPbR7q3iQLAHwNjBlpOPfCs7wEEbYXLO6FYvKGSre2zfogjMi6oBJayiMUKMxCTBK8JA8eZvJA5PJRGfHnJqwVa73cdxzTax6y416zYhS8D4LBbuBkRHnAjqWD6CbturIYE3q26VLiPTHGq8mtFKOAsgsViyTJluCA0pm7Ocn0N6V3aMBgH9YBEZiyeE9XpDy2dh+alHk+CZAXQ66ia/B7nwPMAY12nwFuqDDDVOFgqzwDL9lHfRs1llHSc41FbuKASZUe9uiPzse6wfEUzedgyh0mOln2D1IyAhROo4P02Qn62DT+3PcWTtg0mOrBDxuzlUuSTM0K1WSSUiJKfyEi70ST5ZyTuvXe4TKXDVIrx81CQK28aVhNVpi9V3T+H46rxbb/TW5Gdayei7pjlAO9yjMH5dvCNoPmsmzXjL2n/yWuW5gIEwn7gHy/qALbXiVr4lajzppfOasWV7rWD1lDAI0jcMvcIaPE9pO+AAW+fpvi4BmuajrAyYSgHDCtDwOW1w4fD9m6wZwN/Vh OOYRrgQ3 sAytYNCWBmb50Ye3EAIFj9rX+Ao5mWcZ3zEIb+JTjRbiKQddhuRPoYR5JwssOYwy9s5qmwfEc87uoWTSB8YHzQzHu1/Vr9uUnNLunH5RdKfWcYyDBVvKT76TN3G/J1wFonyzBJ3YtIoOn5sWIt+JOMiRWR28VBafFWBoyCN7s4OPQfj+rwP1McZwJEaAyw1nZQyT4wjkSe8zX63n8q5d/Z1RmCOJGi5HjqWTOZMDrS2x0bHXJQDioIJ0A1nMajijY30gCPRbOm/w2fCgK6XLVddGlF46e5ODY05JJEOB7WpUL6Qa9wxLZtGhmYLjlBzGM7IOu56PCZHC03dVFfkNOgzgBbf4LPR0ZNBGZH8yg6pQA0be3cF3vGpUNhoRV/UkJad371i51GN3vHP6+y4TRW7K7URCRmYfdFDJ8gkaDQo/IxWDikHSqWND2cLwf1wK2fWk0tWSiZYR8lyhJKtyj9EI4gMawpmKY4YTQRQAeJfcu/Pk8X1qKDdgDS9ruDU1pkaP+ydvKkLkcz+Aar+rSQsrn4e2PY0h304w1mkwo5MVvJTfu7AzP6yEm6VTZa2OXWKjb 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 Mon, Oct 2, 2023 at 12:02=E2=80=AFAM Alexandre Ghiti wro= te: > > On 01/10/2023 17:19, Pedro Falcato wrote: > > On Sun, Oct 1, 2023 at 2:51=E2=80=AFAM Kees Cook wrote: > >> 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 enabli= ng > >>>>>> 4/5-level paging. Update mmap_rnd_bits_max to take the final addre= ss > >>>>>> 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 mod= es. Forces > >>> kernel to use 3-level paging instead. > >>> > >>> no5lvl [X86-64,RISCV] Disable 5-level paging mode. Fo= rces > >>> 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. > > > > We already encountered those issues and the same solution was recently > merged (restrict to sv48 unless otherwise specified): > https://lore.kernel.org/all/20230809232218.849726-1-charlie@rivosinc.com/ We recently ran into this issue when bringing up Android as well because qemu defaults to Sv57 and some userspace bits weren't happy with >48-bit mmap addresses. Note that this patch uses MMAP_VA_BITS, which is 48 for both Sv48 and Sv57, which is why mmap_rnd_bits_max will be 33 even with Sv57. Sami