diff mbox series

[v3] cpupower: monitor: Exit with error status if execvp() fail

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

Commit Message

Yiwei Lin Feb. 20, 2025, 4:38 p.m. UTC
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(-)

Comments

Shuah Khan Feb. 20, 2025, 5:37 p.m. UTC | #1
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
Yiwei Lin Feb. 20, 2025, 5:46 p.m. UTC | #2
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 mbox series

Patch

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) {