1. 21 6月, 2009 3 次提交
    • L
    • L
      Merge branch 'for-2.6.31' of git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 · e6423407
      Linus Torvalds 提交于
      * 'for-2.6.31' of git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (34 commits)
        ide-cd: prevent null pointer deref via cdrom_newpc_intr
        ide: BUG() on unknown requests
        ide: filter out invalid DMA xfer mode changes in HDIO_DRIVE_CMD ioctl handler
        ide: do not access ide_drive_t 'drive_data' field directly
        sl82c105: implement test_irq() method
        siimage: implement test_irq() method
        pdc202xx_old: implement test_irq() method (take 2)
        cmd64x: implement test_irq() method
        cmd640: implement test_irq() method
        ide: move ack_intr() method into 'struct ide_port_ops' (take 2)
        ide: move IRQ clearing from ack_intr() method to clear_irq() method (take 2)
        siimage: use ide_dma_test_irq() (take 2)
        cmd64x: implement clear_irq() method (take 2)
        ide: call clear_irq() method in ide_timer_expiry()
        sgiioc4: coding style cleanup
        ide: don't enable IORDY at a probe time
        ide: IORDY handling fixes
        ata: add ata_id_pio_need_iordy() helper (v2)
        ide-tape: fix build issue
        ide: unify interrupt reason checking
        ...
      e6423407
    • L
      x86: don't use 'access_ok()' as a range check in get_user_pages_fast() · 7f818906
      Linus Torvalds 提交于
      It's really not right to use 'access_ok()', since that is meant for the
      normal "get_user()" and "copy_from/to_user()" accesses, which are done
      through the TLB, rather than through the page tables.
      
      Why? access_ok() does both too few, and too many checks.  Too many,
      because it is meant for regular kernel accesses that will not honor the
      'user' bit in the page tables, and because it honors the USER_DS vs
      KERNEL_DS distinction that we shouldn't care about in GUP.  And too few,
      because it doesn't do the 'canonical' check on the address on x86-64,
      since the TLB will do that for us.
      
      So instead of using a function that isn't meant for this, and does
      something else and much more complicated, just do the real rules: we
      don't want the range to overflow, and on x86-64, we want it to be a
      canonical low address (on 32-bit, all addresses are canonical).
      Acked-by: NIngo Molnar <mingo@elte.hu>
      Cc: H. Peter Anvin <hpa@zytor.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      7f818906
  2. 20 6月, 2009 37 次提交