diff options
author | Radim Krčmář <[email protected]> | 2017-05-18 19:37:30 +0200 |
---|---|---|
committer | Radim Krčmář <[email protected]> | 2017-05-19 19:59:27 +0200 |
commit | f0367ee1d64d27fa08be2407df5c125442e885e3 (patch) | |
tree | 9537fcc0cca299cb5a60a1eb4a7f05bbfd5e01a3 | |
parent | cbfc6c9184ce71b52df4b1d82af5afc81a709178 (diff) |
KVM: x86: zero base3 of unusable segments
Static checker noticed that base3 could be used uninitialized if the
segment was not present (useable). Random stack values probably would
not pass VMCS entry checks.
Reported-by: Dan Carpenter <[email protected]>
Fixes: 1aa366163b8b ("KVM: x86 emulator: consolidate segment accessors")
Reviewed-by: Paolo Bonzini <[email protected]>
Reviewed-by: David Hildenbrand <[email protected]>
Signed-off-by: Radim Krčmář <[email protected]>
-rw-r--r-- | arch/x86/kvm/x86.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c index 519f3572e48e..02363e37d4a6 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c @@ -5067,6 +5067,8 @@ static bool emulator_get_segment(struct x86_emulate_ctxt *ctxt, u16 *selector, if (var.unusable) { memset(desc, 0, sizeof(*desc)); + if (base3) + *base3 = 0; return false; } |