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 8B96BEB64D9 for ; Fri, 7 Jul 2023 00:53:03 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 113468D0005; Thu, 6 Jul 2023 20:53:03 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 09CD78D0001; Thu, 6 Jul 2023 20:53:03 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E57ED8D0005; Thu, 6 Jul 2023 20:53:02 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id CFEC48D0001 for ; Thu, 6 Jul 2023 20:53:02 -0400 (EDT) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 9F0ABA0C9A for ; Fri, 7 Jul 2023 00:53:02 +0000 (UTC) X-FDA: 80982991404.29.7848E8E Received: from mail-wr1-f51.google.com (mail-wr1-f51.google.com [209.85.221.51]) by imf18.hostedemail.com (Postfix) with ESMTP id 9EEAB1C0003 for ; Fri, 7 Jul 2023 00:53:00 +0000 (UTC) Authentication-Results: imf18.hostedemail.com; dkim=pass header.d=jrtc27.com header.s=gmail.jrtc27.user header.b=esjLyRw9; spf=pass (imf18.hostedemail.com: domain of jrtc27@jrtc27.com designates 209.85.221.51 as permitted sender) smtp.mailfrom=jrtc27@jrtc27.com; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1688691180; 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=r67n9FyRXMn2NIxHWlUhbk55uKQk9X6Dzb3qD8qYPqE=; b=ubgaTd4K57o6jyDQikdje5lhTmDYTwdEOkq14q/mOi/NYZgCrrX3sDlJJ7PwUNCjwf7ADG 64d7csYcaaz1gexad6/xqMOjL2H7VOMHGtCOjgGup4/HzC9ayakEKfl/yRmGxJ+pIWRhwk 7xEx38aeqOBWlfpRHpIv/faL6YMG9qE= ARC-Authentication-Results: i=1; imf18.hostedemail.com; dkim=pass header.d=jrtc27.com header.s=gmail.jrtc27.user header.b=esjLyRw9; spf=pass (imf18.hostedemail.com: domain of jrtc27@jrtc27.com designates 209.85.221.51 as permitted sender) smtp.mailfrom=jrtc27@jrtc27.com; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1688691180; a=rsa-sha256; cv=none; b=RSCwxd/UcJE0Ql8YvsqSNBhe02Ox3d//E/A5hEIMZkgi8gZxTtAVvpNCocESxej+8484oI 7qrm8W5aVUoOxgHe1taPLY19mlSvvhMRcx2hHbz72bfFUM+uUK920yeE4P9wrloL4bpC0r ZkR7usT2Su9cuSL3ixis0TiNLDLQP78= Received: by mail-wr1-f51.google.com with SMTP id ffacd0b85a97d-313f1085ac2so1277117f8f.1 for ; Thu, 06 Jul 2023 17:53:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jrtc27.com; s=gmail.jrtc27.user; t=1688691179; x=1691283179; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=r67n9FyRXMn2NIxHWlUhbk55uKQk9X6Dzb3qD8qYPqE=; b=esjLyRw9yG+IBiqgDC3zXqfCcnN/DbqAvEF78hFJzU3GMueXP0gDEe8GTEqkIWVxa3 v5zA190KEwcagvtZcljHSX5zruOtY+4A2hJCW3xQ3kYhJ90qFeRfxiol/gEciWHjfH+V mSyV5wfea0jWsz4PHhQxxB5Beo4CjL8wQp1MdL2w0G7UKtRX2oxrtnD39TtmFgkTupMk WrOKCQbvpbAoBBwRglsxfn/NNxtlufKtOCK89XiZrAuUWobpoJwWEkM6LzWixFkAJGVS MnU63/tx7DAHW6EBB/ZRB4iDp07GMPxP25YJdWEYTFFIVGB2D/It7bRcDQ1rxLN1efdG V0eA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1688691179; x=1691283179; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=r67n9FyRXMn2NIxHWlUhbk55uKQk9X6Dzb3qD8qYPqE=; b=HaEqh16kfJpsngCe0UdRxbvr0DK8lGzh851H89z46VVjhbSnCxldxzcsMxNK3OV+F5 jfW39mNQMCncMhZsDWk+MmMA9NiQqfKCmGrsPzTCExR1i/ReXtLEUJ0OUDY3skzgmYYn VSgTti7efurId9TU8La5SWxZDJg5J0xBRXyAjHM98Ku8wp/JjCsLlBNAzbTbR6D8Hzts 2/4FtYNcq2UIMqZMmSlbWYAMnzFzEeXtpWjM5QzR4UyE0sJoze0jnvJPwd0KVmD/h+wm hSEUkKdz/hXuck/1FLNWaVcTSwPrPRMuYF+xGDUP30UyhnKTOxYBvIwmiL6rwAj8j/p/ ap1w== X-Gm-Message-State: ABy/qLa1aZ8Two0I2cQKPhoT8zbw6u0VisQRIvPtbDBvXnLAu17kdTbr xFEUPru+zqgd0Yjt6sixiNSVzw== X-Google-Smtp-Source: APBJJlG7B59PVAJXs+YJAtg1NQZvtbN9/7wzF9BiD0+Kq6eoLvFO+eLgMC5CjxyPq9DIG3O6/bYyWQ== X-Received: by 2002:a5d:54d2:0:b0:313:f5f8:a331 with SMTP id x18-20020a5d54d2000000b00313f5f8a331mr2449781wrv.34.1688691178654; Thu, 06 Jul 2023 17:52:58 -0700 (PDT) Received: from smtpclient.apple ([131.111.5.246]) by smtp.gmail.com with ESMTPSA id u15-20020a5d6acf000000b003143b7449ffsm3086566wrw.25.2023.07.06.17.52.57 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 06 Jul 2023 17:52:57 -0700 (PDT) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.600.7\)) Subject: Re: [RESEND PATCH v3 1/2] RISC-V: mm: Restrict address space for sv39,sv48,sv57 From: Jessica Clarke In-Reply-To: Date: Fri, 7 Jul 2023 01:52:47 +0100 Cc: Alexandre Ghiti , linux-riscv , linux-kernel , Conor Dooley , Paul Walmsley , Palmer Dabbelt , Albert Ou , Anup Patel , konstantin@linuxfoundation.org, linux-doc@vger.kernel.org, linux-kselftest@vger.kernel.org, Linux-MM , mick@ics.forth.gr Content-Transfer-Encoding: quoted-printable Message-Id: <34483C0C-FA31-41E6-9263-1F9A08CEBE2C@jrtc27.com> References: <20230705190002.384799-1-charlie@rivosinc.com> <20230705190002.384799-2-charlie@rivosinc.com> <2084462d-b11d-7a48-3049-6bafbe81e7b4@ghiti.fr> To: Charlie Jenkins X-Mailer: Apple Mail (2.3731.600.7) X-Rspamd-Queue-Id: 9EEAB1C0003 X-Rspam-User: X-Stat-Signature: 6wxkgzi9g6zbhe47juao3iufhxju81ja X-Rspamd-Server: rspam01 X-HE-Tag: 1688691180-692869 X-HE-Meta: U2FsdGVkX1/YAHNS6arRil/3JveN6/WwzRys+vL9+p3VVppYVhOGolMBlW7uldMNMY4cN/P+184XAoB/s0UYC9zAZJqFoqF3ibHtrfZJauZ3nJfdvqL5C4PAi3LCfYAGUnEVP6nbC1cXV1XUdZQ0G+Ax5UI6WHpwi7iRscJAKE/ekUak+jbkWdlZebAxIkX7sl7NRm9HWDQkRdxxvKi7u0sYlF2USgjfYJItLYt0vnNBUwRbkCGUTy/61VYVJAhEerDF9FjlK8NQv5tjp0OOaU4DzVcT3z4LgNEVHp74Flc3j/QhwL8wis9uAlO22fH1PBeCT/bGGt2smnnCJ/68rAJFA+tJIJYXGcqMBQX4Kp5N9xiy+kbIZ5Wh2A4bQeATMJGAEbglK0XN45CGYfsUz7hrzCziJVg7QyHPFkK8kMQkxJIARu5c/LJg41NMRY+KdAv/1w/AknZeYFLxYoe6hGSzb3zpcqa5zX6PendDGYMSgVPMKeo49dd+81XZbrMEOtR1C/M/PlLFF1bUCyjORF3R4mXpIbLWlmrRVrXfgsTRFslOM8j630XNraKcSXMHm9AiDHJJw1MvJhwFZmud24zJ/mFiWPAfOH/UdZxukpQm/jvdisiAv5VV8SXmrdxdvr8G1l/I+n5Nwf1H6GRpJIJIBOgiuT6jeKQngtl3LmMhonhcwaJf76FmLN9FjBzpV5bchCEuaek508i7+bXJEC+W5472lxNXLo5PpGk9tjsZHQ16+W+FQTf0b2OxAQqIsq7u5hjwjCUJhW8p+fECK0PzXQFLGFGz+TMxC+34MfBw+HD1raFetGxr2jDY8Ar2IJa/a8Yocx5RMRyg0WD4+72TckyFPfYH0t2dDRauA79s3UFcObHTtwRbHdRdo4LBP13Q/c762c9y43OKsE/HUSaOw9BjsBoU2crz/jhOe4yzXO4ERLtIOfDSl64ENmutD9Lq3tmlAehf7YxQSSg bDi+cAwY Kd+5ctOokt7J3y71W0EoK6/zR1rQQfCpX5IHajZUK4uVbPM5qf+ruu7lelEzQ2YLGfO/3MF0jZikIqF7VkWRUyKx174VOwDMKD8lUMp677NjQ8UIg8lcjBkioEr1pZwUYK/ZxYUXOz76NtXwFIv2XQNsAv5xvGJRfVkBJ+RIXJpnJj9qq6c5AbOdboJFD6bWI0fUak4GuBmtls3rJEj/wih5AlGBKSAI2fWNLKuekHYUV/VuS9iaJ+RX8QYnCZ5YtP9JfebKjEx7OTMnIlYJrbYiAme0kZ64FWn4PQEfGkn7ezxUDfFWFo3fdCO352H7hsskbvjxNYNcStJ5G4nbJ7oK7DgfPCDLbHfdEC0IROrln9TK2noGxcfwxdngmBiOZKs4nLpXHCbIh/2qh72jcoIEQ+ubT+wrNZp9x9ZviOhbAkwg= X-Bogosity: Ham, tests=bogofilter, spamicity=0.126770, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On 7 Jul 2023, at 00:56, Charlie Jenkins wrote: >=20 > On Thu, Jul 06, 2023 at 11:11:37AM +0200, Alexandre Ghiti wrote: >> Hi Charlie, >>=20 >>=20 >> On 05/07/2023 20:59, Charlie Jenkins wrote: >>> Make sv48 the default address space for mmap as some applications >>> currently depend on this assumption. The RISC-V specification = enforces >>> that bits outside of the virtual address range are not used, so >>> restricting the size of the default address space as such should be >>> temporary. >>=20 >>=20 >> What do you mean in the last sentence above? >>=20 > Applications like Java and Go broke when sv57 was implemented because > they shove bits into the upper space of pointers. However riscv = enforces > that all of the upper bits in the virtual address are equal to the = most=20 > significant bit. "Temporary" may not have been the best word, but this = change=20 > would be irrelevant if application developers were following this = rule, if I > am understanding this requirement correctly. What this means to me is > that riscv hardware is not guaranteed to not discard the bits in the = virtual=20 > address that are not used in paging. RISC-V guarantees that it will not discard the bits*. Java and Go = aren=E2=80=99t actually dereferencing the pointers with their own metadata in the top bits (doing so would require a pointer masking extension, like how Arm has TBI), they=E2=80=99re just temporarily storing it there, assuming = they=E2=80=99re not significant bits, then masking out and re-canonicalising the address prior to dereferencing. Which breaks, not because the hardware is looking at the higher bits (otherwise you could never use Sv57 for such applications even if you kept your addresses < 2^47), but because the chosen addresses have those high bits as significant. * A page fault is guaranteed if the address isn=E2=80=99t sign-extended Jess