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 A5D68CDB482 for ; Wed, 18 Oct 2023 20:36:18 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1F36380021; Wed, 18 Oct 2023 16:36:18 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1A3CB8D0016; Wed, 18 Oct 2023 16:36:18 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0935280021; Wed, 18 Oct 2023 16:36:18 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id F01168D0016 for ; Wed, 18 Oct 2023 16:36:17 -0400 (EDT) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id CF01D80474 for ; Wed, 18 Oct 2023 20:36:17 +0000 (UTC) X-FDA: 81359739594.19.E0E0FAC Received: from cvs.openbsd.org (cvs.openbsd.org [199.185.137.3]) by imf30.hostedemail.com (Postfix) with ESMTP id 15E0D80002 for ; Wed, 18 Oct 2023 20:36:14 +0000 (UTC) Authentication-Results: imf30.hostedemail.com; dkim=pass header.d=openbsd.org header.s=selector1 header.b=ZQX3DGaS; dmarc=none; spf=pass (imf30.hostedemail.com: domain of deraadt@openbsd.org designates 199.185.137.3 as permitted sender) smtp.mailfrom=deraadt@openbsd.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1697661375; a=rsa-sha256; cv=none; b=sTo2DNiCxiI6BydTXlVx1iRbO4Si4o2QMlEMd1qN7coKbZMw1Ue3jgaebJa5g9NY3oChM5 4GIPirJEBa/WIJwfIliee0V4YbKGRZ7sm0fCcvsGBy6QOWQ8dIHNp/Uu4pa2QhJLnJueXJ K15rEyxw1bpShMP++TgCuPrSOITyM1U= ARC-Authentication-Results: i=1; imf30.hostedemail.com; dkim=pass header.d=openbsd.org header.s=selector1 header.b=ZQX3DGaS; dmarc=none; spf=pass (imf30.hostedemail.com: domain of deraadt@openbsd.org designates 199.185.137.3 as permitted sender) smtp.mailfrom=deraadt@openbsd.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1697661375; 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=04N1pinL4rnzpUOq6D3vak2UBdms648WjiAnrPMcgKE=; b=3atv93TtYTJOUBlQ/zY999hIlmBgSKm13nLT343CngQ1VamO5vt614OOZ/2nqHT47HxxmY mfCXr/VPmS3+D9Vd02nTGv1H1pBFwy9+Ou0Af5JvNHHXwl9ft6cg0oMU873wTP5pcR4cej AJzwwt3KsBQWJdgQORmAg2LQLWjON0s= DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; s=selector1; bh=QWshJ3q0CW z66rkm4YqP7BTMbsMVrEYYbR/yILapp8Q=; h=date:references:in-reply-to: subject:cc:to:from; d=openbsd.org; b=ZQX3DGaSR+jOPuhULTujDPgl6aQpN9KuN gkvVNbu/uJzrcaVSBOPHJ6dvubIemeu4UDb7Lz4jF9Xxgu0aYinyXtirWEjOpnIn6eYy7W LdYoAlcHB28FhisY6YPTtKjbgfs16deat7bmpxb8RQYqu18SAa/XEuW4yqilS7oyycVzh4 4ZnQPden+AqQCDDCbKPo5vkMNkrQN/bfHbJzjkc+kwZbUzhlabKs6r622pTPH1p3QoQHx+ oLEzpQ+VIfeFw1AXzvqe4JsvLglRoDkc6FGrcvBBsEQivtO8T0yA9JL72qY4VIj/v6gCMx +hK54KiqMvQIZIeJKJk6cfh7eXZAA== Received: from cvs.openbsd.org (localhost [127.0.0.1]) by cvs.openbsd.org (OpenSMTPD) with ESMTP id 681028d6; Wed, 18 Oct 2023 14:36:13 -0600 (MDT) From: "Theo de Raadt" To: Jeff Xu cc: Matthew Wilcox , Linus Torvalds , jeffxu@chromium.org, akpm@linux-foundation.org, keescook@chromium.org, sroettger@google.com, jorgelo@chromium.org, groeck@chromium.org, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-mm@kvack.org, jannh@google.com, surenb@google.com, alex.sierra@amd.com, apopple@nvidia.com, aneesh.kumar@linux.ibm.com, axelrasmussen@google.com, ben@decadent.org.uk, catalin.marinas@arm.com, david@redhat.com, dwmw@amazon.co.uk, ying.huang@intel.com, hughd@google.com, joey.gouly@arm.com, corbet@lwn.net, wangkefeng.wang@huawei.com, Liam.Howlett@oracle.com, lstoakes@gmail.com, mawupeng1@huawei.com, linmiaohe@huawei.com, namit@vmware.com, peterx@redhat.com, peterz@infradead.org, ryan.roberts@arm.com, shr@devkernel.io, vbabka@suse.cz, xiujianfeng@huawei.com, yu.ma@intel.com, zhangpeng362@huawei.com, dave.hansen@intel.com, luto@kernel.org, linux-hardening@vger.kernel.org Subject: Re: [RFC PATCH v1 0/8] Introduce mseal() syscall In-reply-to: References: <20231016143828.647848-1-jeffxu@chromium.org> <55960.1697566804@cvs.openbsd.org> <95482.1697587015@cvs.openbsd.org> Comments: In-reply-to Jeff Xu message dated "Wed, 18 Oct 2023 11:54:22 -0700." MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Date: Wed, 18 Oct 2023 14:36:13 -0600 Message-ID: <7071.1697661373@cvs.openbsd.org> X-Rspam-User: X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 15E0D80002 X-Stat-Signature: f94wq8xcfe8sgmf4m633e4zp5tcnjnch X-HE-Tag: 1697661374-367737 X-HE-Meta: U2FsdGVkX19EVGBxKHXr76zrp55K+YafuAHlvZaw18r4a2I22Ljk1L285mhwD0zmf+dirZQndTgO+BcmHCQRTJwJ/QCGVsgKlMS6jBdgOIfIyqjdQCX+acoWw636h4g7r44ubU91EBu71us7AqiEsb+1biPyRp2zpsu1tdORJBEdvmwek/+wZRGRdnMuBexSK0dfk630YRcqIjivpNDuXRbRnz2lTCezjj5AGg3R4XNL0PDdDOXhMHSCOVIHsXLeIoj1Y2ZPNUoS2Fubrf32TZ6CKYs1sFaVlQfb0vyvwa797H+Hpq4DCB9Rryw1fHyz8ku11eWMS/4awxtD5l9Ivv1cwYoewhBywy16jlUBp3lWpUNDPlnp6p6TyZb8lb1BBCM4hzo3XEc2SiI7RCHMDAsWSCZlro0yuPVV7JPDXROKqSNZBbLdWLZP5P56BOqCQa+JS6kDDi2BJCu5/nT/9E1LOLcdXwU/DZT0UgnrsZ8fwcutAN9UwyaEV1oauKuvy2eU5XZ/F5cbrq+XYbLsEQuAOPtd3kuk1S21/CC57QEDkp32WgOVG4n/TqBC225BNH/hsthgzVIvmYVExka23uYOJV25meBrO3JqSA1cEq1mz3las8ybbywXj5D53NeFBkc1DV/RzVFthHSAZscCWSb9pYg8uwxicCSbbSuLxfy7TyKx7HuqgNQqCMFVwxpWAD0Wz8Voi2KkdCaJSAIYSSRTmXqeenno6eoYjVCA/eu31q/sx2aHk1IMuJtSIImfaTDGH4PY3JsYrTLhP5i9FF0J4asLnnjxahlGcsfAPnXp7tFdgaZNHpKqVaePQjro9Ay1U7EhJyD5lqb8s+fxull4KYrHXhCdzqdMS77E/a3c4KbUsbHYBZYHKQnNJNxLrUgsLKGyjWkKUTieTM8x7mploV2F92EkHwuwycoOfyqmczZQ26FwHi21BfT/peRp504pfDeKfQQfB2jkp7S b6NU3bF6 h9NhG5ePtL1vHpjp5lu0QjhOhXXjMZskfKElfuNOVY/juenhZ/MNcqI+TAbrRESeML8PxmLG1iBlgjStBnE73r00XR0b8bMvCVsCSq+f8RKRWggf8WQdGWDDApWa7kMUhQ1f2fkzriaqP7XupH4vrEEVfgzBH3fu5MamNj6whyKdCD1GRVZNEcYJYSWH8mdlOBbAZCAWHzlomJ6Aex/BM60Mn1w== 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: Jeff Xu wrote: > On Wed, Oct 18, 2023 at 8:17=E2=80=AFAM Matthew Wilcox wrote: > > > > Let's start with the purpose. The point of mimmutable/mseal/whatever is > > to fix the mapping of an address range to its underlying object, be it > > a particular file mapping or anonymous memory. After the call succeeds, > > it must not be possible to make any address in that virtual range point > > into any other object. > > > > The secondary purpose is to lock down permissions on that range. > > Possibly to fix them where they are, possibly to allow RW->RO transitio= ns. > > > > With those purposes in mind, you should be able to deduce for any sysca= ll > > or any madvise(), ... whether it should be allowed. > > > I got it. >=20 > IMO: The approaches mimmutable() and mseal() took are different, but > we all want to seal the memory from attackers and make the linux > application safer. I think you are building mseal for chrome, and chrome alone. I do not think this will work out for the rest of the application space because 1) it is too complicated 2) experience with mimmutable() says that applications don't do any of it themselves, it is all in execve(), libc initialization, and ld.so. You don't strike me as an execve, libc, or ld.so developer.