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 08B75C83F1A for ; Thu, 17 Jul 2025 23:47:07 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 807648D0006; Thu, 17 Jul 2025 19:47:07 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 7DF358D0001; Thu, 17 Jul 2025 19:47:07 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 71BCE8D0006; Thu, 17 Jul 2025 19:47:07 -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 63D2A8D0001 for ; Thu, 17 Jul 2025 19:47:07 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id E46CBB7A9B for ; Thu, 17 Jul 2025 23:47:06 +0000 (UTC) X-FDA: 83675394852.08.C5801D4 Received: from nyc.source.kernel.org (nyc.source.kernel.org [147.75.193.91]) by imf12.hostedemail.com (Postfix) with ESMTP id 5990B40005 for ; Thu, 17 Jul 2025 23:47:05 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=cpLCkMB3; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf12.hostedemail.com: domain of kees@kernel.org designates 147.75.193.91 as permitted sender) smtp.mailfrom=kees@kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1752796025; 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=Rbhgw3Wjy5GIsm1C3qdiYnAmE/jyfTO+0acb0HNz8AY=; b=had8+N8bUXqq1BRc5puhMgpQmQJgoJQiVqgYsj9+XGE2JoVSkg9rDmjJMpCzAfnfty3q2r 7o36pNSDS4YH3KF9EkSTsEmcuyQedZ662nmIaRfLYHRgJsnpmhccbwQ/KGJaG+qyGwcBBv DsbQ2Oukw1RJjtBnK0f2wnNcIcDEy9I= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1752796025; a=rsa-sha256; cv=none; b=YvSTjYujJTHwgT6pNbdsMJ/oG7Uk6qehrKmNZth5rzRKJZdX4NRiS9dbYZHO35ENmfUobX IFv0H2MdMAYq5GaioXm00sJxcmrFLjpWTUagtp4O9nEVGHi2y3VTZDgfMAbNk02xgo9oM/ 1QQfjgTk7xqxbN6kiLDLbHEYf8fEzJM= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=cpLCkMB3; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf12.hostedemail.com: domain of kees@kernel.org designates 147.75.193.91 as permitted sender) smtp.mailfrom=kees@kernel.org Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by nyc.source.kernel.org (Postfix) with ESMTP id AED54A57A33; Thu, 17 Jul 2025 23:47:04 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 57D14C4CEE3; Thu, 17 Jul 2025 23:47:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1752796024; bh=I1B30MQpTQXktRPkN777QTQ08u2BAwEEqXctlyniqWs=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=cpLCkMB38ReuCUES6mxdPPSP9JoA5/6Ff1AfVkh8IUf47Pg/A/KN7JYYH4zc4uVjp Cv2s5oLH+Y3jLrXYtvnL2YYq7GQrNjQdyc5HTk5QCmuw3MvRWzNBGfuBpA/1KapApl wYkZY3PKauv7I39dXAsPbcDUrXBWxcKIHY8jvvDpNTYoWxPkDnj2w/uEnQ/aS390WF 1mxpm8Zz5eNi6SanyCApo1PwXhFjV+iXEb13Yejavt6DlP+IV79CHEkIIVmROvAqMF bhPC516vVddLC3h/Yq1HXnniECD12s7M0mAz8Lxi4nqX4k0hnGS0kzYHanDU3jzRyx sLHxgoTqDx0yg== Date: Thu, 17 Jul 2025 16:47:04 -0700 From: Kees Cook To: Alejandro Colomar Cc: Linus Torvalds , David Laight , Martin Uecker , linux-mm@kvack.org, linux-hardening@vger.kernel.org, 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 , Rasmus Villemoes , Michal Hocko , Al Viro , Sam James , Andrew Pinski Subject: Re: [RFC v5 6/7] sprintf: Add [v]sprintf_array() Message-ID: <202507171644.7FB3379@keescook> References: <04c1e026a67f1609167e834471d0f2fe977d9cb0.1752182685.git.alx@kernel.org> <28c8689c7976b4755c0b5c2937326b0a3627ebf6.camel@gmail.com> <20250711184541.68d770b9@pumpkin> <202507142211.F1E0730A@keescook> <3o3ra7vjn44iey2dosunsm3wa4kagfeas2o4yzsl34girgn2eb@6rnktm2dmwul> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <3o3ra7vjn44iey2dosunsm3wa4kagfeas2o4yzsl34girgn2eb@6rnktm2dmwul> X-Rspamd-Queue-Id: 5990B40005 X-Stat-Signature: 84seqw36p5miko5g3snxo67da4xcwoye X-Rspam-User: X-Rspamd-Server: rspam11 X-HE-Tag: 1752796025-212330 X-HE-Meta: U2FsdGVkX18gMnbzk3CShAmlL906Tk8wbBuFM6JUKeISQd2Emqar/T59gDOo79i4j5853k6ZHYWZdxTNc8aYTjv5N5/tJmgAEuQSZ7lkj3xKzP1Q87UGgiz4r9FRN83IxMPjTt+C9RjAG7uLs/fKF6RwkqWVoULjqPJuGQqsNL1kogXYLsbYg0dQtDXE+TZEbYhgWGH678U1vnzEBsq9mQ5fMPdMo2fG6e7TRYVhGwfzwI8+PBIxhQ9ypSdNC1GuO+4Vr7uv/UiSVaFi08py1HiZENynttoaWk05Za/jq3BeYVIUfcSL+PLByTff3A2/gdkMOYNoeX7cJ0d7cVdHQRYaGxeUmpLn3czEk9IHWfVx9JJrk7aW19PYhCqtUhYPWAha6xZfToHh1OePpaFBKSlMpGlCSLHC+Kky4yeXuF3KC2xkWJuYp/FGlCMll00dHQmDQqjPcP4e6vW+SlyrXQCrXRkYfLi8MHO+19fQurPv5P9BYiK/ZgcK6qiwo8iK/Vg294D9ZK3onpdrb+fwZBSz6vtWd1V19EfEZyG4EVqiSyn1QIcKvaEiCTeY/StFBuSMoIuQBcGji1/1vGS3dCdbK9b0m87Y11B4C2+v8htddT6s3Ho+Qf0QPqfQHC7YZEdwNMCuPY/J96lQkRD7GZAi0CcCLaD/AD6BIHSLPicwdp7fAI+Xzx2eTXLdCULY0MnY6c9cTgWg/leDrxqAko2l6XgrmSNg53rU00lSNs9xxR1YkhC6v5U9zoqzpi0o/efhHwsluCHv3aOcJSO1aTBIwrcxjuLFre6UlHgTpAwcm4Xta2LU3iV6fYczctNIzpDi0Dc4Vy73OaXwljZBp85OTp5FVcKTqNgdHmId4nvxeNww6LOzzt3pwL7PHdBsmSu2L2/pEYqVvlqa8p7hwuh9DEtymk+phf73sLJRgtXZKPZIH8VrbvmlKkTJ6MEEFDMbkUzjkGG9SKIYvqO MeLpRBJy /sX09AEtNtwWB3I+z7/Vyf1QexOAFIlVPghy/GWikV2URGSu92Rw/euVIbTcPRfU0Rt1Qs1dRE0JtmaCPp3SJLE4IoUJp5KmqrXrAqjx3sFQO1EQccBSfZrnfqiWEYjrY6pPWsMMI5FFawdgVD3VLQIM4czpoEg2HRstaFzIEgYiW9+nCqdj/jYR2XD8vT6VxCizlwUlIBXrm3Dme3NBq+REctb21SHyI7EHdF7EbfvI+20TIIFNcAof981H2QBkr9F3YhQWOQRsLkHB4UiEXfSKDUx4tNqmcq6ezj5lH4WDVHVWpg80DYjn21ygC0Nl8BFDeLdGRxu4cog2T5qunLW4vhkn3oA7cxmODSy2+7oeMWwwIVV0B5DisBQ== 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 Tue, Jul 15, 2025 at 09:08:14AM +0200, Alejandro Colomar wrote: > Hi Kees, > > On Mon, Jul 14, 2025 at 10:19:39PM -0700, Kees Cook wrote: > > On Fri, Jul 11, 2025 at 10:58:56AM -0700, Linus Torvalds wrote: > > > struct seq_buf s; > > > seq_buf_init(&s, buf, szie); > > > > And because some folks didn't like this "declaration that requires a > > function call", we even added: > > > > DECLARE_SEQ_BUF(s, 32); > > > > to do it in 1 line. :P > > > > I would love to see more string handling replaced with seq_buf. > > The thing is, it's not as easy as the fixes I'm proposing, and > sprintf_end() solves a lot of UB in a minimal diff that you can dumbly > apply. Note that I'm not arguing against your idea -- I just think it's not going to be likely to end up in Linux soon given Linus's objections. My perspective is mainly one of pragmatic damage control: what *can* we do in Linux that would make things better? Currently, seq_buf is better than raw C strings... -- Kees Cook