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 7222EC83030 for ; Mon, 7 Jul 2025 20:46:32 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B403E6B033A; Mon, 7 Jul 2025 16:46:31 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id AF0D56B033B; Mon, 7 Jul 2025 16:46:31 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A2D6F6B033C; Mon, 7 Jul 2025 16:46:31 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 937176B033A for ; Mon, 7 Jul 2025 16:46:31 -0400 (EDT) Received: from smtpin22.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id B38961A0342 for ; Mon, 7 Jul 2025 20:46:30 +0000 (UTC) X-FDA: 83638651740.22.44ECB14 Received: from mail-ej1-f51.google.com (mail-ej1-f51.google.com [209.85.218.51]) by imf20.hostedemail.com (Postfix) with ESMTP id 905641C0019 for ; Mon, 7 Jul 2025 20:46:28 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=google header.b=EQlqGKs4; spf=pass (imf20.hostedemail.com: domain of torvalds@linuxfoundation.org designates 209.85.218.51 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=1751921188; 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=yEDgBaUeWk+QDb/AaNEeMgvkFy6FrKw47awCwo707GE=; b=d4pbipDbAl9LSuGi0XYya2nlKpqCtUd5hjczBtkzhiNzTNcpmdVmV6YSXt5CjGv7L2YqeT 3C7BjNMKCJbRgpbmiU1eqrmF1CAS8fBQQmelBDk8qMlDkgd4Q/e7r1aqSaGal8vJkYYw3m 7NRW5Jd1RpIN7LsoMPTL+hxEYQs5DLs= ARC-Authentication-Results: i=1; imf20.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=google header.b=EQlqGKs4; spf=pass (imf20.hostedemail.com: domain of torvalds@linuxfoundation.org designates 209.85.218.51 as permitted sender) smtp.mailfrom=torvalds@linuxfoundation.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1751921188; a=rsa-sha256; cv=none; b=NNOt9jtQJLBtLqd9HfKKnxr7HYvv4U6/H+mQ/vFG7mSRZcoHyCe3d1S22doF2aR2rY6waY 2bU4+XnyxvZSdb/pPDqwjPAg9ErKVQ2whtZqxZDP97uK9E5xQdVIw/nK80UmnmUf/KCwF+ RCoZIp3N/76GmbQJnq0Eqz3ETj5W9g4= Received: by mail-ej1-f51.google.com with SMTP id a640c23a62f3a-ae0bde4d5c9so747676166b.3 for ; Mon, 07 Jul 2025 13:46:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux-foundation.org; s=google; t=1751921187; x=1752525987; 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=yEDgBaUeWk+QDb/AaNEeMgvkFy6FrKw47awCwo707GE=; b=EQlqGKs4zfOdww2JcVvEmoheWeth5TG09ev+cBofz8sFGTzfx/wz//vxiARjjDglAt 12nXI91EHrTfEJLMXTY40ilV5hQ/Rv6ciuw3NqN1PMmf+ATsddYdED8d8aKDV7g7Uyuu /l4XKCn/0uWMbursFcmIHQH3MpxG93pIIZh9o= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751921187; x=1752525987; 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=yEDgBaUeWk+QDb/AaNEeMgvkFy6FrKw47awCwo707GE=; b=chXJG2G8eevsKVbZLs6bvy4DXk0fExHl0JdNwRKsI074t4gOGcqy3H9zC97EkFk5CB WB7a06F3TKGdjl/PkOzKLc1Eu/xpHfZspL9C2lmKycGfNiGMOQo01ye6tyxjd7jukIsy 7b3tbaKCnJUIZLZvv/Rc86B3dLA7MC6vGSV59EfghSUdCRKltYVT7B9+HgrBVLhImcY7 M/C/TvU1nF+QMUl87ngxT+JatKpVO7m9ifGSXMiGkOcP05oifKOBKrZlTJdztfEwYtnJ mmteQnLYkPASNcbRCoUzZjVk3SSh3GdB0KJpUZN0JN58giaLjUTQDxMeJEk5GukhTOkC 2r5A== X-Forwarded-Encrypted: i=1; AJvYcCVttxoW57imJ7ToRc07h4/cbUr+gm10wfYuBVlNXwy1Ow3uvfa4sfjpmfDCR5JjEPCmELRwygBmXQ==@kvack.org X-Gm-Message-State: AOJu0Yy3E2oh2xZrx9Yck6puMGnbrH3GO5Kzr1jmLfVhKr3pVt2TVBmo dsLI28MnufqbfcsBAzSnySAl3J43TFgpG3minCZIy3OyewSPl0dz+wzEpAaBtDL+toJ/P+Pm6R+ D47HZmM4= X-Gm-Gg: ASbGncvOhT195OwIpwPfDJbFJKn31S1PTO65QHZfDBz8WY6g8alZsupbs+5kbvpdlmT MGgLNzLi+ahBMqcjd55R3u+glDE73GgywmHCEzaYa5w5GQE0UqJF+t7gbJam51/cS+EJ4CqSOOx Udf9bx3a02MbzTrwoDcJ/SxHRUFiIQRsIf2wQAu2UVdeSv5Z8V84Ba6EI8C/mkHNQ0l7TTgD1Ah 0wbzkjtz8vBH3wTW6T9qLV4keWXkcsQ0CXV4++2ExoaS5n51PQ+GDRnkpRcKmzcQZt++RuPvrH2 rstmMVXwfgD/fMj/pAwcSnMzbAeTOrrwsdd/AzMIRGoe6gtftCh96qdG3X5ItqdVAY/80XywTKj syt3QvtUE3ITaRRshqZAWo8bazxm8xUNVohw+BJikWsGh5xU= X-Google-Smtp-Source: AGHT+IFukeTFtOxSB1wlv5W8+QRjn/nvmm59BeflfQMAJDsvuNzOOekbWjk2UU7egwicsCs9ZPpQnQ== X-Received: by 2002:a17:906:28d6:b0:ae3:cd73:efbc with SMTP id a640c23a62f3a-ae6b021b6c3mr48199566b.46.1751921186854; Mon, 07 Jul 2025 13:46:26 -0700 (PDT) Received: from mail-ed1-f42.google.com (mail-ed1-f42.google.com. [209.85.208.42]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ae3f6ac3670sm760122966b.83.2025.07.07.13.46.25 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 07 Jul 2025 13:46:25 -0700 (PDT) Received: by mail-ed1-f42.google.com with SMTP id 4fb4d7f45d1cf-6097b404f58so5257833a12.3 for ; Mon, 07 Jul 2025 13:46:25 -0700 (PDT) X-Forwarded-Encrypted: i=1; AJvYcCX52joKCzIPGhHniztn62BhwqNNEWRfn6HsRjZ5qREdd8uSVe7Nv6zZT/SYGul8MsGDxA7XwQ2eew==@kvack.org X-Received: by 2002:a05:6402:3902:b0:60c:3f77:3f4e with SMTP id 4fb4d7f45d1cf-6104680323cmr886164a12.22.1751921185468; Mon, 07 Jul 2025 13:46:25 -0700 (PDT) MIME-Version: 1.0 References: <033bf00f1fcf808245ae150346019aa7b997ea11.1751862634.git.alx@kernel.org> <20250707193521.GI1880847@ZenIV> In-Reply-To: <20250707193521.GI1880847@ZenIV> From: Linus Torvalds Date: Mon, 7 Jul 2025 13:46:08 -0700 X-Gmail-Original-Message-ID: X-Gm-Features: Ac12FXyTJdvBtSzuEgvvQf3FBl3I6foxcrWvzU70QsGHoB59-IiGkLMHShqelF0 Message-ID: Subject: Re: [RFC v3 3/7] mm: Use seprintf() instead of less ergonomic APIs To: Al Viro Cc: Alejandro Colomar , linux-mm@kvack.org, linux-hardening@vger.kernel.org, Kees Cook , Christopher Bazley , shadow <~hallyn/shadow@lists.sr.ht>, linux-kernel@vger.kernel.org, Andrew Morton , kasan-dev@googlegroups.com, Dmitry Vyukov , Alexander Potapenko , Marco Elver , Christoph Lameter , David Rientjes , Vlastimil Babka , Roman Gushchin , Harry Yoo , Andrew Clayton , Sven Schnelle , Heiko Carstens , Tvrtko Ursulin , "Huang, Ying" , Lee Schermerhorn , Christophe JAILLET , Hyeonggon Yoo <42.hyeyoo@gmail.com>, Chao Yu Content-Type: text/plain; charset="UTF-8" X-Stat-Signature: iqy5g41heqmwgumxqkhocjdii6j8fy9a X-Rspamd-Queue-Id: 905641C0019 X-Rspamd-Server: rspam11 X-Rspam-User: X-HE-Tag: 1751921188-838634 X-HE-Meta: U2FsdGVkX1/zWX+imoLwnA9ib+fK/ATpx9iNDmmeZ77mXtdj1QEucCBh5zhi6qdPS2P3uddsSkP662LQEne5W6Oez6fGoyIQXrnnMjcEdjZVocfKVswvJANRhm2Frz+9dFFYUlVzlROF6e4J8b8xatE8AUMC/DVH9Y9d/mmlPFzUNTUJuixUy0playtJ/fe5a9uJO/lCWMvX2eUuxyj0E5btxQstD6gDTi0sEYqTCQSpIRuRcIDAGBWda2ro+KHQ0YadSuQRuCWc7T7ghbpNgYPkJYUI2QFBZbRzg3NMNYMZpX3wgxdfE5tE3XVU7Gk+j30cV7m+iy8hoDmRTMFTj2L5KiAU2//QJx83AvuKglqRZk5HeIQ9Wu7TdDxLi5em0vE//7DiqGgB3UDp06vHUwnInMqKZi+Y+xA83nRLpwyKOfoMK18hY4HzC0YJ9AAla4WEIwE3L6I+UzW4A0zg7yVQQ6vdi4bkGAqjvGfWvlyTP5LKU1NRHZIaJnlUjlOJ9aMLvmM4lrrtsKGGNwHUO8L7BOy0tVNDkZjVAasotV9sFNscuYZfdcykQj5rKUwDW5Z38F4C6C0iz2R13QjkayfM7TFAZT+fRIWrFiHONZqqJVXeLQoLbNTXzPddD1GowevqRos4Ri3iaO8SP76OPjVCCH0civjNzbujKg6qBBLWEVvsyVakcKolntiIyqzEQ7VzFxsUPUE2V+MPnF205pXcTHroJE9I4+l/16XudLZMVoalf0/F/UoJjaJC0x9Q4lmUdOFs6CgGcOHNCQDJrg6hrDe4cVxuDebOvXFDsrfKfsR6jnQTumG1C1I2tlR1CrpBIoZAVWSbaXtcRz/El2XCOiVNGovXFm58mgQ3eFMOBdgffauFZakZt4/odkY6xICMLrg+boBlDiMqR+D+obWvps/sJi9n0yNUqz42eJk9jrL1/EZyvkf+KxejY5LQHE9wv+7zcdY4dHhoCs3 mvsGJo3w Ml09d34D1KmXYZZP3v6MdO0mtKGq6DQ2qNThiTwKXDOQ1ZZOoUXrQ2+kkpZCU8P39HM4BzSP7ZAetptooIIIQ3lLZ8cjlUbi5JX8kPqOdY+V1wB5UqN7WLGuVm0nKY2ztf6IvKuRdx9Gu++M1l7GEJn6yJqGVKlH41GOwDbuuUBIis4reKcsBAEOgFGq0yTyctfRF+dkDng0L1wCaLhgChTN/tVgEHsDh7Si5VZijmVMWWNgu9mJKSOufAbu1H1JD1e44UCe8Pp/yAZel5aCDmKtH1tK9zD4KKwdeGXyyo7+adFAGLfjzH+BAdFKH/vm82i/7uoCzQ9QOXG2bbDOwZpIqpYNTEtqOIWMFiISuwelW3ZmVVA1gBNdy3YmK2EaAfkggWBGflPqKGn61GHX5yMF7x5ej7n+qs3XctML1yxpNTFycJ7+xXoOV6stHh/3S40HLBCz1KTens1YQooGDSqIMagH4LzJQ7o77enJB2X9Ei+RPgg16/XVZXXjuBFDmVTOVq9GkSgIJyxyarUPW2pOXCHm+r5yoHlADb6YDvPt2WD8swBSyxJdD76YGiMB4pSEHJ6Vzgf3nPbkOKEClsJ9Y83dlXXgVWPah 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 Mon, 7 Jul 2025 at 12:35, Al Viro wrote: > > Lifting struct membuf out of include/linux/regset.h, perhaps, and > adding printf to the family? membuf has its own problems. It doesn't remember the beginning of the buffer, so while it's good for "fill in this buffer with streaming data", it's pretty bad for "let's declare a buffer, fill it in, and then use the buffer for something". So with membuf, you can do that "fill this buffer" cleanly. But you can't then do that "ok, it's filled, now flush it" - not without passing in some other data (namely the original buffer data). I don't exactly love "struct seq_buf" either - it's big and wasteful because it has 64-bit sizes - but it at least *retains* the full state, so you can do things like "print to this buffer" and "flush this buffer" *without* passing around extra data. Linus