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 35CB6C4828E for ; Fri, 2 Feb 2024 20:37:20 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 864906B0080; Fri, 2 Feb 2024 15:37:19 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 814A46B0081; Fri, 2 Feb 2024 15:37:19 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6DD606B0082; Fri, 2 Feb 2024 15:37:19 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 5BFF36B0080 for ; Fri, 2 Feb 2024 15:37:19 -0500 (EST) Received: from smtpin14.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id EE755120F3F for ; Fri, 2 Feb 2024 20:37:18 +0000 (UTC) X-FDA: 81748023756.14.7CF02E8 Received: from mail-lj1-f172.google.com (mail-lj1-f172.google.com [209.85.208.172]) by imf28.hostedemail.com (Postfix) with ESMTP id DB658C0013 for ; Fri, 2 Feb 2024 20:37:14 +0000 (UTC) Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=google header.b=Ws770wC4; spf=pass (imf28.hostedemail.com: domain of torvalds@linuxfoundation.org designates 209.85.208.172 as permitted sender) smtp.mailfrom=torvalds@linuxfoundation.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1706906235; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=/+Lf+IboQG1dTAVnxNBjsFez85NCfDl/n19nRqwUon8=; b=VbOnczgPb6fo+A0P/wbY9lQ9/Gsa+BAxyuE/aIYnrl/cbUO2F4Z+hpPdC9I4qYpc0V8rvT xEbrhzl58gmAsih4gIgbfw890Eo/wcwEyzyr4bHLUkkyjsQDrkEZVoatTHMg/NWwtwwZPh aOjIWjU6kfJUIpK9LJ+SH/FGdoOoDgY= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1706906235; a=rsa-sha256; cv=none; b=nFzEVsrXxOK5PRrHRANNw26xq82vvyPB28oiFzIc5x5q5vkQUBH1xFvQ1+s4EuHDR5B0Vc s3XnfQlDFfTHQ8Xm8eAATczrqS+rFYvZoEQGmwcyTdt44i+JR3/cnwMcqtS/tMmVIWwIRR kqKL2IZOlu5RC/d3PHd4UlsZkj4xI1g= ARC-Authentication-Results: i=1; imf28.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=google header.b=Ws770wC4; spf=pass (imf28.hostedemail.com: domain of torvalds@linuxfoundation.org designates 209.85.208.172 as permitted sender) smtp.mailfrom=torvalds@linuxfoundation.org; dmarc=none Received: by mail-lj1-f172.google.com with SMTP id 38308e7fff4ca-2d066b82658so34777941fa.3 for ; Fri, 02 Feb 2024 12:37:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux-foundation.org; s=google; t=1706906232; x=1707511032; darn=kvack.org; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=/+Lf+IboQG1dTAVnxNBjsFez85NCfDl/n19nRqwUon8=; b=Ws770wC4WEguqbnOGcJDmMQ2HIUAFBuRkTuNVL02AzBZVWmIKe6YR2bfD5sVBYabKp i1WswntpzdF8ROxVFv90ljaT8Q+VmAHZ49qYKRAJAQUn4SzN/KG3B3YUkL2VEDz5JtTe GygGYGpm/Q9D8WvMs3IuwboDazm6Qh5B0bq/A= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1706906232; x=1707511032; h=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=/+Lf+IboQG1dTAVnxNBjsFez85NCfDl/n19nRqwUon8=; b=q+6lY+4RMfIYG5ZEJYDtSDCaGlmsDngZeWO1CExk3k9EcRJg+/X+7HfUMgf9g58FnK i+h4pN/XD2ZHXB/tjeTkQqhGJsfI9Jp8gf//eLntB5tGaLoXNhzMNc+7egwadIpNwNuJ x8RdPcdZrVRjqQmiCbee/lu2gEfmlDmWvZ6gSXdRX9MSMjvBiRHFUrk6wnG3wKbdWKpA wg76r4Wi9EJpQiEUEYs+9rknZRtqtU7La8KjKixkz8GW131Pf9LWvbmPh+yHCyii3Ad2 lpXNMM5sb5nazMQa9rpoHyGmp8pIDxGBu4+lDM52nPdZjzfcYX8ZD/XHDUiiLDqrX63a ck8g== X-Gm-Message-State: AOJu0Yy4R5LhLlErb8rER8K2ND38VMYmwNXFMvLLnZVyn/yEjeCfE7wA AQenMqd7yz+miJstSEka+ZpRPJOWnCT8TB88ysvj3yI9MzQG4OSqu7/ykMWNMXRtIe0n5lMLG5P 6/VkL3g== X-Google-Smtp-Source: AGHT+IF47B5ruMce5GETRMi/qGTeInsJkhO7R1ef5b2Lq6OK3v/CdGRdD83J6pAjLFlIE1EU9phvPg== X-Received: by 2002:ac2:4a85:0:b0:511:b9a:8225 with SMTP id l5-20020ac24a85000000b005110b9a8225mr1968478lfp.26.1706906232435; Fri, 02 Feb 2024 12:37:12 -0800 (PST) X-Forwarded-Encrypted: i=0; AJvYcCVNNB9D7pVm8xV3CZ5Od6cHczr67ZRmESEeVzoAi/zXGsJizvLWTvMUT7QBoPTHlMMQUO86BEUMOySrg4+mzeroIVw= Received: from mail-lj1-f178.google.com (mail-lj1-f178.google.com. [209.85.208.178]) by smtp.gmail.com with ESMTPSA id d20-20020a196b14000000b0050e8e88b529sm398599lfa.237.2024.02.02.12.37.11 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 02 Feb 2024 12:37:11 -0800 (PST) Received: by mail-lj1-f178.google.com with SMTP id 38308e7fff4ca-2d08d34ce3dso6883601fa.0 for ; Fri, 02 Feb 2024 12:37:11 -0800 (PST) X-Received: by 2002:a2e:9081:0:b0:2d0:643c:c2aa with SMTP id l1-20020a2e9081000000b002d0643cc2aamr2137336ljg.20.1706906231031; Fri, 02 Feb 2024 12:37:11 -0800 (PST) MIME-Version: 1.0 References: <20240131175027.3287009-1-jeffxu@chromium.org> <20240131193411.opisg5yoyxkwoyil@revolver> <20240201204512.ht3e33yj77kkxi4q@revolver> <20240202151345.kj4nhb5uog4aknsp@revolver> <20240202192137.6lupguvhtdt72rbr@revolver> <85714.1706902336@cvs.openbsd.org> In-Reply-To: <85714.1706902336@cvs.openbsd.org> From: Linus Torvalds Date: Fri, 2 Feb 2024 12:36:52 -0800 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v8 0/4] Introduce mseal To: "Liam R. Howlett" , Jeff Xu , Jeff Xu , Jonathan Corbet , akpm@linux-foundation.org, keescook@chromium.org, jannh@google.com, sroettger@google.com, willy@infradead.org, gregkh@linuxfoundation.org, torvalds@linux-foundation.org, usama.anjum@collabora.com, rdunlap@infradead.org, jorgelo@chromium.org, groeck@chromium.org, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-mm@kvack.org, pedro.falcato@gmail.com, dave.hansen@intel.com, linux-hardening@vger.kernel.org Content-Type: text/plain; charset="UTF-8" X-Stat-Signature: uaf53wu3a3a65u3qp8g4maa73d3oi35u X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: DB658C0013 X-Rspam-User: X-HE-Tag: 1706906234-913409 X-HE-Meta: U2FsdGVkX1/jUEMrKzjkSO7aIJH6YLXqd9AcRIKrtbCTjNGdzWf/NpckcleIk/58/IYrTkisufZeJVS6u4jKh8dcwZ+m46yTxAZ2oNZOMLr2OD9o7Wa/X3sq7de6nW7w1pyvqHYdlG3xSUW6pXVqtVCRzN1azow8kvDgGvClkEvGbA15KT/SHOscLnQUzXekvsUjGjR/fRDgvQa+kRSjNuu0wTnF3vb0DezuViFBwUX99NpidH90TkaXG4+VLQHZEydlGuRfVty6+aX5bNyxzGhxIHX/E2DpyXooe4Vf03bkY/yqwh+nhyY0fKLz1oaD+RSefB8fQzycXFcGFSvMJ3G+5SQc8+Du1SgBJEqsVlBBFQx2KZK9kiPOBPnBRO239Vzvz6yhppYdN0l5R3m22koFBlSpJJcbEvcL/yOfRFa86lzIR9CDY/4Bk9HttAnOf/2zGW9Vb/zeQ/0Anb30rxjuf/8IJrrCtgsWUbK+/qdzdlV4zSSlWyrxLqikXUKEbRqj0uymjDdQuhoDxIMlGjd6Xr80JKb15Sk5by4S8VhPMoGvkfDD8LRroOZm/32ehUOManXTCz1hzUiskpMcDJRIZejMcCDUhtjeSRKwc54rf3K9lhc6zFaxUM+TCAETS9lzhzCluM0ac0qwpezxoKIoUyM8MDnC8r1BOXE2cm5ASkaqSPGfOHlOV0wSWVpSlI+GO8wq1FC7ooHp8jDnLEwr2NKaENxxeWek01lb2pyLeGyuXXrWdL2hhkC9qL3H3oKQ2IB5QtYEtxbA8L63P60OrSCVIz4SS+VQboWmPGW/QmMU+X318razr1DAtJCM9iJo4KiM8ZJkFqtz8amvzshssBPavQHMv8413BWcodkttFDCaRSRmhnKGIhOu3dpkFmTMKi4GlYMSIQ9roQd/yNnaCif1LsJQNd7IqvvRBu9gsz/ae00rlpJDiC2gnhXOuWKqIsyOyWJmwnVTGx yya2AlMh 0HQwIddH0cbCl9NGZ+epYL/ahYlacroHME/QoUeSb9ZfIeUg0eeJJPw+WrYsrc7MW26XeulgHT3iPDeaDz41aNX4WLwC7aKxQ7J1wyYmv5RPCLiq/tcRMGnDJoRgGCc0121qf0C4B6qO8DQ5B+ecLB4XRpEKhpBvuNOt5maA8bBVFPGYsztjCX88JmkbhG9Vv3FghtzjD2NbwLqUJ1cmH+l3JXeQeoCz+CSJybmcm1/PkL3+VLGfvJO1N2tocsZ8AeHQr1y+HhtPRqWoyPr4pNnJ253TorEmQwWn5MIOWSkBtx1noJdb3WP6fIBcxvSS8ej31wid8ZQmzlEZfbnqrjxgrxtNLcDCBo+EKlH6xfhUnI8aJcvRlxw1zHXmqsXkR5rhcdv7JKUuZeI7hbBAsW/J4gckqzjzVMKECqXrUcHF/2ppasVPvsThbIWjoUu64x3dlZnnmV89MuRetvvEDiIZYo169WcfAi7S8JNGiOQKnJ4amhvBFZqtfyz0Ul+qaf4AmSvxt6djY7wto/sMNAlx7FdteUzxCnKCU/gG57L+FFWtPc2vV1ZHfh2x22p7R+R40TfRM3W2NewsBkz4wFJ2O0u/9y8cGQV5jw6rqA0b4TGVYZCrnVuKtQawhfkJa5VDN 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: List-Subscribe: List-Unsubscribe: On Fri, 2 Feb 2024 at 11:32, Theo de Raadt wrote: > > Unix system calls must be atomic. > > They either return an error, and that is a promise they made no changes. That's actually not true, and never has been. It's a good thing to aim for, but several errors means "some or all may have been done". EFAULT (for various system calls), ENOMEM and other errors are all things that can happen after some of the system call has already been done, and the rest failed. There are lots of examples, but to pick one obvious VM example, something like mlock() may well return an error after the area has been successfully locked, but then the population of said pages failed for some reason. Of course, implementations can differ, and POSIX sometimes has insane language that is actively incorrect. Furthermore, the definition of "atomic" is unclear. For example, POSIX claims that a "write()" system call is one atomic thing for regular files, and some people think that means that you see all or nothing. That's simply not true, and you'll see the write progress in various indirect ways (look at intermediate file size with 'stat', look at intermediate contents with 'mmap' etc etc). So I agree that atomicity is something that people should always *strive* for, but it's not some kind of final truth or absolute requirement. In the specific case of mseal(), I suspect there are very few reasons ever *not* to be atomic, so in this particular context atomicity is likely always something that should be guaranteed. But I just wanted to point out that it's most definitely not a black-and-white issue in the general case. Linus