diff options
author | Antoine Tenart <atenart@kernel.org> | 2024-10-17 18:24:18 +0300 |
---|---|---|
committer | Paolo Abeni <pabeni@redhat.com> | 2024-10-23 11:28:19 +0300 |
commit | a8cc8fa14541d6f8f1fbe78607a096e97c80179e (patch) | |
tree | 5170ada6a0e84f4bc762b943b20d805956d160ae /net/core | |
parent | d631094e4d20d136f159c6e0f723b7aecbc12d2f (diff) | |
download | linux-a8cc8fa14541d6f8f1fbe78607a096e97c80179e.tar.xz |
net: sysctl: do not reserve an extra char in dump_cpumask temporary buffer
When computing the length we'll be able to use out of the buffers, one
char is removed from the temporary one to make room for a newline. It
should be removed from the output buffer length too, but in reality this
is not needed as the later call to scnprintf makes sure a null char is
written at the end of the buffer which we override with the newline.
Signed-off-by: Antoine Tenart <atenart@kernel.org>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Diffstat (limited to 'net/core')
-rw-r--r-- | net/core/sysctl_net_core.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/core/sysctl_net_core.c b/net/core/sysctl_net_core.c index e7c0121dfaa1..8dc07f7b1772 100644 --- a/net/core/sysctl_net_core.c +++ b/net/core/sysctl_net_core.c @@ -62,7 +62,7 @@ static void dump_cpumask(void *buffer, size_t *lenp, loff_t *ppos, return; } - len = min(sizeof(kbuf) - 1, *lenp); + len = min(sizeof(kbuf), *lenp); len = scnprintf(kbuf, len, "%*pb", cpumask_pr_args(mask)); if (!len) { *lenp = 0; |