diff options
author | Mike Larkin <mlarkin@cvs.openbsd.org> | 2016-10-26 05:15:14 +0000 |
---|---|---|
committer | Mike Larkin <mlarkin@cvs.openbsd.org> | 2016-10-26 05:15:14 +0000 |
commit | 8a92a086abcd58dec6c7b90a8d2e8316da999fc5 (patch) | |
tree | 78628961f504af07248512556fed68d77a1fb3d7 /sys | |
parent | 95c52781e55a228cd3807fa190c2d1441534753f (diff) |
Don't use a bitfield in the msr store index structure. This may not end up
initializing the unused bits, leading to VMABORTs during vmentry. Found the
hard way on i386 vmm, but the problem could occur on amd64 as well.
Diffstat (limited to 'sys')
-rw-r--r-- | sys/arch/amd64/include/vmmvar.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/arch/amd64/include/vmmvar.h b/sys/arch/amd64/include/vmmvar.h index d573ee07fe4..2691e58a264 100644 --- a/sys/arch/amd64/include/vmmvar.h +++ b/sys/arch/amd64/include/vmmvar.h @@ -1,4 +1,4 @@ -/* $OpenBSD: vmmvar.h,v 1.22 2016/10/12 06:56:54 mlarkin Exp $ */ +/* $OpenBSD: vmmvar.h,v 1.23 2016/10/26 05:15:13 mlarkin Exp $ */ /* * Copyright (c) 2014 Mike Larkin <mlarkin@openbsd.org> * @@ -339,7 +339,7 @@ struct vmcs { struct vmx_invvpid_descriptor { - uint64_t vid_vpid; // : 16; + uint64_t vid_vpid; uint64_t vid_addr; }; @@ -351,7 +351,7 @@ struct vmx_invept_descriptor struct vmx_msr_store { - uint64_t vms_index : 32; + uint64_t vms_index; uint64_t vms_data; }; |