Skip to content
  1. Jul 21, 2010
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 · 516bd664
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (24 commits)
        bridge: Partially disable netpoll support
        tcp: fix crash in tcp_xmit_retransmit_queue
        IPv6: fix CoA check in RH2 input handler (mip6_rthdr_input())
        ibmveth: lost IRQ while closing/opening device leads to service loss
        rt2x00: Fix lockdep warning in rt2x00lib_probe_dev()
        vhost: avoid pr_err on condition guest can trigger
        ipmr: Don't leak memory if fib lookup fails.
        vhost-net: avoid flush under lock
        net: fix problem in reading sock TX queue
        net/core: neighbour update Oops
        net: skb_tx_hash() fix relative to skb_orphan_try()
        rfs: call sock_rps_record_flow() in tcp_splice_read()
        xfrm: do not assume that template resolving always returns xfrms
        hostap_pci: set dev->base_addr during probe
        axnet_cs: use spin_lock_irqsave in ax_interrupt
        dsa: Fix Kconfig dependencies.
        act_nat: not all of the ICMP packets need an IP header payload
        r8169: incorrect identifier for a 8168dp
        Phonet: fix skb leak in pipe endpoint accept()
        Bluetooth: Update sec_level/auth_type for already existing connections
        ...
      516bd664
    • Paul E. McKenney's avatar
      vfs: fix RCU-lockdep false positive due to /proc · 844b9a87
      Paul E. McKenney authored
      
      
      If a single-threaded process does a file-descriptor operation, and some
      other process accesses that same file descriptor via /proc, the current
      rcu_dereference_check_fdtable() can give a false-positive RCU-lockdep
      splat due to the reference count being increased by the /proc access after
      the reference-count check in fget_light() but before the check in
      rcu_dereference_check_fdtable().
      
      This commit prevents this false positive by checking for a single-threaded
      process.  To avoid #include hell, this commit uses the wrapper for
      thread_group_empty(current) defined by rcu_my_thread_group_empty()
      provided in a separate commit.
      
      Located-by: default avatarMiles Lane <miles.lane@gmail.com>
      Located-by: default avatarEric Dumazet <eric.dumazet@gmail.com>
      Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      Cc: Al Viro <viro@ZenIV.linux.org.uk>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      844b9a87
    • Marek Szyprowski's avatar
      sdhci-s3c: add missing remove function · 9d51a6b2
      Marek Szyprowski authored
      
      
      System will crash sooner or later once the memory with the code of the
      s3c-sdhci.ko module is reused for something else. I really have no idea
      how the lack of remove function went unnoticed into the mainline code.
      
      Signed-off-by: default avatarMarek Szyprowski <m.szyprowski@samsung.com>
      Signed-off-by: default avatarKyungmin Park <kyungmin.park@samsung.com>
      Cc: <stable@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      9d51a6b2
    • Andres Salomon's avatar
      Andres has moved · d45840d9
      Andres Salomon authored
      
      
      My Collabora address is no longer enabled - update the MODULE_AUTHOR
      fields of drivers to my current email address.
      
      Signed-off-by: default avatarAndres Salomon <dilinger@queued.net>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      d45840d9
    • Yinghai Lu's avatar
      x86,nobootmem: make alloc_bootmem_node fall back to other node when 32bit numa is used · b8ab9f82
      Yinghai Lu authored
      
      
      Borislav Petkov reported his 32bit numa system has problem:
      
      [    0.000000] Reserving total of 4c00 pages for numa KVA remap
      [    0.000000] kva_start_pfn ~ 32800 max_low_pfn ~ 375fe
      [    0.000000] max_pfn = 238000
      [    0.000000] 8202MB HIGHMEM available.
      [    0.000000] 885MB LOWMEM available.
      [    0.000000]   mapped low ram: 0 - 375fe000
      [    0.000000]   low ram: 0 - 375fe000
      [    0.000000] alloc (nid=8 100000 - 7ee00000) (1000000 - ffffffff) 1000 1000 => 34e7000
      [    0.000000] alloc (nid=8 100000 - 7ee00000) (1000000 - ffffffff) 200 40 => 34c9d80
      [    0.000000] alloc (nid=0 100000 - 7ee00000) (1000000 - ffffffffffffffff) 180 40 => 34e6140
      [    0.000000] alloc (nid=1 80000000 - c7e60000) (1000000 - ffffffffffffffff) 240 40 => 80000000
      [    0.000000] BUG: unable to handle kernel paging request at 40000000
      [    0.000000] IP: [<c2c8cff1>] __alloc_memory_core_early+0x147/0x1d6
      [    0.000000] *pdpt = 0000000000000000 *pde = f000ff53f000ff00
      ...
      [    0.000000] Call Trace:
      [    0.000000]  [<c2c8b4f8>] ? __alloc_bootmem_node+0x216/0x22f
      [    0.000000]  [<c2c90c9b>] ? sparse_early_usemaps_alloc_node+0x5a/0x10b
      [    0.000000]  [<c2c9149e>] ? sparse_init+0x1dc/0x499
      [    0.000000]  [<c2c79118>] ? paging_init+0x168/0x1df
      [    0.000000]  [<c2c780ff>] ? native_pagetable_setup_start+0xef/0x1bb
      
      looks like it allocates too much high address for bootmem.
      
      Try to cut limit with get_max_mapped()
      
      Reported-by: default avatarBorislav Petkov <borislav.petkov@amd.com>
      Tested-by: default avatarConny Seidel <conny.seidel@amd.com>
      Signed-off-by: default avatarYinghai Lu <yinghai@kernel.org>
      Cc: <stable@kernel.org>		[2.6.34.x]
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Johannes Weiner <hannes@cmpxchg.org>
      Cc: Lee Schermerhorn <lee.schermerhorn@hp.com>
      Cc: Mel Gorman <mel@csn.ul.ie>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      b8ab9f82
    • Yinghai Lu's avatar
      x86, numa: fix boot without RAM on node0 again · 9aebbdb6
      Yinghai Lu authored
      Commit e534c7c5
      
       ("numa: x86_64: use generic percpu var
      numa_node_id() implementation") broke numa systems that don't have ram
      on node0 when MEMORY_HOTPLUG is enabled, because cpu_up() will call
      cpu_to_node() before per_cpu(numa_node) is setup for APs.
      
      When Node0 doesn't have RAM, on x86, cpus already round it to nearest
      node with RAM in x86_cpu_to_node_map.  and per_cpu(numa_node) is not set
      up until in c_init for APs.
      
      When later cpu_up() calling cpu_to_node() will get 0 again, and make it
      online even there is no RAM on node0.  so later all APs can not booted up,
      and later will have panic.
      
      [    1.611101] On node 0 totalpages: 0
      .........
      [    2.608558] On node 0 totalpages: 0
      [    2.612065] Brought up 1 CPUs
      [    2.615199] Total of 1 processors activated (3990.31 BogoMIPS).
      ...
         93.225341] calling  loop_init+0x0/0x1a4 @ 1
      [   93.229314] PERCPU: allocation failed, size=80 align=8, failed to populate
      [   93.246539] Pid: 1, comm: swapper Tainted: G        W   2.6.35-rc4-tip-yh-04371-gd64e6c4-dirty #354
      [   93.264621] Call Trace:
      [   93.266533]  [<ffffffff81125e43>] pcpu_alloc+0x83a/0x8e7
      [   93.270710]  [<ffffffff81125f15>] __alloc_percpu+0x10/0x12
      [   93.285849]  [<ffffffff8140786c>] alloc_disk_node+0x94/0x16d
      [   93.291811]  [<ffffffff81407956>] alloc_disk+0x11/0x13
      [   93.306157]  [<ffffffff81503e51>] loop_alloc+0xa7/0x180
      [   93.310538]  [<ffffffff8277ef48>] loop_init+0x9b/0x1a4
      [   93.324909]  [<ffffffff8277eead>] ? loop_init+0x0/0x1a4
      [   93.329650]  [<ffffffff810001f2>] do_one_initcall+0x57/0x136
      [   93.345197]  [<ffffffff827486d0>] kernel_init+0x184/0x20e
      [   93.348146]  [<ffffffff81034954>] kernel_thread_helper+0x4/0x10
      [   93.365194]  [<ffffffff81c7cc3c>] ? restore_args+0x0/0x30
      [   93.369305]  [<ffffffff8274854c>] ? kernel_init+0x0/0x20e
      [   93.386011]  [<ffffffff81034950>] ? kernel_thread_helper+0x0/0x10
      [   93.392047] loop: out of memory
      ...
      
      Try to assign per_cpu(numa_node) early
      
      [akpm@linux-foundation.org: tidy up code comment]
      Signed-off-by: default avatarYinghai <yinghai@kernel.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: Tejun Heo <tj@kernel.org>
      Cc: Denys Vlasenko <vda.linux@googlemail.com>
      Acked-by: default avatarLee Schermerhorn <lee.schermerhorn@hp.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      9aebbdb6
    • Anton Vorontsov's avatar
      edac: mpc85xx: add support for MPC8569 EDAC controllers · 5528e229
      Anton Vorontsov authored
      
      
      Simply add a proper ID into the device table.
      
      Signed-off-by: default avatarAnton Vorontsov <avorontsov@mvista.com>
      Cc: Doug Thompson <dougthompson@xmission.com>
      Cc: Peter Tyser <ptyser@xes-inc.com>
      Cc: Dave Jiang <djiang@mvista.com>
      Cc: Kumar Gala <galak@kernel.crashing.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      5528e229
    • Anton Vorontsov's avatar
      edac: mpc85xx: fix MPC85xx dependency · 1cd8521e
      Anton Vorontsov authored
      Since commit 5753c082
      
       ("powerpc/85xx:
      Kconfig cleanup"), there is no MPC85xx Kconfig symbol anymore, so the
      driver became non-selectable.
      
      This patch fixes the issue by switching to PPC_85xx symbol.
      
      Signed-off-by: default avatarAnton Vorontsov <avorontsov@mvista.com>
      Cc: Doug Thompson <dougthompson@xmission.com>
      Cc: Peter Tyser <ptyser@xes-inc.com>
      Cc: Dave Jiang <djiang@mvista.com>
      Cc: Kumar Gala <galak@kernel.crashing.org>
      Cc: <stable@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      1cd8521e
    • Nick Piggin's avatar
      mm/vmscan.c: fix mapping use after free · a6aa62a0
      Nick Piggin authored
      
      
      We need lock_page_nosync() here because we have no reference to the
      mapping when taking the page lock.
      
      Signed-off-by: default avatarNick Piggin <npiggin@suse.de>
      Reviewed-by: default avatarJohannes Weiner <hannes@cmpxchg.org>
      Cc: Mel Gorman <mel@csn.ul.ie>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a6aa62a0
    • Manfred Spraul's avatar
      ipc/sem.c: bugfix for semop() not reporting successful operation · c61284e9
      Manfred Spraul authored
      
      
      The last change to improve the scalability moved the actual wake-up out of
      the section that is protected by spin_lock(sma->sem_perm.lock).
      
      This means that IN_WAKEUP can be in queue.status even when the spinlock is
      acquired by the current task.  Thus the same loop that is performed when
      queue.status is read without the spinlock acquired must be performed when
      the spinlock is acquired.
      
      Thanks to kamezawa.hiroyu@jp.fujitsu.com for noticing lack of the memory
      barrier.
      
      Addresses https://bugzilla.kernel.org/show_bug.cgi?id=16255
      
      [akpm@linux-foundation.org: clean up kerneldoc, checkpatch warning and whitespace]
      Signed-off-by: default avatarManfred Spraul <manfred@colorfullife.com>
      Reported-by: default avatarLuca Tettamanti <kronos.it@gmail.com>
      Tested-by: default avatarLuca Tettamanti <kronos.it@gmail.com>
      Reported-by: default avatarChristoph Lameter <cl@linux-foundation.org>
      Cc: Maciej Rutecki <maciej.rutecki@gmail.com>
      Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      c61284e9
  2. Jul 20, 2010
  3. Jul 19, 2010
  4. Jul 17, 2010
    • Jacob Pan's avatar
      x86, pci, mrst: Add extra sanity check in walking the PCI extended cap chain · f82c3d71
      Jacob Pan authored
      
      
      The fixed bar capability structure is searched in PCI extended
      configuration space.  We need to make sure there is a valid capability
      ID to begin with otherwise, the search code may stuck in a infinite
      loop which results in boot hang.  This patch adds additional check for
      cap ID 0, which is also invalid, and indicates end of chain.
      
      End of chain is supposed to have all fields zero, but that doesn't
      seem to always be the case in the field.
      
      Suggested-by: default avatar"H. Peter Anvin" <hpa@zytor.com>
      Signed-off-by: default avatarJacob Pan <jacob.jun.pan@linux.intel.com>
      Reviewed-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
      LKML-Reference: <1279306706-27087-1-git-send-email-jacob.jun.pan@linux.intel.com>
      Signed-off-by: default avatarH. Peter Anvin <hpa@linux.intel.com>
      f82c3d71
    • Yinghai Lu's avatar
      x86: Fix x2apic preenabled system with kexec · fd19dce7
      Yinghai Lu authored
      
      
      Found one x2apic system kexec loop test failed
      when CONFIG_NMI_WATCHDOG=y (old) or CONFIG_LOCKUP_DETECTOR=y (current tip)
      
      first kernel can kexec second kernel, but second kernel can not kexec third one.
      
      it can be duplicated on another system with BIOS preenabled x2apic.
      First kernel can not kexec second kernel.
      
      It turns out, when kernel boot with pre-enabled x2apic, it will not execute
      disable_local_APIC on shutdown path.
      
      when init_apic_mappings() is called in setup_arch, it will skip setting of
      apic_phys when x2apic_mode is set. ( x2apic_mode is much early check_x2apic())
      Then later, disable_local_APIC() will bail out early because !apic_phys.
      
      So check !x2apic_mode in x2apic_mode in disable_local_APIC with !apic_phys.
      
      another solution could be updating init_apic_mappings() to set apic_phys even
      for preenabled x2apic system. Actually even for x2apic system, that lapic
      address is mapped already in early stage.
      
      BTW: is there any x2apic preenabled system with apicid of boot cpu > 255?
      
      Signed-off-by: default avatarYinghai Lu <yinghai@kernel.org>
      LKML-Reference: <4C3EB22B.3000701@kernel.org>
      Acked-by: default avatarSuresh Siddha <suresh.b.siddha@intel.com>
      Cc: stable@kernel.org
      Signed-off-by: default avatarH. Peter Anvin <hpa@linux.intel.com>
      fd19dce7
    • Joel Becker's avatar
      ocfs2: Silence gcc warning in ocfs2_write_zero_page(). · 5453258d
      Joel Becker authored
      
      
      ocfs2_write_zero_page() has a loop that won't ever be skipped, but gcc
      doesn't know that.  Set ret=0 just to make gcc happy.
      
      Signed-off-by: default avatarJoel Becker <joel.becker@oracle.com>
      5453258d