Commit 3dd22828 authored by Radim Krčmář's avatar Radim Krčmář Committed by Ben Hutchings

KVM: x86: zero base3 of unusable segments

commit f0367ee1 upstream.

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: default avatarDan Carpenter <dan.carpenter@oracle.com>
Fixes: 1aa36616 ("KVM: x86 emulator: consolidate segment accessors")
Reviewed-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
Reviewed-by: default avatarDavid Hildenbrand <david@redhat.com>
Signed-off-by: default avatarRadim Krčmář <rkrcmar@redhat.com>
Signed-off-by: default avatarBen Hutchings <ben@decadent.org.uk>
parent d3ee5f88
...@@ -4613,6 +4613,8 @@ static bool emulator_get_segment(struct x86_emulate_ctxt *ctxt, u16 *selector, ...@@ -4613,6 +4613,8 @@ static bool emulator_get_segment(struct x86_emulate_ctxt *ctxt, u16 *selector,
if (var.unusable) { if (var.unusable) {
memset(desc, 0, sizeof(*desc)); memset(desc, 0, sizeof(*desc));
if (base3)
*base3 = 0;
return false; return false;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment