1. 02 7月, 2009 8 次提交
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse · fa172f40
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse:
        fuse: invalidation reverse calls
        fuse: allow umask processing in userspace
        fuse: fix bad return value in fuse_file_poll()
        fuse: fix return value of fuse_dev_write()
      fa172f40
    • D
      Fix iommu address space allocation · a15a519e
      David Woodhouse 提交于
      This fixes kernel.org bug #13584. The IOVA code attempted to optimise
      the insertion of new ranges into the rbtree, with the unfortunate result
      that some ranges just didn't get inserted into the tree at all. Then
      those ranges would be handed out more than once, and things kind of go
      downhill from there.
      
      Introduced after 2.6.25 by ddf02886
      ("PCI: iova RB tree setup tweak").
      Signed-off-by: NDavid Woodhouse <David.Woodhouse@intel.com>
      Cc: mark gross <mgross@linux.intel.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: stable@kernel.org
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      a15a519e
    • D
      Fix pci_unmap_addr() et al on i386. · 788d84bb
      David Woodhouse 提交于
      We can run a 32-bit kernel on boxes with an IOMMU, so we need
      pci_unmap_addr() etc. to work -- without it, drivers will leak mappings.
      
      To be honest, this whole thing looks like it's more pain than it's
      worth; I'm half inclined to remove the no-op #else case altogether.
      
      But this is the minimal fix, which just does the right thing if
      CONFIG_DMAR is set.
      Signed-off-by: NDavid Woodhouse <David.Woodhouse@intel.com>
      Cc: stable@kernel.org  [ for 2.6.30 ]
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      788d84bb
    • A
      elf: fix one check-after-use · e2dbe125
      Amerigo Wang 提交于
      Check before use it.
      Signed-off-by: NWANG Cong <amwang@redhat.com>
      Cc: Alexander Viro <viro@zeniv.linux.org.uk>
      Cc: David Howells <dhowells@redhat.com>
      Acked-by: NRoland McGrath <roland@redhat.com>
      Acked-by: NJames Morris <jmorris@namei.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      e2dbe125
    • L
      Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block · 2027bd9f
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.dk/linux-2.6-block:
        cfq-iosched: remove redundant check for NULL cfqq in cfq_set_request()
        blocK: Restore barrier support for md and probably other virtual devices.
        block: get rid of queue-private command filter
        block: Create bip slabs with embedded integrity vectors
        cfq-iosched: get rid of the need for __GFP_NOFAIL in cfq_find_alloc_queue()
        cfq-iosched: move cfqq initialization out of cfq_find_alloc_queue()
        Trivial typo fixes in Documentation/block/data-integrity.txt.
      2027bd9f
    • L
      Merge branch 'for-linus' of git://neil.brown.name/md · 544ae5f9
      Linus Torvalds 提交于
      * 'for-linus' of git://neil.brown.name/md:
        md: use interruptible wait when duration is controlled by userspace.
        md/raid5: suspend shouldn't affect read requests.
        md: tidy up error paths in md_alloc
        md: fix error path when duplicate name is found on md device creation.
        md: avoid dereferencing NULL pointer when accessing suspend_* sysfs attributes.
        md: Use new topology calls to indicate alignment and I/O sizes
      544ae5f9
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 · 7b85425f
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (31 commits)
        Revert "ipv4: arp announce, arp_proxy and windows ip conflict verification"
        igb: return PCI_ERS_RESULT_DISCONNECT on permanent error
        e1000e: io_error_detected callback should return PCI_ERS_RESULT_DISCONNECT
        e1000: return PCI_ERS_RESULT_DISCONNECT on permanent error
        e1000: fix unmap bug
        igb: fix unmap length bug
        ixgbe: fix unmap length bug
        ixgbe: Fix link capabilities during adapter resets
        ixgbe: Fix device capabilities of 82599 single speed fiber NICs.
        ixgbe: Fix SFP log messages
        usbnet: Remove private stats structure
        usbnet: Use netdev stats structure
        smsc95xx: Use netdev stats structure
        rndis_host: Use netdev stats structure
        net1080: Use netdev stats structure
        dm9601: Use netdev stats structure
        cdc_eem: Use netdev stats structure
        ipv4: Fix fib_trie rebalancing, part 3
        bnx2x: Fix the behavior of ethtool when ONBOOT=no
        sctp: xmit sctp packet always return no route error
        ...
      7b85425f
    • I
      kmemleak: Fix scheduling-while-atomic bug · 57d81f6f
      Ingo Molnar 提交于
      One of the kmemleak changes caused the following
      scheduling-while-holding-the-tasklist-lock regression on x86:
      
      BUG: sleeping function called from invalid context at mm/kmemleak.c:795
      in_atomic(): 1, irqs_disabled(): 0, pid: 1737, name: kmemleak
      2 locks held by kmemleak/1737:
       #0:  (scan_mutex){......}, at: [<c10c4376>] kmemleak_scan_thread+0x45/0x86
       #1:  (tasklist_lock){......}, at: [<c10c3bb4>] kmemleak_scan+0x1a9/0x39c
      Pid: 1737, comm: kmemleak Not tainted 2.6.31-rc1-tip #59266
      Call Trace:
       [<c105ac0f>] ? __debug_show_held_locks+0x1e/0x20
       [<c102e490>] __might_sleep+0x10a/0x111
       [<c10c38d5>] scan_yield+0x17/0x3b
       [<c10c3970>] scan_block+0x39/0xd4
       [<c10c3bc6>] kmemleak_scan+0x1bb/0x39c
       [<c10c4331>] ? kmemleak_scan_thread+0x0/0x86
       [<c10c437b>] kmemleak_scan_thread+0x4a/0x86
       [<c104d73e>] kthread+0x6e/0x73
       [<c104d6d0>] ? kthread+0x0/0x73
       [<c100959f>] kernel_thread_helper+0x7/0x10
      kmemleak: 834 new suspected memory leaks (see /sys/kernel/debug/kmemleak)
      
      The bit causing it is highly dubious:
      
      static void scan_yield(void)
      {
              might_sleep();
      
              if (time_is_before_eq_jiffies(next_scan_yield)) {
                      schedule();
                      next_scan_yield = jiffies + jiffies_scan_yield;
              }
      }
      
      It called deep inside the codepath and in a conditional way,
      and that is what crapped up when one of the new scan_block()
      uses grew a tasklist_lock dependency.
      
      This minimal patch removes that yielding stuff and adds the
      proper cond_resched().
      
      The background scanning thread could probably also be reniced
      to +10.
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Acked-by: NPekka Enberg <penberg@cs.helsinki.fi>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      57d81f6f
  2. 01 7月, 2009 32 次提交