diff options
author | Andy Honig <ahonig@google.com> | 2013-02-20 14:49:16 -0800 |
---|---|---|
committer | Marcelo Tosatti <mtosatti@redhat.com> | 2013-03-19 14:20:21 -0300 |
commit | a2c118bfab8bc6b8bb213abfc35201e441693d55 (patch) | |
tree | 39261e300db388699d388d98afa4aca107258571 /include/linux/flex_array.h | |
parent | 0b79459b482e85cb7426aa7da683a9f2c97aeae1 (diff) | |
download | lwn-a2c118bfab8bc6b8bb213abfc35201e441693d55.tar.gz lwn-a2c118bfab8bc6b8bb213abfc35201e441693d55.zip |
KVM: Fix bounds checking in ioapic indirect register reads (CVE-2013-1798)
If the guest specifies a IOAPIC_REG_SELECT with an invalid value and follows
that with a read of the IOAPIC_REG_WINDOW KVM does not properly validate
that request. ioapic_read_indirect contains an
ASSERT(redir_index < IOAPIC_NUM_PINS), but the ASSERT has no effect in
non-debug builds. In recent kernels this allows a guest to cause a kernel
oops by reading invalid memory. In older kernels (pre-3.3) this allows a
guest to read from large ranges of host memory.
Tested: tested against apic unit tests.
Signed-off-by: Andrew Honig <ahonig@google.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Diffstat (limited to 'include/linux/flex_array.h')
0 files changed, 0 insertions, 0 deletions