Message ID | 20250211100530.5918-1-s921975628@gmail.com |
---|---|
State | New |
Headers | show |
Series | cpupower: monitor: Exit with error status if execvp() fail | expand |
diff --git a/tools/power/cpupower/utils/idle_monitor/cpupower-monitor.c b/tools/power/cpupower/utils/idle_monitor/cpupower-monitor.c index f746099b5dac..0fc0e229739d 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 <errno.h> #include <stdio.h> #include <unistd.h> #include <stdlib.h> @@ -295,6 +296,7 @@ int fork_it(char **argv) if (!child_pid) { /* child */ execvp(argv[0], argv); + exit(errno); } else { /* parent */ if (child_pid == -1) {
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. Signed-off-by: Yiwei Lin <s921975628@gmail.com> --- tools/power/cpupower/utils/idle_monitor/cpupower-monitor.c | 2 ++ 1 file changed, 2 insertions(+)