From: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
To: Rafael Aquini <aquini@redhat.com>
Cc: Audra Mitchell <audra@redhat.com>,
linux-kernel@vger.kernel.org, tj@kernel.org,
jiangshanlai@gmail.com, hirokazu.yamauchi.hk@hitachi.com,
ddouwsma@redhat.com, loberman@redhat.com, raquini@redhat.com
Subject: Re: [PATCH v2] workqueue.c: Increase workqueue name length
Date: Wed, 10 Jan 2024 23:52:38 +0100 [thread overview]
Message-ID: <ace8c8db-ff33-465f-9415-dfcb1c522f4f@prevas.dk> (raw)
In-Reply-To: <ZZ8a1RvwpDZvwfg9@optiplex-fbsd>
On 10/01/2024 23.31, Rafael Aquini wrote:
> On Wed, Jan 10, 2024 at 11:06:22PM +0100, Rasmus Villemoes wrote:
>> On 10/01/2024 22.52, Rafael Aquini wrote:
>>> The extra vsnprintf call is required because the return of the existing
>>> vsnprintf() is going to be already capped by sizeof(wq->name).
>>
>> No, it is not. vsnprintf() returns the length of the would-be-created
>> string if the buffer was big enough. That is independent of whether one
>> does a dummy NULL,0 call or just calls it with a real, but possibly too
>> small, buffer.
>>
>> This is true for userspace (as required by posix) as well as the kernel
>> implementation of vsnprintf(). What makes you think otherwise?
>>
>
> this snippet from PRINTF(3) man page
>
> RETURN VALUE
> Upon successful return, these functions return the number of characters
> printed (excluding the null byte used to end output to strings).
>
Assuming we have the same man pages installed, try reading the very next
paragraph:
The functions snprintf() and vsnprintf() do not write more than size
bytes (including the terminating null byte ('\0')). If the output was
truncated due to this limit, then the return value is the number of
characters (excluding the terminating null byte) which would have been
written to the final string if enough space had been available. Thus,
a return value of size or more means that the output was truncated.
How else would you even expect the vsnprintf(NULL, 0, ...) thing to work?
next prev parent reply other threads:[~2024-01-10 22:52 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-12-15 19:39 [PATCH] workqueue.c: Change workqueue to accept variable length name Audra Mitchell
2023-12-21 21:39 ` Tejun Heo
[not found] ` <CA+bDH-v6T5vvyOwsphseHwgihdGQta7TZ9tOtt-Fnij92kvU6A@mail.gmail.com>
2023-12-22 17:53 ` Tejun Heo
2024-01-09 13:29 ` Audra Mitchell
2024-01-10 20:29 ` [PATCH v2] workqueue.c: Increase workqueue name length Audra Mitchell
2024-01-10 20:47 ` Rasmus Villemoes
2024-01-10 21:52 ` Rafael Aquini
2024-01-10 22:06 ` Rasmus Villemoes
2024-01-10 22:31 ` Rafael Aquini
2024-01-10 22:45 ` Rafael Aquini
2024-01-10 22:58 ` Rasmus Villemoes
2024-01-10 22:52 ` Rasmus Villemoes [this message]
2024-01-10 23:08 ` Rafael Aquini
2024-01-15 17:08 ` [PATCH v3] " Audra Mitchell
2024-01-16 18:31 ` Tejun Heo
2024-01-17 14:40 ` Audra Mitchell
2024-01-17 17:09 ` Tejun Heo
2024-01-19 20:30 ` Audra Mitchell
2024-01-19 23:44 ` Tejun Heo
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ace8c8db-ff33-465f-9415-dfcb1c522f4f@prevas.dk \
--to=rasmus.villemoes@prevas.dk \
--cc=aquini@redhat.com \
--cc=audra@redhat.com \
--cc=ddouwsma@redhat.com \
--cc=hirokazu.yamauchi.hk@hitachi.com \
--cc=jiangshanlai@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=loberman@redhat.com \
--cc=raquini@redhat.com \
--cc=tj@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).