Sfoglia il codice sorgente

KVM: Fix vmx I/O bitmap initialization on highmem systems

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@peterstar.ru> for reporting.

Signed-off-by: Avi Kivity <avi@qumranet.com>
Avi Kivity 18 anni fa
parent
commit
cd0536d7cb
1 ha cambiato i file con 2 aggiunte e 2 eliminazioni
  1. 2 2
      drivers/kvm/vmx.c

+ 2 - 2
drivers/kvm/vmx.c

@@ -2274,11 +2274,11 @@ static int __init vmx_init(void)
 	iova = kmap(vmx_io_bitmap_a);
 	iova = kmap(vmx_io_bitmap_a);
 	memset(iova, 0xff, PAGE_SIZE);
 	memset(iova, 0xff, PAGE_SIZE);
 	clear_bit(0x80, iova);
 	clear_bit(0x80, iova);
-	kunmap(iova);
+	kunmap(vmx_io_bitmap_a);
 
 
 	iova = kmap(vmx_io_bitmap_b);
 	iova = kmap(vmx_io_bitmap_b);
 	memset(iova, 0xff, PAGE_SIZE);
 	memset(iova, 0xff, PAGE_SIZE);
-	kunmap(iova);
+	kunmap(vmx_io_bitmap_b);
 
 
 	r = kvm_init_arch(&vmx_arch_ops, THIS_MODULE);
 	r = kvm_init_arch(&vmx_arch_ops, THIS_MODULE);
 	if (r)
 	if (r)