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 2EE5FD4978C for ; Sun, 1 Dec 2024 20:23:49 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3DE136B0082; Sun, 1 Dec 2024 15:23:49 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 38DA86B0083; Sun, 1 Dec 2024 15:23:49 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2552A6B0085; Sun, 1 Dec 2024 15:23:49 -0500 (EST) 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 084816B0082 for ; Sun, 1 Dec 2024 15:23:49 -0500 (EST) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 8553C161321 for ; Sun, 1 Dec 2024 20:23:48 +0000 (UTC) X-FDA: 82847515632.01.49772E4 Received: from mail-ej1-f46.google.com (mail-ej1-f46.google.com [209.85.218.46]) by imf11.hostedemail.com (Postfix) with ESMTP id 61E4E40003 for ; Sun, 1 Dec 2024 20:23:35 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=google header.b=bLVVyGHy; spf=pass (imf11.hostedemail.com: domain of torvalds@linuxfoundation.org designates 209.85.218.46 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=1733084621; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=N0PBRuUNrVMG3jWkuVgZ+alnShpvbiX+xpV3R8jGwMw=; b=QWgYXwzT8+NcItYplxwpnHcsgX9dF3hbRqPK4oeuQLyj8c7zHcFVIm689hbR7ZT8UI7EWq n0TCWoj9Yc8eWi6GxBSh8UKP69dFhH67LL6x8rd4jckoAQbbtxfAZbvlY9slN8joQvM54O u+4oF2c/eSvG6PSDYVhPpbWLA5yBEjI= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1733084621; a=rsa-sha256; cv=none; b=1EuLE6N4pnsg8NyDCj1AdTVD3ZDqgWIOPxxzsuv+/l2uIZ+4etdbwKHgX3RD8ygrTNn+4W c3jdrif5MBrnobsek31BLveJb5wBDezpUnDmJb0GBXncO5baHj0Pq5z4g4/UKbX84EKtNU odrWqUd78GkOjDYY1/7gZlN+K531+xI= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=google header.b=bLVVyGHy; spf=pass (imf11.hostedemail.com: domain of torvalds@linuxfoundation.org designates 209.85.218.46 as permitted sender) smtp.mailfrom=torvalds@linuxfoundation.org; dmarc=none Received: by mail-ej1-f46.google.com with SMTP id a640c23a62f3a-a9f1c590ecdso599066066b.1 for ; Sun, 01 Dec 2024 12:23:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux-foundation.org; s=google; t=1733084624; x=1733689424; darn=kvack.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=N0PBRuUNrVMG3jWkuVgZ+alnShpvbiX+xpV3R8jGwMw=; b=bLVVyGHyNrZy51vrRq4ydeSn4+nm0Wx+MtGJg5Ch/ajQbizYrA4j2nmte20YqyM/z7 D29a0iQV++5Hhu9jwYyw/MROE7jU/U4ADTks+skVNLB0VWJa5VRSJdyL/FGaU0nh5PWC RJG1MQ6iEOpZ/HPVnfD6aJu3Ivn8WUPtBxgBA= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1733084624; x=1733689424; h=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=N0PBRuUNrVMG3jWkuVgZ+alnShpvbiX+xpV3R8jGwMw=; b=PfNXStXjPIMG4+i+dB4Ag2P/kF6N20wYktPniJffYXBTRQgHiNj2yF2cykEVMVxlrP i0IqOfotXemzglnqr6nWwmaG78R6ZcPdgS8DSeQ8wtHKANqAyHT3aJPJt5MRtrEhNzwH WzmahGASKWMGAhWQwRQjMFOrSo8Xa1omjKfEOF1N6zu8A7YSkKa4PvUmABewV7JZTpYy gAGs3IjDvLCoqM1g5rCkaPxhs3QaNy+GxawQoZdqxRWQ/H2MyQbummcbJW9VY2rwGmGI 1PBC/tijYdo44NAJnPYRDE7ZcfSvQPcCj5X6qh7Bxf4FLO8AW8NOMDBliM95fYHX4cez H6jA== X-Forwarded-Encrypted: i=1; AJvYcCXkrI1S8+3KZnExa+FQiG/so+5bZRg4xjrubSjWdXGqSltApWR6458RynMaX/arkQ1Cw00dG1kc+g==@kvack.org X-Gm-Message-State: AOJu0YwytMhz7c4uEpcKYxfSi9G4Cgaj/qeGo5gwny6KQUnMthkSwBLI zJb5oZs+0fRVUFMRbYUvku3eu6OWvP2U8H5WzYGROpandmWUxqXj6qX/DgQr+Q2BWScRmxdAts4 WOYDkvA== X-Gm-Gg: ASbGncux9K8fetEqRN3iN4Jk73+uxMQCcLRivwms+ZIbznXngn4dgMQPibJWMIY2iQj H+p462VajjoIdyaqmWr8RoXxh+ZL5tODO5a92By94JmnW6/UjocxbaYzFt1LxRVtoyt30eLg0M3 K1J4wSGwjCH8E471cx/Rs+h6ZRbG9w3SNNpsfluYzDapmryx0H0uBSFQ0V5GpmhSbkoBMjkhGkE Y/yaY+XV2B6ia+UcEae1ihSluZuw/GCutxEcTExquji1WMKZV7SePyvUo7ExofeOCYqURzaXTXM nxSR/0goPCkYQZlUdQv0YeIH X-Google-Smtp-Source: AGHT+IF1C1C5VFsX7oiw/nDLnfrS5SzLP+u7XpcX90T1MJOLA0FG6lkOREvG3P/sXB8vuGgQ04ckPQ== X-Received: by 2002:a17:906:30cf:b0:a9a:46f5:d6d7 with SMTP id a640c23a62f3a-aa580eddd23mr1834294366b.5.1733084624490; Sun, 01 Dec 2024 12:23:44 -0800 (PST) Received: from mail-ej1-f43.google.com (mail-ej1-f43.google.com. [209.85.218.43]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-aa5996c0ed4sm428839866b.30.2024.12.01.12.23.43 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 01 Dec 2024 12:23:43 -0800 (PST) Received: by mail-ej1-f43.google.com with SMTP id a640c23a62f3a-a9ec267b879so570089966b.2 for ; Sun, 01 Dec 2024 12:23:43 -0800 (PST) X-Forwarded-Encrypted: i=1; AJvYcCUyNTGdr9G8yLaipLp0qQeKP8P8Dxr2Wyn/TKUW+ErkKx3/ZeH4htAveubKYFtUjdKzzuRd7uXwoA==@kvack.org X-Received: by 2002:a17:906:3090:b0:aa5:1585:ef33 with SMTP id a640c23a62f3a-aa580f1ae0emr1684398666b.23.1733084623092; Sun, 01 Dec 2024 12:23:43 -0800 (PST) MIME-Version: 1.0 References: <20241130044909.work.541-kees@kernel.org> In-Reply-To: From: Linus Torvalds Date: Sun, 1 Dec 2024 12:23:26 -0800 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH] exec: Make sure task->comm is always NUL-terminated To: Kees Cook Cc: Eric Biederman , Alexander Viro , Christian Brauner , Jan Kara , linux-mm@kvack.org, linux-fsdevel@vger.kernel.org, Ingo Molnar , Peter Zijlstra , Juri Lelli , Vincent Guittot , Dietmar Eggemann , Steven Rostedt , Ben Segall , Mel Gorman , Valentin Schneider , Jens Axboe , Pavel Begunkov , Andrew Morton , Chen Yu , Shuah Khan , =?UTF-8?B?TWlja2HDq2wgU2FsYcO8bg==?= , linux-kernel@vger.kernel.org, io-uring@vger.kernel.org, linux-hardening@vger.kernel.org Content-Type: text/plain; charset="UTF-8" X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 61E4E40003 X-Stat-Signature: bxcstuper9iq1kea9bb9jdshjwwbkb4q X-Rspam-User: X-HE-Tag: 1733084615-973830 X-HE-Meta: U2FsdGVkX1/Fdb2oMDyH4QYNOlTzAcXji8Yns56r/E6uJUXdRpBy8s4V6G+/3/uWMdrxDwXY/sio7J5vOZecwPuKyleisCFnb133vNqOytXdGQtxMcIbBHi0VbDRdduHYDUEPwS66tA3iotoKY4Y1AjzQY176K2EezBZzfK/RtRGeVExupO/6OvKjFD/R/3VRqGNEgi6ALp/pN4ZhGrKZ9M0pWq27v8EMGvVlC21h8L5oUB2bg7ItfXdurRh9ac2dPdAJx27d4pJ6uICXwqk86x1Pke/w3czyFXkOCzVs9iFmRXYS55AbQoisw7SacTx8NG0djg+dwxB7dU8R5NANqH6CL13NWuuIkEZQvK9EHsebyGSu7UbVGXS3Ig37p7waSnNsz6B7kRegPFQbbFZGEi+QuHMX2gzJ3Bfs8AbaSjMn+9+0yTsmhUqCh3fhr/MqMMp/uQrLzgYuNdrfW2/kMBfSvXhgcva2NrCEA5JgPlzi7Uo847AXt/l7Km5ZtXffuz5236U0U+/ZhAHTBEOMVo6kIGZDSjroLh7Qath/aoKVljrdc62AtKAYHKRRuvCeuQcT017vPGcm0ot3q60+u1svmGQISfdOAFozRu8UrKamKlhzoUreCx2ykDNR4HQ2lvlCWIJ3ctCyTfkOzafloWgfO/mDlGf64/fLXBXuuJ5kEkHZvM+QitVSkZiYOX6FIV27lLMFFM00NsEzejc1XSVsNKTPvwmJ8G3dfAyIkVROypDGezQzYVf4Xmp80w7nZ6B98kFV9J97+HY/6i7UI/usDh7crqzlzuRcmCZtqWQIj/ABD6Zf5UdaB8txVwlbWr9TJDEzWm2BJGqcO+ejJWIkl7Aj62BqAlAigsdEyAIImqrpNipv+/mdat+xcSPH3hmFkYO0ZTrwng2XYo85A3cvb+huRXULdDjHVrqKpj2ywJRN8n5K9mdw7Wp1Cy+ANS6noFBhR3a+C4LVjH 1uY7kDbc /erxAoM1fSw7FEmHD+RrhQTV1VzzsRwo0A1PgQTqWw4E0aAlQB56jdpLV/yKb/Mg3c/mKZRLZnNqP6SJGMuTCSEE22jUTGRGuGjg0Feq6e7mtPuhDGu1jdjJgitf0rbM6nqvCVnuoAQORaJwyNQ/kURPsSLXcZIQB/qkidRhYknltsGskREKRwr7DQIvhID9U+R2o2i2zjEX21cdL7b72g6CGpt1j/Z2zIEWrpqx+o5IEtUoHN/cu+djqL7LZHNGpYjkM3hT8NocPz31YDoNong8T0ubraRc5BqewmJt11qRpwhfF1EIPIxpOmjH+mzksRRXEc3x6ot3CR/Bay1XVie7Va+ugYEOYKYECgMk1iU6t6NccLJpmtNby4bj2SIM8HL78H43TvkycWdvB2BvlqQZPKfLrWa8v1/PL0ybtfZMXBajrM2gknXHMxsVXwc0OP69TW6Srv5ZLhUppOunPRrswCSiGeYk22BajxTMnUMFzFgOp4GN5023H6zi0UM0NzdCkfpklQ9Y4XXcLFjYwH2l/3zhg9MbyT7S7X/BpXc69ZRBKHmhCoj9Vx++yC01A3wrc4hSr/1HCAPPEToUR+fBltPpsqwEKxURh 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, 29 Nov 2024 at 23:15, Linus Torvalds wrote: > > And yes, we could make the word-at-a-time case also know about masking > the last word, but it's kind of annoying and depends on byte ordering. Actually, it turned out to be really trivial to do. It does depend on byte order, but not in a very complex way. Also, doing the memory accesses with READ_ONCE() might be good for clarity, but it makes gcc have conniptions and makes the code generation noticeably worse. I'm not sure why, but gcc stops doing address generation in the memory instruction for volatile accesses. I've seen that before, but completely forgot about how odd the code generation becomes. This actually generates quite good code - apart from the later 'memset()' by strscpy_pad(). Kind of sad, since the word-at-a-time code by 'strscpy()' actually handles comm[] really well (the buffer is a nice multiple of the word length), and extending it to padding would be trivial. The whole sized_strscpy_pad() macro is in fact all kinds of stupid. It does __wrote = sized_strscpy(__dst, __src, __count); if (__wrote >= 0 && __wrote < __count) and that '__wrote' name is actively misleading, and the "__wrote < __count" test is pointless. The underlying sized_strscpy() function doesn't return how many characters it wrote, it returns the length of the resulting string (or error if it truncated it), so the return value is *always* smaller than __count. That's the whole point of the function, after all. Oh well. I'll just commit my strscpy() improvement as a fix. And I'll think about how to do the "pad" version better too. Just because. Linus