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 56AE6C8303C for ; Mon, 7 Jul 2025 05:06:32 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C9AB68D0011; Mon, 7 Jul 2025 01:06:22 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id BFC748D0002; Mon, 7 Jul 2025 01:06:22 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A9D818D0011; Mon, 7 Jul 2025 01:06:22 -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 931EE8D0002 for ; Mon, 7 Jul 2025 01:06:22 -0400 (EDT) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 4D492803A6 for ; Mon, 7 Jul 2025 05:06:22 +0000 (UTC) X-FDA: 83636282604.04.5418EEB Received: from tor.source.kernel.org (tor.source.kernel.org [172.105.4.254]) by imf24.hostedemail.com (Postfix) with ESMTP id D39FB180002 for ; Mon, 7 Jul 2025 05:06:20 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=VVDyUZ1Z; spf=pass (imf24.hostedemail.com: domain of alx@kernel.org designates 172.105.4.254 as permitted sender) smtp.mailfrom=alx@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1751864780; 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=ukwhXv43r4Ki9IP9EcOyzjb4aqrTz+kkRm926jdjt8c=; b=OfjgfuOL7DZHpezsf50CnlUHI9PgbGGlJ2LvnoxB2dY6+C8iiUUTiM1UAoaImuuvKW5qDN xKLKHBDcHKXoL+SvaN0GnphQtr2nHomdxkmGvb67vbwYgsAPD4C9ZRKEPY+ZDdOG6Bo/OJ 72ig4TGCDaf6DfGQ4hTAYJasC7sHRU8= ARC-Authentication-Results: i=1; imf24.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=VVDyUZ1Z; spf=pass (imf24.hostedemail.com: domain of alx@kernel.org designates 172.105.4.254 as permitted sender) smtp.mailfrom=alx@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1751864780; a=rsa-sha256; cv=none; b=yXbOxMyhOuaNEdg/t8afTZyVdV1JI+ce1/vfG58IIP+BqW9Pq7MnQ6nDYGbbZDreZPdk+q x0bk9xt/ym6P6IUtqoMonYgdHhM5krJ7xhxhxZncBpX67SEVas4lSR+ebPZDXCdJqyIQiQ QVqqoC2hRRa1yCBMw9vHVw1PqYswWTw= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by tor.source.kernel.org (Postfix) with ESMTP id 6319F61460; Mon, 7 Jul 2025 05:06:20 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 19BC6C4CEE3; Mon, 7 Jul 2025 05:06:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1751864780; bh=tcpGh4dHgjGALEI/7Qt9HZzvd2bDQOcYewOF2ERkXuM=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=VVDyUZ1ZiTo6UBehB938a6N3GMEKaKiHMvld72jrlj1TqZ3xCOzo3JKajIzRjPTvU YcxQxX924fozYDgLqQfVrlKDrNL5Cu4+cOKGTsFIXwdpOa0focWXfCy2i6VaAPGgwK MnmrnuWsHxG+jZOhrIxkfPYYMvOmeL1J5BZWkzk7vNg4j3DWn9FmfZ4a5aEmKK6nKl GXdyl8dBz5++Jjn7PuZ1r4Pgr2GSp+jJwn6dqQTlr+IsAo1PQDLUFzDcJ3qbHq7ZqP eQyN+arIdJ3Z/7/3VIFTRQ9/8Lju3Rh0pzz8rmIJ7UuMhp1WnN5u3sWZKApD/LjvPt ZxuY4Iblzr+WA== Date: Mon, 7 Jul 2025 07:06:18 +0200 From: Alejandro Colomar To: linux-mm@kvack.org, linux-hardening@vger.kernel.org Cc: Alejandro Colomar , 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 Subject: [RFC v3 6/7] sprintf: Add [V]STPRINTF() Message-ID: <44d05559398c523d119afecdb3e748d37433fe9e.1751862634.git.alx@kernel.org> X-Mailer: git-send-email 2.50.0 References: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: X-Rspamd-Queue-Id: D39FB180002 X-Stat-Signature: eyomc1nsa4bfe8fis9zhtkc1kjynzpxm X-Rspam-User: X-Rspamd-Server: rspam05 X-HE-Tag: 1751864780-578772 X-HE-Meta: U2FsdGVkX1+KyPcmwa2vJ8WtLjZeoeaNLFYo/U9uJr/l+53JhJjCOgGHgx6n24hhBufqgQ46ZvMohPQHBa71MLzSJRpy3uwIpcaWZE3TdhsqyuJivRl7afGf71Qu8I1hheOxaIyMaAiqGoCCHDyBKSmB/NulwXErNR8gDmSGl0boG1O7ASzNKXP/OSEU4gt2ItnQ/vpy16Z3IATp4mXiJVRNI6IUt+NMN2zw+EloBfAnaXZByg+vcOD2OGksL1DMksd4DsTJM1zWmxEBmYiK+NWV0WTmlnUo0fWZjTRkRTaOMaX5Hem4i/ARv0DWXWVDHBRAu9nvv2URdkN3Xg/J/uBR2bfpbNto19z6Q9vCYh2l1kHoZ0ynjsSXiNuKAZinEitFxEL8dz8ujX5QxKeYa0vU9rTYNYql6+/vdCWZZof/kxBhobYSF3z+9g1/P1t9WQHOA7X+OhbMrdQDpsUGY79LQ3hcRmEtc/OEKkZlGnRQg1wyTEbEKWdVVsN7JnMRF5bni1u1adQvRtdSgKBHjF95mk2qFgcxdpuQigvgxtWFWZaN8Eo/8hJRg10WqZbkef+5mL+oDrQxQlJTeG4wFcRTwlMTz2G1f5G5OAj/v28VVJDNdVw9+t4BLv4tG2cK1A5O1nVu2Mq00t+9rJ/SPN8+BbDip8a4rhINkQJBvydKfJ8O0sBSJ7YS8NzPPT041/w6hi0gFyAf0/r9Pk7bd5/NL/gnyFMp+f6TKUZwZ/aWuYfHY/WLT15uRa9V2usbJZ9PbYJw4Ob4nWvYqMlF52+05nQdh4GVtw0wAeLX8D5Seym4oJELftEw5EdnNTQJYvFuDf5sMS+NAMpnowueA0pIPv+2Ka1WaT29ebgeqE2SRXbK4BbkSCDmp4EWrFBs7YYqUPP3iEWsmyFQ0N6DgyrikskETCI9Mc5ao+2vnkNp+/fYt4VUV8+xG7Umiz3SghfNjbfwy4JHzdvumny 4jnotqg2 QY0L7xnodaDaszhGVCDqNYPmNwg== 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: These macros take the array size argument implicitly to avoid programmer mistakes. This guarantees that the input is an array, unlike the common call snprintf(buf, sizeof(buf), ...); which is dangerous if the programmer passes a pointer. These macros are essentially the same as the 2-argument version of strscpy(), but with a formatted string. Signed-off-by: Alejandro Colomar --- include/linux/sprintf.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/include/linux/sprintf.h b/include/linux/sprintf.h index c3dbfd2efd2b..6080d3732055 100644 --- a/include/linux/sprintf.h +++ b/include/linux/sprintf.h @@ -4,6 +4,10 @@ #include #include +#include + +#define STPRINTF(a, fmt, ...) stprintf(a, ARRAY_SIZE(a), fmt, ##__VA_ARGS__) +#define VSTPRINTF(a, fmt, ap) vstprintf(a, ARRAY_SIZE(a), fmt, ap) int num_to_str(char *buf, int size, unsigned long long num, unsigned int width); -- 2.50.0