[PATCH 22/58] KVM: Fix vmx I/O bitmap initialization on highmem systems

Avi Kivity
2007-06-17T09:44:03Z

kunmap() expects a struct page, not a virtual address. Fixes an oops loading
kvm-intel.ko on i386 with CONFIG_HIGHMEM.

Thanks to Michael Ivanov <deruhu-+ELS1BHoWHS5kNr71WiJjw@public.gmane.org> for reporting.

Signed-off-by: Avi Kivity <avi-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
---
drivers/kvm/vmx.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/kvm/vmx.c b/drivers/kvm/vmx.c
index e39ebe0..34171d9 100644
--- a/drivers/kvm/vmx.c
+++ b/drivers/kvm/vmx.c
@@ -2274,11 +2274,11 @@ static int __init vmx_init(void)
iova = kmap(vmx_io_bitmap_a);
memset(iova, 0xff, PAGE_SIZE);
clear_bit(0x80, iova);
- kunmap(iova);
+ kunmap(vmx_io_bitmap_a);

iova = kmap(vmx_io_bitmap_b);
memset(iova, 0xff, PAGE_SIZE);
- kunmap(iova);
+ kunmap(vmx_io_bitmap_b);

r = kvm_init_arch(&vmx_arch_ops, THIS_MODULE);
if (r)