diff mbox series

target-i386: kvm: do not initialize padding fields

Message ID 20181018123332.23518-1-pbonzini@redhat.com
State New
Headers show
Series target-i386: kvm: do not initialize padding fields | expand

Commit Message

Paolo Bonzini Oct. 18, 2018, 12:33 p.m. UTC
The exception.pad field is going to be renamed to pending in an upcoming header
file update.  Remove the unnecessary initialization.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
 linux-headers/asm-x86/kvm.h | 5 +----
 target/i386/kvm.c           | 2 --
 2 files changed, 1 insertion(+), 6 deletions(-)

Comments

Peter Maydell Oct. 18, 2018, 1:03 p.m. UTC | #1
On 18 October 2018 at 13:33, Paolo Bonzini <pbonzini@redhat.com> wrote:
> The exception.pad field is going to be renamed to pending in an upcoming header
> file update.  Remove the unnecessary initialization.
>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
>  linux-headers/asm-x86/kvm.h | 5 +----
>  target/i386/kvm.c           | 2 --
>  2 files changed, 1 insertion(+), 6 deletions(-)
>
> diff --git a/linux-headers/asm-x86/kvm.h b/linux-headers/asm-x86/kvm.h
> index 7a7acf9e47..dabfcf7c39 100644
> --- a/linux-headers/asm-x86/kvm.h
> +++ b/linux-headers/asm-x86/kvm.h
> @@ -300,10 +300,7 @@ struct kvm_vcpu_events {
>                 __u8 injected;
>                 __u8 nr;
>                 __u8 has_error_code;
> -               union {
> -                       __u8 pad;
> -                       __u8 pending;
> -               }
> +               __u8 pending;
>                 __u32 error_code;
>         } exception;
>         struct {

Do we need to include this hand-edited update to the linux-headers/
in this patch, or could we just drop the initializations, and leave
the header itself to be changed by some future update ?

> diff --git a/target/i386/kvm.c b/target/i386/kvm.c
> index 6e5f951f4f..74193b1b9d 100644
> --- a/target/i386/kvm.c
> +++ b/target/i386/kvm.c
> @@ -2696,7 +2696,6 @@ static int kvm_put_vcpu_events(X86CPU *cpu, int level)
>      events.exception.nr = env->exception_injected;
>      events.exception.has_error_code = env->has_error_code;
>      events.exception.error_code = env->error_code;
> -    events.exception.pad = 0;
>
>      events.interrupt.injected = (env->interrupt_injected >= 0);
>      events.interrupt.nr = env->interrupt_injected;
> @@ -2705,7 +2704,6 @@ static int kvm_put_vcpu_events(X86CPU *cpu, int level)
>      events.nmi.injected = env->nmi_injected;
>      events.nmi.pending = env->nmi_pending;
>      events.nmi.masked = !!(env->hflags2 & HF2_NMI_MASK);
> -    events.nmi.pad = 0;
>
>      events.sipi_vector = env->sipi_vector;
>      events.flags = 0;

You could also mention in the commit message:
 * these initializers were added by commit 7e680753cfa2
   in order to suppress a valgrind warning
 * they were rendered unnecessary by the later commit 076796f8fd27f4d,
   which added the "= {}" initializer to the declaration of "events",
   thus zero-initializing the whole struct (and so this patch does
   not change behaviour at all)

thanks
-- PMM
Paolo Bonzini Oct. 18, 2018, 2:30 p.m. UTC | #2
On 18/10/2018 15:03, Peter Maydell wrote:
>  * these initializers were added by commit 7e680753cfa2
>    in order to suppress a valgrind warning
>  * they were rendered unnecessary by the later commit 076796f8fd27f4d,
>    which added the "= {}" initializer to the declaration of "events",
>    thus zero-initializing the whole struct (and so this patch does
>    not change behaviour at all)

Will do, thanks.

Paolo
diff mbox series

Patch

diff --git a/linux-headers/asm-x86/kvm.h b/linux-headers/asm-x86/kvm.h
index 7a7acf9e47..dabfcf7c39 100644
--- a/linux-headers/asm-x86/kvm.h
+++ b/linux-headers/asm-x86/kvm.h
@@ -300,10 +300,7 @@  struct kvm_vcpu_events {
 		__u8 injected;
 		__u8 nr;
 		__u8 has_error_code;
-               union {
-       		__u8 pad;
-       		__u8 pending;
-               }
+		__u8 pending;
 		__u32 error_code;
 	} exception;
 	struct {
diff --git a/target/i386/kvm.c b/target/i386/kvm.c
index 6e5f951f4f..74193b1b9d 100644
--- a/target/i386/kvm.c
+++ b/target/i386/kvm.c
@@ -2696,7 +2696,6 @@  static int kvm_put_vcpu_events(X86CPU *cpu, int level)
     events.exception.nr = env->exception_injected;
     events.exception.has_error_code = env->has_error_code;
     events.exception.error_code = env->error_code;
-    events.exception.pad = 0;
 
     events.interrupt.injected = (env->interrupt_injected >= 0);
     events.interrupt.nr = env->interrupt_injected;
@@ -2705,7 +2704,6 @@  static int kvm_put_vcpu_events(X86CPU *cpu, int level)
     events.nmi.injected = env->nmi_injected;
     events.nmi.pending = env->nmi_pending;
     events.nmi.masked = !!(env->hflags2 & HF2_NMI_MASK);
-    events.nmi.pad = 0;
 
     events.sipi_vector = env->sipi_vector;
     events.flags = 0;