Re: [PATCH] trace-cmd: Fix reporting of unknown SVM exit reasons

From: Steven Rostedt
Date: Tue May 31 2016 - 11:23:41 EST


On Sun, 22 May 2016 18:02:31 +0200
Jan Kiszka <jan.kiszka@xxxxxx> 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@xxxxxxxxxxx>
>
> 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@xxxxxxxxxxx>
> ---
> 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;
>