diff mbox series

[v6,1/4] KVM: x86: Clarify the kvm_run.emulation_failure structure layout

Message ID 20210920103737.2696756-2-david.edmondson@oracle.com (mailing list archive)
State New, archived
Headers show
Series KVM: x86: Convey the exit reason, etc. to user-space on emulation failure | expand

Commit Message

David Edmondson Sept. 20, 2021, 10:37 a.m. UTC
Until more flags for kvm_run.emulation_failure flags are defined, it
is undetermined whether new payload elements corresponding to those
flags will be additive or alternative. As a hint to userspace that an
alternative is possible, wrap the current payload elements in a union.

Suggested-by: Sean Christopherson <seanjc@google.com>
Signed-off-by: David Edmondson <david.edmondson@oracle.com>
---
 include/uapi/linux/kvm.h | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

Comments

Sean Christopherson Oct. 12, 2021, 11:45 p.m. UTC | #1
On Mon, Sep 20, 2021, David Edmondson wrote:
> Until more flags for kvm_run.emulation_failure flags are defined, it
> is undetermined whether new payload elements corresponding to those
> flags will be additive or alternative. As a hint to userspace that an
> alternative is possible, wrap the current payload elements in a union.
> 
> Suggested-by: Sean Christopherson <seanjc@google.com>
> Signed-off-by: David Edmondson <david.edmondson@oracle.com>
> ---

To complete the set... :-)

Reviewed-by: Sean Christopherson <seanjc@google.com>
David Edmondson Oct. 13, 2021, 9:29 a.m. UTC | #2
On Tuesday, 2021-10-12 at 23:45:43 GMT, Sean Christopherson wrote:

> On Mon, Sep 20, 2021, David Edmondson wrote:
>> Until more flags for kvm_run.emulation_failure flags are defined, it
>> is undetermined whether new payload elements corresponding to those
>> flags will be additive or alternative. As a hint to userspace that an
>> alternative is possible, wrap the current payload elements in a union.
>> 
>> Suggested-by: Sean Christopherson <seanjc@google.com>
>> Signed-off-by: David Edmondson <david.edmondson@oracle.com>
>> ---
>
> To complete the set... :-)
>
> Reviewed-by: Sean Christopherson <seanjc@google.com>

Thanks!
Paolo Bonzini Oct. 22, 2021, 3:24 p.m. UTC | #3
On 13/10/21 11:29, David Edmondson wrote:
> On Tuesday, 2021-10-12 at 23:45:43 GMT, Sean Christopherson wrote:
> 
>> On Mon, Sep 20, 2021, David Edmondson wrote:
>>> Until more flags for kvm_run.emulation_failure flags are defined, it
>>> is undetermined whether new payload elements corresponding to those
>>> flags will be additive or alternative. As a hint to userspace that an
>>> alternative is possible, wrap the current payload elements in a union.
>>>
>>> Suggested-by: Sean Christopherson <seanjc@google.com>
>>> Signed-off-by: David Edmondson <david.edmondson@oracle.com>
>>> ---
>>
>> To complete the set... :-)
>>
>> Reviewed-by: Sean Christopherson <seanjc@google.com>
> 
> Thanks!
> 

Queued, thanks!

Paolo
diff mbox series

Patch

diff --git a/include/uapi/linux/kvm.h b/include/uapi/linux/kvm.h
index a067410ebea5..8618fe973215 100644
--- a/include/uapi/linux/kvm.h
+++ b/include/uapi/linux/kvm.h
@@ -402,8 +402,12 @@  struct kvm_run {
 			__u32 suberror;
 			__u32 ndata;
 			__u64 flags;
-			__u8  insn_size;
-			__u8  insn_bytes[15];
+			union {
+				struct {
+					__u8  insn_size;
+					__u8  insn_bytes[15];
+				};
+			};
 		} emulation_failure;
 		/* KVM_EXIT_OSI */
 		struct {