mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-08-31 03:35:32 -04:00
perf machine: Reset errno before strtol in guest kernel map creation
machines__create_guest_kernel_maps() checks errno == ERANGE after
strtol() to detect overflow, but does not clear errno first. A stale
ERANGE from an earlier library call (e.g. scandir internals) causes
valid numeric directory names to be incorrectly skipped.
Set errno = 0 before strtol() so only the current conversion can
trigger the ERANGE check.
Fixes: a1645ce12a ("perf: 'perf kvm' tool for monitoring guest performance from host")
Reported-by: sashiko-bot <sashiko-bot@kernel.org>
Cc: Zhang, Yanmin <yanmin_zhang@linux.intel.com>
Assisted-by: Claude:claude-opus-4.6
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
This commit is contained in:
committed by
Namhyung Kim
parent
b687e1a418
commit
29ec46e43f
@@ -1258,6 +1258,7 @@ int machines__create_guest_kernel_maps(struct machines *machines)
|
||||
/* Filter out . and .. */
|
||||
continue;
|
||||
}
|
||||
errno = 0;
|
||||
pid = (pid_t)strtol(namelist[i]->d_name, &endp, 10);
|
||||
if ((*endp != '\0') ||
|
||||
(endp == namelist[i]->d_name) ||
|
||||
|
||||
Reference in New Issue
Block a user