diff options
author | 2024-10-17 17:24:18 +0200 | |
---|---|---|
committer | 2024-10-23 10:28:19 +0200 | |
commit | a8cc8fa14541d6f8f1fbe78607a096e97c80179e (patch) | |
tree | 5170ada6a0e84f4bc762b943b20d805956d160ae | |
parent | net: sysctl: remove always-true condition (diff) | |
download | wireguard-linux-a8cc8fa14541d6f8f1fbe78607a096e97c80179e.tar.xz wireguard-linux-a8cc8fa14541d6f8f1fbe78607a096e97c80179e.zip |
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>
-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; |