From 80d3175a7e073fad281bdc5c7e881f46ab806d97 Mon Sep 17 00:00:00 2001 From: Yiwei Lin Date: Fri, 21 Feb 2025 00:38:46 +0800 Subject: [PATCH] cpupower: monitor: Exit with error status if execvp() fail In the case that we give a invalid command to idle_monitor for monitoring, the execvp() will fail and thus go to the next line. As a result, we'll see two differnt monitoring output. For example, running `cpupower monitor -i 5 invalidcmd` which `invalidcmd` is not executable. Link: https://lore.kernel.org/r/20250220163846.2765-1-s921975628@gmail.com Signed-off-by: Yiwei Lin Signed-off-by: Shuah Khan --- tools/power/cpupower/utils/idle_monitor/cpupower-monitor.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tools/power/cpupower/utils/idle_monitor/cpupower-monitor.c b/tools/power/cpupower/utils/idle_monitor/cpupower-monitor.c index f746099b5dacb..e123aa578881d 100644 --- a/tools/power/cpupower/utils/idle_monitor/cpupower-monitor.c +++ b/tools/power/cpupower/utils/idle_monitor/cpupower-monitor.c @@ -6,6 +6,7 @@ */ +#include #include #include #include @@ -294,7 +295,10 @@ int fork_it(char **argv) if (!child_pid) { /* child */ - execvp(argv[0], argv); + if (execvp(argv[0], argv) == -1) { + printf("Invalid monitor command %s\n", argv[0]); + exit(errno); + } } else { /* parent */ if (child_pid == -1) { -- 2.47.3