Merge branch 'kvm-updates-2.6.27' of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm

* 'kvm-updates-2.6.27' of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm:
KVM: fix userspace ABI breakage
KVM: MMU: Fix torn shadow pte
KVM: Use .fixup instead of .text.fixup on __kvm_handle_fault_on_reboot

+4 -4
+1 -1
arch/x86/kvm/paging_tmpl.h
··· 345 345 shadow_addr = __pa(shadow_page->spt); 346 346 shadow_pte = shadow_addr | PT_PRESENT_MASK | PT_ACCESSED_MASK 347 347 | PT_WRITABLE_MASK | PT_USER_MASK; 348 - *shadow_ent = shadow_pte; 348 + set_shadow_pte(shadow_ent, shadow_pte); 349 349 } 350 350 351 351 mmu_set_spte(vcpu, shadow_ent, access, walker->pte_access & access,
+1 -1
include/asm-x86/kvm_host.h
··· 722 722 723 723 #define __kvm_handle_fault_on_reboot(insn) \ 724 724 "666: " insn "\n\t" \ 725 - ".pushsection .text.fixup, \"ax\" \n" \ 725 + ".pushsection .fixup, \"ax\" \n" \ 726 726 "667: \n\t" \ 727 727 KVM_EX_PUSH " $666b \n\t" \ 728 728 "jmp kvm_handle_fault_on_reboot \n\t" \
+2 -2
include/linux/kvm.h
··· 320 320 struct { 321 321 __u64 cycle_u64; 322 322 __u32 extra_u32[KVM_TRC_EXTRA_MAX]; 323 - } cycle; 323 + } __attribute__((packed)) cycle; 324 324 struct { 325 325 __u32 extra_u32[KVM_TRC_EXTRA_MAX]; 326 326 } nocycle; 327 327 } u; 328 - } __attribute__((packed)); 328 + }; 329 329 330 330 #define KVMIO 0xAE 331 331