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 E26B6C83F1A for ; Thu, 10 Jul 2025 21:21:38 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 635B26B0099; Thu, 10 Jul 2025 17:21:38 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 5E5EC6B009A; Thu, 10 Jul 2025 17:21:38 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4D52F6B009B; Thu, 10 Jul 2025 17:21:38 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 3A4486B0099 for ; Thu, 10 Jul 2025 17:21:38 -0400 (EDT) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 9E139BF3E9 for ; Thu, 10 Jul 2025 21:21:37 +0000 (UTC) X-FDA: 83649626634.10.E697650 Received: from tor.source.kernel.org (tor.source.kernel.org [172.105.4.254]) by imf16.hostedemail.com (Postfix) with ESMTP id 1281D18000A for ; Thu, 10 Jul 2025 21:21:35 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=gj450Crq; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf16.hostedemail.com: domain of alx@kernel.org designates 172.105.4.254 as permitted sender) smtp.mailfrom=alx@kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1752182496; a=rsa-sha256; cv=none; b=pi/8uztoj8x2cAucIlkfXH/BXibBycwAjqbPWNL3hPSG6vnFN9DJJRhVH6QEqVvhAFommj 8HMSDmFfVz3wKEQ10loee4pbRip8FQDwDrHF11yYg5yw/+RduyYyWhVgt2WmdZWQ8TEpkZ 1IWqV/bVCEFJo2ECKXPtSF4Th1sLI7U= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=gj450Crq; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf16.hostedemail.com: domain of alx@kernel.org designates 172.105.4.254 as permitted sender) smtp.mailfrom=alx@kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1752182496; 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=6YIeQpInIwQz2Nd/h4h5EwwajbyybB+Kp1ssJRPsM4Q=; b=GL5c5Vnfz/jtu8g1orKv2iUgdARJEIuwAdlUTGUGIaMq9WHLreJhxvJ7Z9A5/KQ4c67j/C hG4CRMQFcH+2bBNbnFf/fZsO5FFY+nz7g95bkZ/97WlxBAaw607d7CaNijkKttp7uP0k+d UCuTGI0fQ9tjzuf1wLR325WsYkQCktU= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by tor.source.kernel.org (Postfix) with ESMTP id 5087B61148; Thu, 10 Jul 2025 21:21:35 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 213A6C4CEED; Thu, 10 Jul 2025 21:21:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1752182495; bh=f4dUVXALsAYXTk+NKQ03a6GOt4JCMgbf8SSf+frc2Pg=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=gj450CrqRm1IIoaIZ6Ao9BQGP3GXe2Ay3WiAmPp7j3VkZxQ/GWD2Pe8ctq4sv4tKT vnD7/mJjWXKUag5QerCCfnVpFIkjODzwV023Y9rUj8WVad8afw6zOa5bCW/U4LOea5 aRH2eIh3XSsqOY9TFgRxlaXUax4fRE3gAAlZJI4zVU6SqiQtqSyZTR0F/nL7jXS/LF KfK+iykaKTDSODNqzmHsO/pPbmLuwnYA5t4EIJmzBJdvxNpm0BspuJ1PqW3wA3LFS/ 3LqmuRvkzkRfmnOOEi8Ndjw+2e8kasECXxt2pqQTaIi2PNznXOds/WDYNsHapsq1mM VoQe+suzA6P2A== Date: Thu, 10 Jul 2025 23:21:28 +0200 From: Alejandro Colomar To: Linus Torvalds Cc: 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 , Rasmus Villemoes , Michal Hocko , Al Viro Subject: Re: [RFC v4 6/7] sprintf: Add [V]SPRINTF_END() Message-ID: References: <0314948eb22524d8938fab645052840eb0c20cfa.1752113247.git.alx@kernel.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="7rucxqy6jxtw6lim" Content-Disposition: inline In-Reply-To: X-Rspam-User: X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: 1281D18000A X-Stat-Signature: asc98on7ek87eap784r1o1oazbuf958y X-HE-Tag: 1752182495-704403 X-HE-Meta: U2FsdGVkX19SSLJOv07HCHCxQoiOPLpb2cenYQ9BncW12k+BW/LH+SjTDQu8NcU0q1aFLNWb9H03D0LNVgcLzo13Rug/rke8tJoCIKAo6tnDxJHeIq5isgeYDA8CWnK7/04P0pzLkBvV/QxErP3kX4l+bf75d4ELcdyGlRWWvXEfHEh7QJgUsfWfX/BXmLEIUOwt+h7+I89KqyI64Bl9YVTjJMKzkugC0UBOWJESrGDOPdtjiK29EYP1gwtZI4mj8m8FJATUqtpfMIU/QIISSEdQ8cHH2WJRww8qKTATryT9mcMXiDjbydWjIbhEeQxGZG+SMcHf/hYpcKtaYth4FoLNpdhp/pEplRelr7sCb2kZthizBsatJVlpi0V4y6djnyWEKyyqey9a1+leQTWMh/uDCGrD0h75bWhZRKC3IIXOGuBT+DuCoJ+fjeToXNFRUFHzNyzTaqcT5u/Z7Bt/dGxqwxoeP1ThIk+OkO0NNWsuZZhjn4v9GrC+LllxNevjPOcu+6deW6G15VG8ZPMSEDpzVS/VejR3qnNAL7J/OTfsvyod9Ff2/TNaXfut6jsulaDvpw3aRboDUfaIcJpEyG9FFG9kcH+P+PItcJqg3MKPtYuMXSeyDfFoFnD1QVCmEJVZHHX04jz4dr6VKBJsp9J+b5IELJLXVHyEoDFlwSN6l35P2c/2T1iJJMFSTZ3oOYPvb7xPe06D5wRsm6BKqQGjUNrbR7LYOt/AuQpyx/0g7uk/TO0sKKJE2BRQw/w8/RbUi9VhnWwd5wCOs75r/8P8QbWFD6AMMeKWLKzJCIuvRoSsI5i/lfq6T/Umfw99q69Ol9lDYLQ1xpLF8141iEDNbcVT8Uabdp7v0EcOZ85MxUknNv0yrGVuAMha6MHQmuyEn2Dg7ooss4Q6F3Ela65FD7iQs9gBDYDmPlKgHcb4YP4zHkq/7hOnccRIPn95RvNNO1wFyxWdyuCPj4Q rFYsFEJw jdZTpKyWvEAvpTUc5ojQ4EqSrHLiGX3lzXJSKIVFSn3jrHQ+eZH0MhNnOmEAlcOn/sZDIJb5I2lq9iJWyz2QcXN7aWLHGbdcOnILPGEDDdkqRYO0YPxxMJp9b8wyEI+sFmybtuL8jx5UbVQW5fTd59C51yG/jCtjfYlA/kQFFV2wsYaX7A4A64UwRODXe1qvrJ9xwlWz+HXW5vz2+c2ch/jTh94RhXw5UEoyPZTGtf1vmrLxQxXgN8BQcA59yqfbIC4eufMO7lAUofunQXl7wnnvcmMQQCZYwzQqt3QubsuxFFEosfRF+B8WqXHYIdCV/lLnlENVo1fbz2q6ZkAEXnkan9E6134qlFFChUvSwbPM3n8C7b1DrwOtc5cntqgFy3j3umCP/eG9acDN9gwt1f+QO1kFB5A9GLjIPt/482mOJ6tH4STV3cxm72Z7a6YllybsODPRWyd6Cv13OCtWN0uMM+H/WyzvUX+dJIu/YHUXQtrR96od8SvnMVSK9cQEzB16nrZDDlH3DEl4JPq8FAoUEfQ== 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: --7rucxqy6jxtw6lim Content-Type: text/plain; protected-headers=v1; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable From: Alejandro Colomar To: Linus Torvalds Cc: 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 , Rasmus Villemoes , Michal Hocko , Al Viro Subject: Re: [RFC v4 6/7] sprintf: Add [V]SPRINTF_END() References: <0314948eb22524d8938fab645052840eb0c20cfa.1752113247.git.alx@kernel.org> MIME-Version: 1.0 In-Reply-To: Hi Linus, On Thu, Jul 10, 2025 at 08:30:59PM +0200, Alejandro Colomar wrote: > > IOW, why isn't this just > >=20 > > #define sprintf_array(a,...) snprintf(a, ARRAY_SIZE(a), __VA_ARGS__) >=20 > Agree. This is a better name for the kernel. Oops, I misread. I thought you were implementing it as #define sprintf_array(a, ...) sprintf_end(a, ENDOF(a), __VA_ARGS__) So, I prefer my implementation because it returns NULL on truncation. Compare usage: if (linus_sprintf_array(a, "foo") >=3D ARRAY_SIZE(a)) goto fail; if (alex_sprintf_array(a, "foo") =3D=3D NULL) goto fail; Another approach would be to have if (third_sprintf_array(a, "foo") < 0) // -E2BIG goto fail; Which was my first approach, but since we have sprintf_end(), let's just reuse it. Cheers, Alex --=20 --7rucxqy6jxtw6lim Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEES7Jt9u9GbmlWADAi64mZXMKQwqkFAmhwLtMACgkQ64mZXMKQ wqlldw/9G3vuwHK1ltksLTZk/bAMY1df2lNT+Tnvbn1O60dXRLNSLE1uslMMtt5m Ch9ME1lm4Z3rjU+EvgVg+CTTUXjmwPBMwC54IX4d55SJPLERcYcjrftC7AkDiaqA +lHnVLrZzGgcdypVU7sADXi4efbbA2ju7Z9vpmvAivQr8bpP49dsahV/DjjVGOqT t9ZPfx6FbbGkGbceyVrYVVGdPt+2xRQ1lWAmmNxHvw2s4FPsbX3qTjFzCi3py3jr YfMncGwTyfeaivqCtayzi4w32hYDAsP6zigcf3ZPv2coww51DP1dnvY8c6CqabF4 SBTYZPtTfbByr/COPxdNvJKqszwUKnuMpbLK0nSXe+zKUJsNGeQfFbg8SWG/AK+P miRh99ztSOhn13wqYqkJZEpVhPfjDgurEYVN1DeOMMLkvjEThtTF5A5gQebKAe0a nVxc+0UBwZyJflXngUvrwazrM+20tt+YK992Mgus+1tOcdF3RpphzR6umUkiv6de pesBSrzjVFdb81e1slMHaPpuouaIcTGHh+wuDSamjx/7Tfi/dUpz1ifa19UdUeWR 4LJMN2FPIW+41OM8WwAppQXwehXlE2gKssUEa6tln4k8Pi/dn6ZZTxh25TPYI0Lc 1O7lU+hNeS52MnpJRCpZpRhhZB0CAfGIFVBGT2EKIFdHWTbT1ho= =0kpp -----END PGP SIGNATURE----- --7rucxqy6jxtw6lim--