linux/tools/lib/api
Arnaldo Carvalho de Melo 919c9c7933 tools lib api: Fix mount_overload() snprintf truncation and toupper range
[ Upstream commit fd1f70776a ]

mount_overload() builds an environment variable name like
"PERF_SYSFS_ENVIRONMENT" from fs->name.  Two bugs:

1) snprintf() uses name_len as the buffer size instead of sizeof(upper_name).
   For fs->name = "sysfs" (len=5), the output is truncated to "PERF" (4
   chars + null), so getenv() never finds the intended variable.

2) mem_toupper() only uppercases name_len bytes, converting just the "PERF"
   prefix rather than the full string including the filesystem name portion.

Fix by using sizeof(upper_name) for snprintf and strlen(upper_name) for
mem_toupper, so the full "PERF_SYSFS_ENVIRONMENT" string is correctly
formatted and uppercased.

Reported-by: sashiko-bot <sashiko-bot@kernel.org>
Fixes: 73ca85ad36 ("tools lib api fs: Add FSTYPE__mount() method")
Cc: Jiri Olsa <jolsa@kernel.org>
Assisted-by: Claude:claude-opus-4.6
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2026-07-24 15:51:38 +02:00
..
fd libperf: Avoid counting of nonfilterable fdarray fds 2020-07-21 09:53:22 -03:00
fs tools lib api: Fix mount_overload() snprintf truncation and toupper range 2026-07-24 15:51:38 +02:00
Build tools lib api: Add str_error_c to libapi 2016-07-27 17:16:43 -03:00
cpu.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
cpu.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
debug-internal.h tools lib api: Renaming pr_warning to pr_warn 2019-10-18 15:02:57 +02:00
debug.c tools lib api: Renaming pr_warning to pr_warn 2019-10-18 15:02:57 +02:00
debug.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
io.h libapi: Add missing linux/types.h header to get the __u64 type on io.h 2024-01-25 14:52:50 -08:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00