Message ID | 20250220163846.2765-1-s921975628@gmail.com (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Series | [v3] cpupower: monitor: Exit with error status if execvp() fail | expand |
On 2/20/25 09:38, Yiwei Lin wrote: > 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. > > --- Note that everything below this gets thrown away. > V3: > - Modify output message content > > V2: > - Check return value from execvp and print message for invalid command > --- These version information goes after the --- below the Signed-off-by Note that everything below the > > Signed-off-by: Yiwei Lin <s921975628@gmail.com> > --- This where the patch version stuff goes. I fixed this for now. thanks, -- Shuah
On 2/21/2025 1:37 AM, Shuah Khan wrote: > On 2/20/25 09:38, Yiwei Lin wrote: >> 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. >> >> --- > > Note that everything below this gets thrown away. > >> V3: >> - Modify output message content >> >> V2: >> - Check return value from execvp and print message for invalid command >> --- > > These version information goes after the --- below the Signed-off-by > > Note that everything below the > >> >> Signed-off-by: Yiwei Lin <s921975628@gmail.com> >> --- > > This where the patch version stuff goes. I fixed this for now. > Thank you to help for the fix! I'll be careful with the commit message next time. I'm sorry if you experienced any inconvenience with this. All the best, Yiwei Lin
diff --git a/tools/power/cpupower/utils/idle_monitor/cpupower-monitor.c b/tools/power/cpupower/utils/idle_monitor/cpupower-monitor.c index f746099b5dac..e123aa578881 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> @@ -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) {
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. --- V3: - Modify output message content V2: - Check return value from execvp and print message for invalid command --- Signed-off-by: Yiwei Lin <s921975628@gmail.com> --- tools/power/cpupower/utils/idle_monitor/cpupower-monitor.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)