From: Maxim Levitsky <mlevitsk@redhat.com>
To: Vitaly Kuznetsov <vkuznets@redhat.com>,
kvm@vger.kernel.org, Paolo Bonzini <pbonzini@redhat.com>
Cc: Sean Christopherson <seanjc@google.com>,
Wanpeng Li <wanpengli@tencent.com>,
Jim Mattson <jmattson@google.com>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2/4] KVM: nVMX: Properly pad 'struct kvm_vmx_nested_state_hdr'
Date: Wed, 05 May 2021 11:24:18 +0300 [thread overview]
Message-ID: <ff72dc0172cfdef228e63d766cb37e417cc4334d.camel@redhat.com> (raw)
In-Reply-To: <20210503150854.1144255-3-vkuznets@redhat.com>
On Mon, 2021-05-03 at 17:08 +0200, Vitaly Kuznetsov wrote:
> Eliminate the probably unwanted hole in 'struct kvm_vmx_nested_state_hdr':
>
> Pre-patch:
> struct kvm_vmx_nested_state_hdr {
> __u64 vmxon_pa; /* 0 8 */
> __u64 vmcs12_pa; /* 8 8 */
> struct {
> __u16 flags; /* 16 2 */
> } smm; /* 16 2 */
>
> /* XXX 2 bytes hole, try to pack */
>
> __u32 flags; /* 20 4 */
> __u64 preemption_timer_deadline; /* 24 8 */
> };
>
> Post-patch:
> struct kvm_vmx_nested_state_hdr {
> __u64 vmxon_pa; /* 0 8 */
> __u64 vmcs12_pa; /* 8 8 */
> struct {
> __u16 flags; /* 16 2 */
> } smm; /* 16 2 */
> __u16 pad; /* 18 2 */
> __u32 flags; /* 20 4 */
> __u64 preemption_timer_deadline; /* 24 8 */
> };
>
> Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
> ---
> arch/x86/include/uapi/asm/kvm.h | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/arch/x86/include/uapi/asm/kvm.h b/arch/x86/include/uapi/asm/kvm.h
> index 5a3022c8af82..0662f644aad9 100644
> --- a/arch/x86/include/uapi/asm/kvm.h
> +++ b/arch/x86/include/uapi/asm/kvm.h
> @@ -437,6 +437,8 @@ struct kvm_vmx_nested_state_hdr {
> __u16 flags;
> } smm;
>
> + __u16 pad;
> +
> __u32 flags;
> __u64 preemption_timer_deadline;
> };
Looks good to me.
I wonder if we can enable the -Wpadded GCC warning to warn about such cases.
Probably can't be enabled for the whole kernel but maybe we can enable it
for KVM codebase at least, like we did with -Werror.
From GCC manual:
"-Wpadded
Warn if padding is included in a structure, either to align an element of the structure or to align the whole structure.
Sometimes when this happens it is possible to rearrange the fields of the structure
to reduce the padding and so make the structure smaller."
Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>
Best regards,
Maxim Levitsky
next prev parent reply other threads:[~2021-05-05 8:24 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-05-03 15:08 [PATCH 0/4] KVM: nVMX: Fix migration of nested guests when eVMCS is in use Vitaly Kuznetsov
2021-05-03 15:08 ` [PATCH 1/4] KVM: nVMX: Always make an attempt to map eVMCS after migration Vitaly Kuznetsov
2021-05-05 8:22 ` Maxim Levitsky
2021-05-05 8:39 ` Vitaly Kuznetsov
2021-05-05 9:17 ` Maxim Levitsky
2021-05-05 9:23 ` Vitaly Kuznetsov
2021-05-03 15:08 ` [PATCH 2/4] KVM: nVMX: Properly pad 'struct kvm_vmx_nested_state_hdr' Vitaly Kuznetsov
2021-05-05 8:24 ` Maxim Levitsky [this message]
2021-05-05 17:34 ` Sean Christopherson
2021-05-03 15:08 ` [PATCH 3/4] KVM: nVMX: Introduce __nested_vmx_handle_enlightened_vmptrld() Vitaly Kuznetsov
2021-05-05 8:24 ` Maxim Levitsky
2021-05-03 15:08 ` [PATCH 4/4] KVM: nVMX: Map enlightened VMCS upon restore when possible Vitaly Kuznetsov
2021-05-03 15:53 ` Paolo Bonzini
2021-05-04 8:02 ` Vitaly Kuznetsov
2021-05-04 8:06 ` Paolo Bonzini
2021-05-05 8:33 ` Maxim Levitsky
2021-05-05 9:17 ` Vitaly Kuznetsov
2021-05-03 15:43 ` [PATCH 0/4] KVM: nVMX: Fix migration of nested guests when eVMCS is in use Paolo Bonzini
2021-05-03 15:52 ` Vitaly Kuznetsov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ff72dc0172cfdef228e63d766cb37e417cc4334d.camel@redhat.com \
--to=mlevitsk@redhat.com \
--cc=jmattson@google.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=pbonzini@redhat.com \
--cc=seanjc@google.com \
--cc=vkuznets@redhat.com \
--cc=wanpengli@tencent.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®