1. 20 3月, 2007 3 次提交
  2. 19 3月, 2007 27 次提交
  3. 18 3月, 2007 10 次提交
    • A
      KVM: MMU: Fix host memory corruption on i386 with >= 4GB ram · 27aba766
      Avi Kivity 提交于
      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: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NAvi Kivity <avi@qumranet.com>
      27aba766
    • A
      KVM: MMU: Fix guest writes to nonpae pde · ac1b714e
      Avi Kivity 提交于
      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: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NAvi Kivity <avi@qumranet.com>
      ac1b714e
    • A
      KVM: Fix guest sysenter on vmx · f5b42c33
      Avi Kivity 提交于
      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: NAvi Kivity <avi@qumranet.com>
      f5b42c33
    • A
      KVM: Unset kvm_arch_ops if arch module loading failed · ca45aaae
      Avi Kivity 提交于
      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: NAvi Kivity <avi@qumranet.com>
      ca45aaae
    • L
      Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6 · b720a3be
      Linus Torvalds 提交于
      * master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
        [SPARC64]: Use Kconfig.preempt
      b720a3be
    • L
      Merge master.kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6 · 2f8dd850
      Linus Torvalds 提交于
      * 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
    • L
      Merge branch 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6 · 360afb03
      Linus Torvalds 提交于
      * 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6:
        [PATCH] x86: Export _proxy_pda for gcc 4.2
        [PATCH] i386: Don't use the TSC in sched_clock if unstable
        [PATCH] x86-64: fix section mismatch warnings
        [PATCH] i386: Enforce GPLness of VMI ROM
        [PATCH] x86-64: wire up compat sched_rr_get_interval(2)
        [PATCH] i386: Update defconfig
        [PATCH] x86-64: Update defconfig
      360afb03
    • D
      [SPARC64]: Use Kconfig.preempt · db2f9f6d
      David S. Miller 提交于
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      db2f9f6d
    • B
      ide: remove CONFIG_IDEDMA_{ICS,PCI}_AUTO config options · 120b9cfd
      Bartlomiej Zolnierkiewicz 提交于
      All modern distributions have been setting these options to "y" for ages.
      (additionally "n" cases have been obsoleted for few years).  Therefore use
      DMA by default and remove CONFIG_IDEDMA_{ICS,PCI}_AUTO (also remove no longer
      needed CONFIG_IDEDMA_AUTO).  This fixes DMA support for rare configurations
      where CONFIG_IDEDMA_{ICS,PCI}_AUTO was set to "n" but "hdparm -d 1" was used
      to enable DMA support and which were forced to PIO mode by "ide: don't allow
      DMA to be enabled if CONFIG_IDEDMA_{ICS,PCI}_AUTO=n" patch.  There is no
      functionality loss because "ide=nodma" kernel option is still available.
      
      Cc: Patrick Horn <phrh@yahoo.com>
      Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>
      Cc: Russell King <rmk+lkml@arm.linux.org.uk>
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      120b9cfd
    • B
      ide: don't allow DMA to be enabled if CONFIG_IDEDMA_{ICS,PCI}_AUTO=n · 6f5050a9
      Bartlomiej Zolnierkiewicz 提交于
      For CONFIG_IDEDMA_{ICS,PCI}_AUTO=n and/or "ide=nodma" option the host/device
      are not programmed for DMA and it is also explicitly disabled by ide_set_dma()
      (->ide_dma_check returns "-1").  However the code responsible for manually
      enabling DMA ("hdparm -d 1") has a bug which results in DMA being erroneously
      enabled - ide_set_dma() incorrectly passes "0" return value to set_using_dma().
      This may work if BIOS/firmware configured the host/device for DMA and chipset
      allows independent configuration of DMA/PIO modes but won't work after suspend
      and is generally unsafe on many chipsets (possibly including data corruption
      if the same registers are used for DMA/PIO timings).
      
      This patch fixes kernel bugzilla bug #8169 (piix host driver fixes for
      setting PIO mode exposed the problem described above).  The side-effect of
      the fix is that some rare configuration may be forced to PIO mode when DMA
      mode was previously used - this is addressed by the next patch which removes
      CONFIG_IDEDMA_{PCI,ICS}_AUTO config option completely.
      
      Thanks goes out to Patrick Horn for reporting the issue, narrowing it down
      to the specific commit and testing the fix.  Also thanks to Sergei Shtylyov
      for help in debugging the problem.
      
      Cc: Patrick Horn <phrh@yahoo.com>
      Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>
      Cc: Russell King <rmk+lkml@arm.linux.org.uk>
      Signed-off-by: NBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      6f5050a9