1. 18 Mar, 2007 6 commits
    • Avi Kivity's avatar
      KVM: MMU: Fix host memory corruption on i386 with >= 4GB ram · 27aba766
      Avi Kivity authored
      PAGE_MASK is an unsigned long, so using it to mask physical addresses on
      i386 (which are 64-bit wide) leads to truncation.  This can result in
      page->private of unrelated memory pages being modified, with disasterous
      results.
      
      Fix by not using PAGE_MASK for physical addresses; instead calculate
      the correct value directly from PAGE_SIZE.  Also fix a similar BUG_ON().
      Acked-by: default avatarIngo Molnar <mingo@elte.hu>
      Signed-off-by: default avatarAvi Kivity <avi@qumranet.com>
      27aba766
    • Avi Kivity's avatar
      KVM: MMU: Fix guest writes to nonpae pde · ac1b714e
      Avi Kivity authored
      KVM shadow page tables are always in pae mode, regardless of the guest
      setting.  This means that a guest pde (mapping 4MB of memory) is mapped
      to two shadow pdes (mapping 2MB each).
      
      When the guest writes to a pte or pde, we intercept the write and emulate it.
      We also remove any shadowed mappings corresponding to the write.  Since the
      mmu did not account for the doubling in the number of pdes, it removed the
      wrong entry, resulting in a mismatch between shadow page tables and guest
      page tables, followed shortly by guest memory corruption.
      
      This patch fixes the problem by detecting the special case of writing to
      a non-pae pde and adjusting the address and number of shadow pdes zapped
      accordingly.
      Acked-by: default avatarIngo Molnar <mingo@elte.hu>
      Signed-off-by: default avatarAvi Kivity <avi@qumranet.com>
      ac1b714e
    • Avi Kivity's avatar
      KVM: Fix guest sysenter on vmx · f5b42c33
      Avi Kivity authored
      The vmx code currently treats the guest's sysenter support msrs as 32-bit
      values, which breaks 32-bit compat mode userspace on 64-bit guests.  Fix by
      using the native word width of the machine.
      Signed-off-by: default avatarAvi Kivity <avi@qumranet.com>
      f5b42c33
    • Avi Kivity's avatar
      KVM: Unset kvm_arch_ops if arch module loading failed · ca45aaae
      Avi Kivity authored
      Otherwise, the core module thinks the arch module is loaded, and won't
      let you reload it after you've fixed the bug.
      Signed-off-by: default avatarAvi Kivity <avi@qumranet.com>
      ca45aaae
    • Linus Torvalds's avatar
      Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6 · b720a3be
      Linus Torvalds authored
      * master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
        [SPARC64]: Use Kconfig.preempt
      b720a3be
    • Linus Torvalds's avatar
      Merge master.kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6 · 2f8dd850
      Linus Torvalds authored
      * master.kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6:
        ide: remove CONFIG_IDEDMA_{ICS,PCI}_AUTO config options
        ide: don't allow DMA to be enabled if CONFIG_IDEDMA_{ICS,PCI}_AUTO=n
        scc_pata: dependency fix
        jmicron: make ide jmicron driver play nice with libata ones
        ide: remove static prototypes from include/asm-mips/mach-au1x00/au1xxx_ide.h
        ide: au1xxx: fix use of mixed declarations and code
        cmd64x: fix recovery time calculation (take 3)
      2f8dd850
  2. 17 Mar, 2007 34 commits