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 00078C71130 for ; Mon, 7 Jul 2025 19:17:34 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6EF828D0003; Mon, 7 Jul 2025 15:17:34 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 6A00A8D0002; Mon, 7 Jul 2025 15:17:34 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 58E9F8D0003; Mon, 7 Jul 2025 15:17:34 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 45C5D8D0002 for ; Mon, 7 Jul 2025 15:17:34 -0400 (EDT) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id EF51EB7F3F for ; Mon, 7 Jul 2025 19:17:33 +0000 (UTC) X-FDA: 83638427586.02.8F81DB7 Received: from mail-ed1-f54.google.com (mail-ed1-f54.google.com [209.85.208.54]) by imf04.hostedemail.com (Postfix) with ESMTP id E614840019 for ; Mon, 7 Jul 2025 19:17:31 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=google header.b=MQWhh0o1; spf=pass (imf04.hostedemail.com: domain of torvalds@linuxfoundation.org designates 209.85.208.54 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=1751915852; 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=ORZDLd02UGkkbh45cfJ5kZRWnBYJOZszPOFyiadW67g=; b=D6czsVvpxr+xjTCPr25Br0I+o4cjjUXipq17rR7KTxjlnSpDdfSFAh5lXbMjTp5LV6CIPk khXxhEF7RHGPDDqZgtw3v8Nf2G1S2B26+Ar3HIqN0OiwzlhcD3rYAxmeYBWWMX8O7proij 1hzqBr0cglqP5D3Wx6ObntMF7GeqCes= ARC-Authentication-Results: i=1; imf04.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=google header.b=MQWhh0o1; spf=pass (imf04.hostedemail.com: domain of torvalds@linuxfoundation.org designates 209.85.208.54 as permitted sender) smtp.mailfrom=torvalds@linuxfoundation.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1751915852; a=rsa-sha256; cv=none; b=BSXVEjnflCoP/gNcJw4Tc4jn+ezNHnbTpKct3FdP82dTPjteiPMFLkQF1tdcX66L8kc+Ja kzhvz9SVWarQwwYiToRY8qO4jIwzSV4P9VykwYg3JWX5HFSeF/L1JhEB3jZELf21EjE3Fc CrvXKp0X2XhkUuglLxWx0Vn6wAFP5mY= Received: by mail-ed1-f54.google.com with SMTP id 4fb4d7f45d1cf-60768f080d8so6625029a12.1 for ; Mon, 07 Jul 2025 12:17:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux-foundation.org; s=google; t=1751915850; x=1752520650; 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=ORZDLd02UGkkbh45cfJ5kZRWnBYJOZszPOFyiadW67g=; b=MQWhh0o1GrcGSnOt4UBIRcvnoZy1+NJPgh2fufm7UxZPGPJvsrzOHJ4uRPweY4S3lH I/mr9keFlvciyWQWLsEUUqn/2lkDm19vr5fP/jVzQzfheANoLXJQvNwh8fPpJPDBGAPl 4t+P9nmp4ON/orxexIO2jON2wXHdc0jMkqkBY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751915850; x=1752520650; 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=ORZDLd02UGkkbh45cfJ5kZRWnBYJOZszPOFyiadW67g=; b=kh/NWux+psj7kGK8A56hcCfWBOUvFpfAEzMulWnYrO2PP+qwgeM1aaSbMw8T5GIJIb 2NR4U0FC2Gu8tIkNYMAhoqMfEoSbcsYBq5cVXFtHaVppoq47Gzx/HY0Mf2bNWwk3/T1x 15WIh4/TjXgsdxhkzxg1quzr7G9E92Bl3xTfykWGHCKNAuySuRDm7gs2nypRy8FiSf5v +ziagggyPSd+GeSt6UOOCLliEBQq0EHSGx9M9u6UZMVF6cEuRWuKG7lMOHhR4mxqiHoH LM+E8w6SeoZj/VM+0/LtPx8chlmB8u+Eeokd+sNtk64M5dsJF3OT6bPKSGIa8xSyfNS1 4NcA== X-Gm-Message-State: AOJu0YzHcdKyBGR22yhM+T/BP/7OSpDWNY34ud2qILr+Ea+Ij5rqhM2x t0sA4r644D3yPTcSv2m1oBDL0AgGVD8T69SdzsqRV+QaawLQpd6J5fyD9KYJZt8bETgEynuJWrl L0lYdThk= X-Gm-Gg: ASbGncv4p2qzGFuDp3DQfAFyOzsXUBNFdxNaNuFZXxjthG16hKl7U5zP2fotvimatzj /T3NVr6C05duWl/GtpwVON3Ht2uuw/ud7ggOEkapovdSGbdul+EGPEkIUDc6673AdUfDF7+Qiyq snnPH/jvVtWDBGDEoWan/5ixWO0IM0LFhZURVtJsJEMPP59YFHcqJ9SJQdBoLg8pv0vBf/Px1Kp rt96bQgQ4Ww0ndDjVuZknm4JAhDQHBm1E2hrP2E0bj0VovHPPZIzqdHoE62b5qW0TL57cDK83Wf Wfqm50Wxp/cggI3KaqigYXsXgxbn1qyXRzYoislgi6xXTQ5b5dInjb8ic21R8xO+LhcsDMQvFdn 6kn45iTEZ+iW4I2aozi4D2ebO2XAYgsodQRcz X-Google-Smtp-Source: AGHT+IHFEeV0/AJ+fpbS6gvPUkaubFKsmFRUIc32zH3/JvYhrIicxV/pej3as32fa1PM0/wQITa9jQ== X-Received: by 2002:a17:906:751:b0:ae3:b22c:2ee8 with SMTP id a640c23a62f3a-ae3fbd8b392mr1106464866b.37.1751915849782; Mon, 07 Jul 2025 12:17:29 -0700 (PDT) Received: from mail-ed1-f52.google.com (mail-ed1-f52.google.com. [209.85.208.52]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ae3f692a6desm751279366b.42.2025.07.07.12.17.28 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 07 Jul 2025 12:17:28 -0700 (PDT) Received: by mail-ed1-f52.google.com with SMTP id 4fb4d7f45d1cf-60768f080d8so6624962a12.1 for ; Mon, 07 Jul 2025 12:17:28 -0700 (PDT) X-Received: by 2002:a05:6402:430d:b0:607:5987:5b90 with SMTP id 4fb4d7f45d1cf-60fd30d6669mr12436985a12.11.1751915847772; Mon, 07 Jul 2025 12:17:27 -0700 (PDT) MIME-Version: 1.0 References: <033bf00f1fcf808245ae150346019aa7b997ea11.1751862634.git.alx@kernel.org> In-Reply-To: <033bf00f1fcf808245ae150346019aa7b997ea11.1751862634.git.alx@kernel.org> From: Linus Torvalds Date: Mon, 7 Jul 2025 12:17:11 -0700 X-Gmail-Original-Message-ID: X-Gm-Features: Ac12FXwOfsR2-wc3VkxaTo-SkUQ3qs88-iLy7sw-vzL7AWJu7PpVDNuYiHFuVTo Message-ID: Subject: Re: [RFC v3 3/7] mm: Use seprintf() instead of less ergonomic APIs To: Alejandro Colomar 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 , 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-Rspam-User: X-Rspamd-Queue-Id: E614840019 X-Rspamd-Server: rspam09 X-Stat-Signature: fqttz7znwyjgbtm5mt76c4tdhtmh8dku X-HE-Tag: 1751915851-413881 X-HE-Meta: U2FsdGVkX1/AvuV5HLuGzE/I3HXsK7GQXe9tCi9dGJk5A23dG340Ro5NRyj+X+qE0TkX3ctZkZW0E0ZaA2ZBNmNK7V9DsWIt1vKgb9DjuwnTIIJXJgyRzCliYjOSay/JDMm6EC6RyjwVUHIV0KhAtsaKk5u4KBNEYCPpocwugG1TZa4ogKczi/gpApd1jmUoe+7gfCDkOHcI1QPbS1du1bZuGBE7oDjsBHcKBG5WT1Q/8MVNESSrWVyLI4NqanvCWV1sB1rvbQI2VZB0lep7gsTN5bDvoUtb34TL1DYvyS8Woj/3lNqSwEEyT+VjXvk55ShmZeOyIsZmHRW1E+axb/Jo1xN44fqdSUL7ORuHGD6h0Gq9BsnyQVQNKhEtPQg1PO87VY1cAopIS+377QTveqBRQ7fCzYDkAtcIyM3bwSGkR/ET2Di12x8Nb7rx0vNGrm0aoRgzgzBpQKXoOPOSCLzhMdl1Pj8wEH8jh/gxuyecHzPQcdf0hCTNFqBaH4/4htnRmpTh02+sd5IQOcwbJFg7ukGfv8Q/GUkIQ/s6Hw4wx6UaybzwNn0sJ5lODncYTuVBekMqmsEJHlWSdXm5tJOgcVEPMTHM02Y0+Cvs3EO5gDdbhdcDR9qjh5Msd7EuP+BQ4QlLyd80CmNjIHaXy4SSAesgHhcJvxsg+OIZIkU05H9dZO/X/7bDyRcl0AiyvUD+C6tRbT0Gjxhso4HpG9ThVw1Stiz8dPPs3kJ3qAD1pigIHAq8spCRJrMCI2SOLoGt2Zz5gReVTkxZB9mzOGieFoEqn7SDFtlr1ttlATjMgXaX5NmDWQMLN3J8Dlk0qHPCQn520u9JboMUuDNMLOVwywz2GDIcB7NzQGVwBxirSS6GBLQcdRV0bnwO5pAxqpWOhIWxvh6UozTUpoAVYLxauInjfAUF3I/gQiWH47qaaWFuSFdLrqTFTtPJgFbA8q17Hi/Opwl3uXYmc52 PnG6csJs o2ViQ6fAOg91I3NqjwfTRn3dr0sQNVsV3AT4ZodztyiaeT6SRV2SqNwxslD8yE+pUqsdylZWtRGNcAknTFxD/6TcK/OozsfFMt5SyE4uHEalQf5kPQvwjmvTuWfPJ7eUHwytegxWFF15EB390rS81tfqabwofA1VTY4f9HKwNhCrH2zKRR8yM90mGjrbZVzS4qMrqdPn0bAtYkPy2KC9i6XwrBnvTn6kNJBTssE/4LiU6zz04VjdXrwgsuzNM70N82NwBHhcAm+xvjaVk2399APu+ZZ2iF8B2VUN9Q+XSJXYRHDfVj9fwsBkJKdFKrywGvxUran3D4Ex13bB6fwwbSnK2kJA4G1Fn48nEtl9a9F8BmFQxywMnQe5dTyzxHoJgf9G8ZXPDnLrUK+pBoyVArpzwwk74Aco+fY8ZIgq/0h55PWqCTQur1SJsZDIzzq0Ugxovr+KkDfyASLxtOJlEsr0JTIanQRrTB1D8V818Y1RqUz2YdcsESNw5DHW4WFeL+9pU4KcI0z+dvHZ+eVTFAOSEny+8jo74bs28CXRGTI+zsC1Px0tyYq6FnR/2W8vlPc0xLevGSwOQnRkMOKWMhDX5HbA6vZyKGfK5 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 Sun, 6 Jul 2025 at 22:06, Alejandro Colomar wrote: > > - p += snprintf(p, ID_STR_LENGTH - (p - name), "%07u", s->size); > + p = seprintf(p, e, "%07u", s->size); I am *really* not a fan of introducing yet another random non-standard string function. This 'seprintf' thing really seems to be a completely made-up thing. Let's not go there. It just adds more confusion - it may be a simpler interface, but it's another cogniitive load thing, and honestly, that "beginning and end" interface is not great. I think we'd be better off with real "character buffer" interfaces, and they should be *named* that way, not be yet another "random character added to the printf family". The whole "add a random character" thing is a disease. But at least with printf/fprintf/vprintf/vsnprintf/etc, it's a _standard_ disease, so people hopefully know about it. So I really *really* don't like things like seprintf(). It just makes me go WTF? Interfaces that have worked for us are things like "seq_printf()", which (a) has sane naming, not "add random characters" (b) has real abstractions (in that case 'struct seq_file') rather than adding random extra arguments to the argument list. and we do have something like that in 'struct seq_buf'. I'm not convinced that's the optimal interface, but I think it's *better*. Because it does both encapsulate a proper "this is my buffer" type, and has a proper "this is a buffer operation" function name. So I'd *much* rather people would try to convert their uses to things like that, than add random letter combinations. Linus