diff mbox

trace-cmd: Fix reporting of unknown SVM exit reasons

Message ID 5741D817.3070902@web.de (mailing list archive)
State New, archived
Headers show

Commit Message

Jan Kiszka May 22, 2016, 4:02 p.m. UTC
From: Jan Kiszka <jan.kiszka@siemens.com>

On AMD, exist code -1 is also a possible value, but we use it for
terminating the list of known exit reasons. This leads to EXIT_ERR
being reported for unkown ones. Fix this by using an NULL string
pointer as terminal.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 plugin_kvm.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Comments

Steven Rostedt May 31, 2016, 3:23 p.m. UTC | #1
On Sun, 22 May 2016 18:02:31 +0200
Jan Kiszka <jan.kiszka@web.de> wrote:

Hi Jan,

I finally got around to looking at your patches (not much to do on a 12
hour layover :-p).

> From: Jan Kiszka <jan.kiszka@siemens.com>
> 
> On AMD, exist code -1 is also a possible value, but we use it for
> terminating the list of known exit reasons. This leads to EXIT_ERR
> being reported for unkown ones. Fix this by using an NULL string
> pointer as terminal.
> 
> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
> ---
>  plugin_kvm.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/plugin_kvm.c b/plugin_kvm.c
> index 15a6f4c..99e920f 100644
> --- a/plugin_kvm.c
> +++ b/plugin_kvm.c
> @@ -208,12 +208,12 @@ struct str_values {
>  
>  static struct str_values vmx_exit_reasons[] = {
>  	VMX_EXIT_REASONS
> -	{ NULL, -1}
> +	{ }

Just a preference, but I would rather this still explicitly show the
NULL. The second value is meaningless with the change below. Thus, I'm
going to nuke these two hunks and just add the last one, which should
still work for you.

If not, let me know, or just tell me this weekend ;-) (I wont be
pushing this to my main server till I get back anyway)

-- Steve

>  };
>  
>  static struct str_values svm_exit_reasons[] = {
>  	SVM_EXIT_REASONS
> -	{ NULL, -1}
> +	{ }
>  };
>  
>  static struct isa_exit_reasons {
> @@ -237,7 +237,7 @@ static const char *find_exit_reason(unsigned isa, int val)
>  		}
>  	if (!strings)
>  		return "UNKNOWN-ISA";
> -	for (i = 0; strings[i].val >= 0; i++)
> +	for (i = 0; strings[i].str; i++)
>  		if (strings[i].val == val)
>  			break;
>  

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Jan Kiszka June 1, 2016, 10:06 a.m. UTC | #2
On 2016-05-31 17:23, Steven Rostedt wrote:
> On Sun, 22 May 2016 18:02:31 +0200
> Jan Kiszka <jan.kiszka@web.de> wrote:
> 
> Hi Jan,
> 
> I finally got around to looking at your patches (not much to do on a 12
> hour layover :-p).
> 
>> From: Jan Kiszka <jan.kiszka@siemens.com>
>>
>> On AMD, exist code -1 is also a possible value, but we use it for
>> terminating the list of known exit reasons. This leads to EXIT_ERR
>> being reported for unkown ones. Fix this by using an NULL string
>> pointer as terminal.
>>
>> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
>> ---
>>  plugin_kvm.c | 6 +++---
>>  1 file changed, 3 insertions(+), 3 deletions(-)
>>
>> diff --git a/plugin_kvm.c b/plugin_kvm.c
>> index 15a6f4c..99e920f 100644
>> --- a/plugin_kvm.c
>> +++ b/plugin_kvm.c
>> @@ -208,12 +208,12 @@ struct str_values {
>>  
>>  static struct str_values vmx_exit_reasons[] = {
>>  	VMX_EXIT_REASONS
>> -	{ NULL, -1}
>> +	{ }
> 
> Just a preference, but I would rather this still explicitly show the
> NULL. The second value is meaningless with the change below. Thus, I'm
> going to nuke these two hunks and just add the last one, which should
> still work for you.

Fine for me.

Thanks,
Jan

> 
> If not, let me know, or just tell me this weekend ;-) (I wont be
> pushing this to my main server till I get back anyway)
> 
> -- Steve
> 
>>  };
>>  
>>  static struct str_values svm_exit_reasons[] = {
>>  	SVM_EXIT_REASONS
>> -	{ NULL, -1}
>> +	{ }
>>  };
>>  
>>  static struct isa_exit_reasons {
>> @@ -237,7 +237,7 @@ static const char *find_exit_reason(unsigned isa, int val)
>>  		}
>>  	if (!strings)
>>  		return "UNKNOWN-ISA";
>> -	for (i = 0; strings[i].val >= 0; i++)
>> +	for (i = 0; strings[i].str; i++)
>>  		if (strings[i].val == val)
>>  			break;
>>  
> 

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/plugin_kvm.c b/plugin_kvm.c
index 15a6f4c..99e920f 100644
--- a/plugin_kvm.c
+++ b/plugin_kvm.c
@@ -208,12 +208,12 @@  struct str_values {
 
 static struct str_values vmx_exit_reasons[] = {
 	VMX_EXIT_REASONS
-	{ NULL, -1}
+	{ }
 };
 
 static struct str_values svm_exit_reasons[] = {
 	SVM_EXIT_REASONS
-	{ NULL, -1}
+	{ }
 };
 
 static struct isa_exit_reasons {
@@ -237,7 +237,7 @@  static const char *find_exit_reason(unsigned isa, int val)
 		}
 	if (!strings)
 		return "UNKNOWN-ISA";
-	for (i = 0; strings[i].val >= 0; i++)
+	for (i = 0; strings[i].str; i++)
 		if (strings[i].val == val)
 			break;