1. 10 8月, 2010 10 次提交
    • R
      mm: rename anon_vma_lock to vma_lock_anon_vma · bb4a340e
      Rik van Riel 提交于
      Rename anon_vma_lock to vma_lock_anon_vma.  This matches the naming style
      used in page_lock_anon_vma and will come in really handy further down in
      this patch series.
      Signed-off-by: NRik van Riel <riel@redhat.com>
      Acked-by: NMel Gorman <mel@csn.ul.ie>
      Acked-by: NKAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
      Tested-by: NLarry Woodman <lwoodman@redhat.com>
      Acked-by: NLarry Woodman <lwoodman@redhat.com>
      Reviewed-by: NMinchan Kim <minchan.kim@gmail.com>
      Acked-by: NLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      bb4a340e
    • C
      kmap_atomic: make kunmap_atomic() harder to misuse · 597781f3
      Cesar Eduardo Barros 提交于
      kunmap_atomic() is currently at level -4 on Rusty's "Hard To Misuse"
      list[1] ("Follow common convention and you'll get it wrong"), except in
      some architectures when CONFIG_DEBUG_HIGHMEM is set[2][3].
      
      kunmap() takes a pointer to a struct page; kunmap_atomic(), however, takes
      takes a pointer to within the page itself.  This seems to once in a while
      trip people up (the convention they are following is the one from
      kunmap()).
      
      Make it much harder to misuse, by moving it to level 9 on Rusty's list[4]
      ("The compiler/linker won't let you get it wrong").  This is done by
      refusing to build if the type of its first argument is a pointer to a
      struct page.
      
      The real kunmap_atomic() is renamed to kunmap_atomic_notypecheck()
      (which is what you would call in case for some strange reason calling it
      with a pointer to a struct page is not incorrect in your code).
      
      The previous version of this patch was compile tested on x86-64.
      
      [1] http://ozlabs.org/~rusty/index.cgi/tech/2008-04-01.html
      [2] In these cases, it is at level 5, "Do it right or it will always
          break at runtime."
      [3] At least mips and powerpc look very similar, and sparc also seems to
          share a common ancestor with both; there seems to be quite some
          degree of copy-and-paste coding here. The include/asm/highmem.h file
          for these three archs mention x86 CPUs at its top.
      [4] http://ozlabs.org/~rusty/index.cgi/tech/2008-03-30.html
      [5] As an aside, could someone tell me why mn10300 uses unsigned long as
          the first parameter of kunmap_atomic() instead of void *?
      Signed-off-by: NCesar Eduardo Barros <cesarb@cesarb.net>
      Cc: Russell King <linux@arm.linux.org.uk> (arch/arm)
      Cc: Ralf Baechle <ralf@linux-mips.org> (arch/mips)
      Cc: David Howells <dhowells@redhat.com> (arch/frv, arch/mn10300)
      Cc: Koichi Yasutake <yasutake.koichi@jp.panasonic.com> (arch/mn10300)
      Cc: Kyle McMartin <kyle@mcmartin.ca> (arch/parisc)
      Cc: Helge Deller <deller@gmx.de> (arch/parisc)
      Cc: "James E.J. Bottomley" <jejb@parisc-linux.org> (arch/parisc)
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> (arch/powerpc)
      Cc: Paul Mackerras <paulus@samba.org> (arch/powerpc)
      Cc: "David S. Miller" <davem@davemloft.net> (arch/sparc)
      Cc: Thomas Gleixner <tglx@linutronix.de> (arch/x86)
      Cc: Ingo Molnar <mingo@redhat.com> (arch/x86)
      Cc: "H. Peter Anvin" <hpa@zytor.com> (arch/x86)
      Cc: Arnd Bergmann <arnd@arndb.de> (include/asm-generic)
      Cc: Rusty Russell <rusty@rustcorp.com.au> ("Hard To Misuse" list)
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      597781f3
    • D
      hugetlb: call mmu notifiers on hugepage cow · 3edd4fc9
      Doug Doan 提交于
      When a copy-on-write occurs, we take one of two paths in handle_mm_fault:
      through handle_pte_fault for normal pages, or through hugetlb_fault for
      huge pages.
      
      In the normal page case, we eventually get to do_wp_page and call mmu
      notifiers via ptep_clear_flush_notify.  There is no callout to the mmmu
      notifiers in the huge page case.  This patch fixes that.
      Signed-off-by: NDoug Doan <dougd@cray.com>
      Acked-by: NMel Gorman <mel@csn.ul.ie>
      Cc: Andrea Arcangeli <aarcange@redhat.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      3edd4fc9
    • H
      mm: provide init_mm mm_context initializer · a1b200e2
      Heiko Carstens 提交于
      Provide an INIT_MM_CONTEXT intializer macro which can be used to
      statically initialize mm_struct:mm_context of init_mm.  This way we can
      get rid of code which will do the initialization at run time (on s390).
      
      In addition the current code can be found at a place where it is not
      expected.  So let's have a common initializer which architectures
      can use if needed.
      
      This is based on a patch from Suzuki Poulose.
      Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: Suzuki Poulose <suzuki@in.ibm.com>
      Cc: Alexey Dobriyan <adobriyan@gmail.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      a1b200e2
    • J
      mm: use ERR_CAST · e7d86340
      Julia Lawall 提交于
      Use ERR_CAST(x) rather than ERR_PTR(PTR_ERR(x)).  The former makes more
      clear what is the purpose of the operation, which otherwise looks like a
      no-op.
      
      The semantic patch that makes this change is as follows:
      (http://coccinelle.lip6.fr/)
      
      // <smpl>
      @@
      type T;
      T x;
      identifier f;
      @@
      
      T f (...) { <+...
      - ERR_PTR(PTR_ERR(x))
      + x
       ...+> }
      
      @@
      expression x;
      @@
      
      - ERR_PTR(PTR_ERR(x))
      + ERR_CAST(x)
      // </smpl>
      Signed-off-by: NJulia Lawall <julia@diku.dk>
      Cc: Nick Piggin <nickpiggin@yahoo.com.au>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      e7d86340
    • J
      mm: use memdup_user · 90d74045
      Julia Lawall 提交于
      Use memdup_user when user data is immediately copied into the
      allocated region.
      
      The semantic patch that makes this change is as follows:
      (http://coccinelle.lip6.fr/)
      
      // <smpl>
      @@
      expression from,to,size,flag;
      position p;
      identifier l1,l2;
      @@
      
      -  to = \(kmalloc@p\|kzalloc@p\)(size,flag);
      +  to = memdup_user(from,size);
         if (
      -      to==NULL
      +      IS_ERR(to)
                       || ...) {
         <+... when != goto l1;
      -  -ENOMEM
      +  PTR_ERR(to)
         ...+>
         }
      -  if (copy_from_user(to, from, size) != 0) {
      -    <+... when != goto l2;
      -    -EFAULT
      -    ...+>
      -  }
      // </smpl>
      Signed-off-by: NJulia Lawall <julia@diku.dk>
      Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      90d74045
    • M
      asm-generic: use raw_local_irq_save/restore instead local_irq_save/restore · 9e58143d
      Michal Simek 提交于
      The start/stop_critical_timing functions for preemptirqsoff, preemptoff
      and irqsoff tracers contain atomic_inc() and atomic_dec() operations.
      
      Atomic operations use local_irq_save/restore macros to ensure atomic
      access but they are traced by the same function which is causing recursion
      problem.
      
      The reason is when these tracers are turn ON then the
      local_irq_save/restore macros are changed in include/linux/irqflags.h to
      call trace_hardirqs_on/off which call start/stop_critical_timing.
      
      Microblaze was affected because it uses generic atomic implementation.
      Signed-off-by: NMichal Simek <monstr@monstr.eu>
      Acked-by: NSteven Rostedt <rostedt@goodmis.org>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      9e58143d
    • P
      drivers/video/w100fb.c: ignore void return value / fix build failure · fa260c00
      Peter Huewe 提交于
      Fix a build failure "error: void value not ignored as it ought to be"
      by removing an assignment of a void return value.  The functionality of
      the code is not changed.
      Signed-off-by: NPeter Huewe <peterhuewe@gmx.de>
      Acked-by: NHenrik Kretzschmar <henne@nachtwindheim.de>
      Cc: <stable@kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      fa260c00
    • Y
      ipmi: fix ACPI detection with regspacing · d9e1b6c4
      Yinghai Lu 提交于
      After the commit that changed ipmi_si detecting sequence from SMBIOS/ACPI
      to ACPI/SMBIOS,
      
      | commit 754d4531
      | Author: Matthew Garrett <mjg@redhat.com>
      | Date:   Wed May 26 14:43:47 2010 -0700
      |
      |    ipmi: change device discovery order
      |
      |    The ipmi spec provides an ordering for si discovery.  Change the driver to
      |    match, with the exception of preferring smbios to SPMI as HPs (at least)
      |    contain accurate information in the former but not the latter.
      
      ipmi_si can not be initialized.
      
      [  138.799739] calling  init_ipmi_devintf+0x0/0x109 @ 1
      [  138.805050] ipmi device interface
      [  138.818131] initcall init_ipmi_devintf+0x0/0x109 returned 0 after 12797 usecs
      [  138.822998] calling  init_ipmi_si+0x0/0xa90 @ 1
      [  138.840276] IPMI System Interface driver.
      [  138.846137] ipmi_si: probing via ACPI
      [  138.849225] ipmi_si 00:09: [io  0x0ca2] regsize 1 spacing 1 irq 0
      [  138.864438] ipmi_si: Adding ACPI-specified kcs state machine
      [  138.870893] ipmi_si: probing via SMBIOS
      [  138.880945] ipmi_si: Adding SMBIOS-specified kcs state machineipmi_si: duplicate interface
      [  138.896511] ipmi_si: probing via SPMI
      [  138.899861] ipmi_si: Adding SPMI-specified kcs state machineipmi_si: duplicate interface
      [  138.917095] ipmi_si: Trying ACPI-specified kcs state machine at i/o address 0xca2, slave address 0x0, irq 0
      [  138.928658] ipmi_si: Interface detection failed
      [  138.953411] initcall init_ipmi_si+0x0/0xa90 returned 0 after 110847 usecs
      
      in smbios has
      DMI/SMBIOS
      Handle 0x00C5, DMI type 38, 18 bytes
      IPMI Device Information
              Interface Type: KCS (Keyboard Control Style)
              Specification Version: 2.0
              I2C Slave Address: 0x00
              NV Storage Device: Not Present
              Base Address: 0x0000000000000CA2 (I/O)
              Register Spacing: 32-bit Boundaries
      in DSDT has
                          Device (BMC)
                          {
      
                              Name (_HID, EisaId ("IPI0001"))
                              Method (_STA, 0, NotSerialized)
                              {
                                  If (LEqual (OSN, Zero))
                                  {
                                      Return (Zero)
                                  }
      
                                  Return (0x0F)
                              }
      
                              Name (_STR, Unicode ("IPMI_KCS"))
                              Name (_UID, Zero)
                              Name (_CRS, ResourceTemplate ()
                              {
                                  IO (Decode16,
                                      0x0CA2,             // Range Minimum
                                      0x0CA2,             // Range Maximum
                                      0x00,               // Alignment
                                      0x01,               // Length
                                      )
                                  IO (Decode16,
                                      0x0CA6,             // Range Minimum
                                      0x0CA6,             // Range Maximum
                                      0x00,               // Alignment
                                      0x01,               // Length
                                      )
                              })
                              Method (_IFT, 0, NotSerialized)
                              {
                                  Return (One)
                              }
      
                              Method (_SRV, 0, NotSerialized)
                              {
                                  Return (0x0200)
                              }
                          }
      
      so the reg spacing should be 4 instead of 1.
      
      Try to calculate regspacing for this kind of system.
      
      Observed on a Sun Fire X4800.  Other OSes work and pass certification.
      Signed-off-by: NYinghai Lu <yinghai@kernel.org>
      Cc: Bjorn Helgaas <bjorn.helgaas@hp.com>
      Acked-by: NMatthew Garrett <mjg@redhat.com>
      Cc: Len Brown <len.brown@intel.com>
      Cc: Myron Stowe <myron.stowe@hp.com>
      Cc: Corey Minyard <minyard@acm.org>
      Cc: <stable@kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      d9e1b6c4
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq · e5149cc4
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
        drm: fix fallouts from slow-work -> wq conversion
        workqueue: workqueue_cpu_callback() should be cpu_notifier instead of hotcpu_notifier
        workqueue: add missing __percpu markup in kernel/workqueue.c
      e5149cc4
  2. 09 8月, 2010 9 次提交
    • T
      drm: fix fallouts from slow-work -> wq conversion · 9a919c46
      Tejun Heo 提交于
      Commit 991ea75c (drm: use workqueue instead of slow-work), which made
      drm to use wq instead of slow-work, didn't account for the return
      value difference between delayed_slow_work_enqueue() and
      queue_delayed_work().  The former returns 0 on success and -errno on
      failures while the latter never fails and only uses the return value
      to indicate whether the work was already pending or not.
      
      This misconversion triggered spurious error messages.  Remove the now
      unnecessary return value check and error message.
      
      Markus: caught another incorrect conversion in drm_kms_helper_poll_enable()
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Reported-by: NMarkus Trippelsdorf <markus@trippelsdorf.de>
      Tested-by: NMarkus Trippelsdorf <markus@trippelsdorf.de>
      Cc: David Airlie <airlied@linux.ie>
      Cc: dri-devel@lists.freedesktop.org
      9a919c46
    • T
      workqueue: workqueue_cpu_callback() should be cpu_notifier instead of hotcpu_notifier · f6500947
      Tejun Heo 提交于
      Commit 6ee0578b (workqueue: mark init_workqueues as early_initcall)
      made workqueue SMP initialization depend on workqueue_cpu_callback(),
      which however was registered as hotcpu_notifier() and didn't get
      called if CONFIG_HOTPLUG_CPU is not set.  This made gcwqs on non-boot
      CPUs not create their initial workers leading to boot failures.  Fix
      it by making it a cpu_notifier.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Reported-and-bisected-by: Nwalt <w41ter@gmail.com>
      Tested-by: NMarkus Trippelsdorf <markus@trippelsdorf.de>
      f6500947
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile · 45d7f32c
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile:
        arch/tile: check kmalloc() result
        arch/tile: catch up on various minor cleanups.
        arch/tile: avoid erroneous error return for PTRACE_POKEUSR.
        tile: set ARCH_KMALLOC_MINALIGN
        tile: remove homegrown L1_CACHE_ALIGN macro
        arch/tile: Miscellaneous cleanup changes.
        arch/tile: Split the icache flush code off to a generic <arch> header.
        arch/tile: Fix bug in support for atomic64_xx() ops.
        arch/tile: Shrink the tile-opcode files considerably.
        arch/tile: Add driver to enable access to the user dynamic network.
        arch/tile: Enable more sophisticated IRQ model for 32-bit chips.
        Move list types from <linux/list.h> to <linux/types.h>.
        Add wait4() back to the set of <asm-generic/unistd.h> syscalls.
        Revert adding some arch-specific signal syscalls to <linux/syscalls.h>.
        arch/tile: Do not use GFP_KERNEL for dma_alloc_coherent(). Feedback from fujita.tomonori@lab.ntt.co.jp.
        arch/tile: core support for Tilera 32-bit chips.
        Fix up the "generic" unistd.h ABI to be more useful.
      45d7f32c
    • L
      Merge branch 'for-linus' of git://www.jni.nu/cris · 53bcef60
      Linus Torvalds 提交于
      * 'for-linus' of git://www.jni.nu/cris: (51 commits)
        CRIS: Fix alignment problem for older ld
        CRIS: Always dump registers for segfaulting process.
        CRIS: Add config for pausing a seg-faulting process
        CRIS: Don't take faults while in_atomic
        CRIS: Fixup lookup for delay slot faults
        CRIS: Discard exit.text and .data at runtime
        CRIS: Add cache aligned and read mostly data sections
        CRIS: Return something from profile write
        CRIS: Add ARTPEC-3 and timestamps for sync-serial
        CRIS: Better ARTPEC-3 support for gpio
        CRIS: Add include guard
        CRIS: Better handling of pinmux settings
        CRIS: New DMA defines for ARTPEC-3
        CRIS: __do_strncpy_from_user: Don't read the byte beyond the nil
        CRIS: Pagetable for ARTPEC-3
        CRIS: Machine dependent memmap.h
        CRIS: Check if pointer is set before using it
        CRIS: Machine dependent dma.h
        CRIS: Define __read_mostly for CRISv32
        CRIS: Discard .note.gnu.build-id section
        ...
      53bcef60
    • L
      Merge branch 'for-linus' of git://android.kernel.org/kernel/tegra · 4fd6c6bf
      Linus Torvalds 提交于
      * 'for-linus' of git://android.kernel.org/kernel/tegra:
        [ARM] tegra: add MAINTAINERS entry
        [ARM] tegra: harmony: Add harmony board file
        [ARM] tegra: add pinmux support
        [ARM] tegra: add GPIO support
        [ARM] tegra: Add timer support
        [ARM] tegra: SMP support
        [ARM] tegra: Add clock support
        [ARM] tegra: Add IRQ support
        [ARM] tegra: initial tegra support
      4fd6c6bf
    • L
      Merge branch 'for-linus' of git://github.com/schandinat/linux-2.6 · c5f34757
      Linus Torvalds 提交于
      * 'for-linus' of git://github.com/schandinat/linux-2.6:
        drivers/video/via/via-gpio.c: fix warning
        viafb: Depends on X86
        fbdev: section cleanup in viafb driver
        viafb: fix accel_flags check_var bug
        viafb: probe cleanups
        viafb: remove ioctls which break the framebuffer interface
        viafb: update fix before calculating depth
        viafb: PLL value cleanup
        viafb: simplify lcd size "detection"
        viafb: fix PCI table
        viafb: add lcd scaling support for some IGPs
        viafb: improve lcd code readability
        viafb: remove duplicated scaling code
        MAINTAINERS: update viafb entry
      c5f34757
    • L
      Merge branch 'for-linus' of git://gitorious.org/linux-omap-dss2/linux · 537d8478
      Linus Torvalds 提交于
      * 'for-linus' of git://gitorious.org/linux-omap-dss2/linux: (64 commits)
        OMAP: DSS2: OMAPFB: add support for FBIO_WAITFORVSYNC
        OMAP: DSS2: Replace strncmp() with sysfs_streq() in overlay_manager_store()
        OMAP: DSS2: Fix error path in omap_dsi_update()
        OMAP: DSS2: TDO35S: fix video signaling
        OMAP: DSS2: OMAPFB: Fix invalid bpp for PAL and NTSC modes
        OMAP: DSS2: OMAPFB: Fix probe error path
        OMAP3EVM: Replace vdvi regulator supply with vdds_dsi
        OMAP: DSS2: Remove extra return statement
        OMAP: DSS2: adjust YUV overlay width to be even
        OMAP: DSS2: OMAPFB: Fix sysfs mirror input check
        OMAP: DSS2: OMAPFB: Remove redundant color register range check
        OMAP: DSS2: OMAPFB: Remove redundant rotate range check
        OMAP: DSS2: OMAPFB: Check fb2display() return value
        OMAP: DSS2: Taal: Optimize enable_te, rotate, mirror when value unchanged
        OMAP: DSS2: DSI: detect unsupported update requests
        OMAP: DSS2: DSI: increase FIFO low threshold
        OMAP: DSS2: DSI: Add error IRQ mask for DSI complexIO
        OMAP: DSS2: DSI: Remove BTA after set_max_rx_packet_size
        OMAP: DSS2: change manual update scaling setup
        OMAP: DSS2: DSI: use BTA to end the frame transfer
        ...
      537d8478
    • L
      Merge branch 'omap-for-linus' of... · d71048e2
      Linus Torvalds 提交于
      Merge branch 'omap-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6
      
      * 'omap-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6: (143 commits)
        omap: mailbox: reorganize headers
        omap: mailbox: standarize on 'omap-mailbox'
        omap: mailbox: only compile for configured archs
        omap: mailbox: simplify omap_mbox_register()
        omap: mailbox: reorganize registering
        omap: mailbox: add IRQ names
        omap: mailbox: remove unecessary fields
        omap: mailbox: don't export unecessary symbols
        omap: mailbox: update omap1 probing
        omap: mailbox: use correct config for omap1
        omap: mailbox: 2420 should be detected at run-time
        omap: mailbox: reorganize structures
        omap: mailbox: trivial cleanups
        omap mailbox: Set a device in logical mbox instance for traceability
        omap: mailbox: convert block api to kfifo
        omap: mailbox: remove (un)likely macros from cold paths
        omap: mailbox cleanup: split MODULE_AUTHOR line
        omap: mailbox: convert rwlocks to spinlock
        Mailbox: disable mailbox interrupt when request queue
        Mailbox: new mutext lock for h/w mailbox configuration
        ...
      d71048e2
    • L
      Merge branch 'davinci-for-linus' of... · 44d51a02
      Linus Torvalds 提交于
      Merge branch 'davinci-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-davinci
      
      * 'davinci-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-davinci:
        davinci: dm646x EVM: Specify reserved EDMA channel/slots
        davinci: da8xx/omapl EVM: Specify reserved channels/slots
        davinci: support for EDMA resource sharing
        davinci: edma: provide ability to detect insufficient CC info data
        davinci: da8xx: sparse cleanup: remove duplicate entries in irq priorities
        davinci: DM365: fixed second serial port
        Davinci: tnetv107x evm board initial support
        Davinci: tnetv107x initial gpio support
        Davinci: tnetv107x soc support
        Davinci: tnetv107x decompresser uart definitions
        Davinci: generalized debug macros
      44d51a02
  3. 08 8月, 2010 18 次提交
    • N
      workqueue: add missing __percpu markup in kernel/workqueue.c · 38f51568
      Namhyung Kim 提交于
      works in schecule_on_each_cpu() is a percpu pointer but was missing
      __percpu markup.  Add it.
      Signed-off-by: NNamhyung Kim <namhyung@gmail.com>
      Signed-off-by: NTejun Heo <tj@kernel.org>
      38f51568
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 · 2d530569
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: (82 commits)
        firewire: core: add forgotten dummy driver methods, remove unused ones
        firewire: add isochronous multichannel reception
        firewire: core: small clarifications in core-cdev
        firewire: core: remove unused code
        firewire: ohci: release channel in error path
        firewire: ohci: use memory barriers to order descriptor updates
        tools/firewire: nosy-dump: increment program version
        tools/firewire: nosy-dump: remove unused code
        tools/firewire: nosy-dump: use linux/firewire-constants.h
        tools/firewire: nosy-dump: break up a deeply nested function
        tools/firewire: nosy-dump: make some symbols static or const
        tools/firewire: nosy-dump: change to kernel coding style
        tools/firewire: nosy-dump: work around segfault in decode_fcp
        tools/firewire: nosy-dump: fix it on x86-64
        tools/firewire: add userspace front-end of nosy
        firewire: nosy: note ioctls in ioctl-number.txt
        firewire: nosy: use generic printk macros
        firewire: nosy: endianess fixes and annotations
        firewire: nosy: annotate __user pointers and __iomem pointers
        firewire: nosy: fix device shutdown with active client
        ...
      2d530569
    • L
      Merge branch 'acpica' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 · 9e50ab91
      Linus Torvalds 提交于
      * 'acpica' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (27 commits)
        ACPI / ACPICA: Simplify acpi_ev_initialize_gpe_block()
        ACPI / ACPICA: Fail acpi_gpe_wakeup() if ACPI_GPE_CAN_WAKE is unset
        ACPI / ACPICA: Do not execute _PRW methods during initialization
        ACPI: Fix bogus GPE test in acpi_bus_set_run_wake_flags()
        ACPICA: Update version to 20100702
        ACPICA: Fix for Alias references within Package objects
        ACPICA: Fix lint warning for 64-bit constant
        ACPICA: Remove obsolete GPE function
        ACPICA: Update debug output components
        ACPICA: Add support for WDDT - Watchdog Descriptor Table
        ACPICA: Drop acpi_set_gpe
        ACPICA: Use low-level GPE enable during GPE block initialization
        ACPI / EC: Do not use acpi_set_gpe
        ACPI / EC: Drop suspend and resume routines
        ACPICA: Remove wakeup GPE reference counting which is not used
        ACPICA: Introduce acpi_gpe_wakeup()
        ACPICA: Rename acpi_hw_gpe_register_bit
        ACPICA: Update version to 20100528
        ACPICA: Add signatures for undefined tables: ATKG, GSCI, IEIT
        ACPICA: Optimization: Reduce the number of namespace walks
        ...
      9e50ab91
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband · 3cc08fc3
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (42 commits)
        IB/qib: Add missing <linux/slab.h> include
        IB/ehca: Drop unnecessary NULL test
        RDMA/nes: Fix confusing if statement indentation
        IB/ehca: Init irq tasklet before irq can happen
        RDMA/nes: Fix misindented code
        RDMA/nes: Fix showing wqm_quanta
        RDMA/nes: Get rid of "set but not used" variables
        RDMA/nes: Read firmware version from correct place
        IB/srp: Export req_lim via sysfs
        IB/srp: Make receive buffer handling more robust
        IB/srp: Use print_hex_dump()
        IB: Rename RAW_ETY to RAW_ETHERTYPE
        RDMA/nes: Fix two sparse warnings
        RDMA/cxgb3: Make needlessly global iwch_l2t_send() static
        IB/iser: Make needlessly global iser_alloc_rx_descriptors() static
        RDMA/cxgb4: Add timeouts when waiting for FW responses
        IB/qib: Fix race between qib_error_qp() and receive packet processing
        IB/qib: Limit the number of packets processed per interrupt
        IB/qib: Allow writes to the diag_counters to be able to clear them
        IB/qib: Set cfgctxts to number of CPUs by default
        ...
      3cc08fc3
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 · faa38b5e
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: (214 commits)
        ALSA: hda - Add pin-fix for HP dc5750
        ALSA: als4000: Fix potentially invalid DMA mode setup
        ALSA: als4000: enable burst mode
        ALSA: hda - Fix initial capsrc selection in patch_alc269()
        ASoC: TWL4030: Capture route runtime DAPM ordering fix
        ALSA: hda - Add PC-beep whitelist for an Intel board
        ALSA: hda - More relax for pending period handling
        ALSA: hda - Define AC_FMT_* constants
        ALSA: hda - Fix beep frequency on IDT 92HD73xx and 92HD71Bxx codecs
        ALSA: hda - Add support for HDMI HBR passthrough
        ALSA: hda - Set Stream Type in Stream Format according to AES0
        ALSA: hda - Fix Thinkpad X300 so SPDIF is not exposed
        ALSA: hda - FIX to not expose SPDIF on Thinkpad X301, since it does not have the ability to use SPDIF
        ASoC: wm9081: fix resource reclaim in wm9081_register error path
        ASoC: wm8978: fix a memory leak if a wm8978_register fail
        ASoC: wm8974: fix a memory leak if another WM8974 is registered
        ASoC: wm8961: fix resource reclaim in wm8961_register error path
        ASoC: wm8955: fix resource reclaim in wm8955_register error path
        ASoC: wm8940: fix a memory leak if wm8940_register return error
        ASoC: wm8904: fix resource reclaim in wm8904_register error path
        ...
      faa38b5e
    • L
      Merge branch 'bkl/core' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing · 78417334
      Linus Torvalds 提交于
      * 'bkl/core' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing:
        do_coredump: Do not take BKL
        init: Remove the BKL from startup code
      78417334
    • L
    • L
      Merge branch 'for-2.6.36' of git://linux-nfs.org/~bfields/linux · 0d9f9e12
      Linus Torvalds 提交于
      * 'for-2.6.36' of git://linux-nfs.org/~bfields/linux: (34 commits)
        nfsd4: fix file open accounting for RDWR opens
        nfsd: don't allow setting maxblksize after svc created
        nfsd: initialize nfsd versions before creating svc
        net: sunrpc: removed duplicated #include
        nfsd41: Fix a crash when a callback is retried
        nfsd: fix startup/shutdown order bug
        nfsd: minor nfsd read api cleanup
        gcc-4.6: nfsd: fix initialized but not read warnings
        nfsd4: share file descriptors between stateid's
        nfsd4: fix openmode checking on IO using lock stateid
        nfsd4: miscellaneous process_open2 cleanup
        nfsd4: don't pretend to support write delegations
        nfsd: bypass readahead cache when have struct file
        nfsd: minor nfsd_svc() cleanup
        nfsd: move more into nfsd_startup()
        nfsd: just keep single lockd reference for nfsd
        nfsd: clean up nfsd_create_serv error handling
        nfsd: fix error handling in __write_ports_addxprt
        nfsd: fix error handling when starting nfsd with rpcbind down
        nfsd4: fix v4 state shutdown error paths
        ...
      0d9f9e12
    • D
      AFS: Fix the module init error handling · df44f9f4
      David Howells 提交于
      Fix the module init error handling.  There are a bunch of goto labels for
      aborting the init procedure at different points and just undoing what needs
      undoing - they aren't all in the right places, however.
      
      This can lead to an oops like the following:
      
      	BUG: unable to handle kernel NULL pointer dereference at 0000000000000020
      	IP: [<ffffffff81042a31>] destroy_workqueue+0x17/0xc0
      	...
      	Modules linked in: kafs(+) dns_resolver rxkad af_rxrpc fscache
      
      	Pid: 2171, comm: insmod Not tainted 2.6.35-cachefs+ #319 DG965RY/
      	...
      	Process insmod (pid: 2171, threadinfo ffff88003ca6a000, task ffff88003dcc3050)
      	...
      	Call Trace:
      	 [<ffffffffa0055994>] afs_callback_update_kill+0x10/0x12 [kafs]
      	 [<ffffffffa007d1c5>] afs_init+0x190/0x1ce [kafs]
      	 [<ffffffffa007d035>] ? afs_init+0x0/0x1ce [kafs]
      	 [<ffffffff810001ef>] do_one_initcall+0x59/0x14e
      	 [<ffffffff8105f7ee>] sys_init_module+0x9c/0x1de
      	 [<ffffffff81001eab>] system_call_fastpath+0x16/0x1b
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      df44f9f4
    • L
      Merge branch 'nfs-for-2.6.36' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6 · 5df6b8e6
      Linus Torvalds 提交于
      * 'nfs-for-2.6.36' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6: (42 commits)
        NFS: NFSv4.1 is no longer a "developer only" feature
        NFS: NFS_V4 is no longer an EXPERIMENTAL feature
        NFS: Fix /proc/mount for legacy binary interface
        NFS: Fix the locking in nfs4_callback_getattr
        SUNRPC: Defer deleting the security context until gss_do_free_ctx()
        SUNRPC: prevent task_cleanup running on freed xprt
        SUNRPC: Reduce asynchronous RPC task stack usage
        SUNRPC: Move the bound cred to struct rpc_rqst
        SUNRPC: Clean up of rpc_bindcred()
        SUNRPC: Move remaining RPC client related task initialisation into clnt.c
        SUNRPC: Ensure that rpc_exit() always wakes up a sleeping task
        SUNRPC: Make the credential cache hashtable size configurable
        SUNRPC: Store the hashtable size in struct rpc_cred_cache
        NFS: Ensure the AUTH_UNIX credcache is allocated dynamically
        NFS: Fix the NFS users of rpc_restart_call()
        SUNRPC: The function rpc_restart_call() should return success/failure
        NFSv4: Get rid of the bogus RPC_ASSASSINATED(task) checks
        NFSv4: Clean up the process of renewing the NFSv4 lease
        NFSv4.1: Handle NFS4ERR_DELAY on SEQUENCE correctly
        NFS: nfs_rename() should not have to flush out writebacks
        ...
      5df6b8e6
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse · fe21ea18
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse:
        fuse: add retrieve request
        fuse: add store request
        fuse: don't use atomic kmap
      fe21ea18
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2 · a57f9a3e
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2: (45 commits)
        nilfs2: reject filesystem with unsupported block size
        nilfs2: avoid rec_len overflow with 64KB block size
        nilfs2: simplify nilfs_get_page function
        nilfs2: reject incompatible filesystem
        nilfs2: add feature set fields to super block
        nilfs2: clarify byte offset in super block format
        nilfs2: apply read-ahead for nilfs_btree_lookup_contig
        nilfs2: introduce check flag to btree node buffer
        nilfs2: add btree get block function with readahead option
        nilfs2: add read ahead mode to nilfs_btnode_submit_block
        nilfs2: fix buffer head leak in nilfs_btnode_submit_block
        nilfs2: eliminate inline keywords in btree implementation
        nilfs2: get maximum number of child nodes from bmap object
        nilfs2: reduce repetitive calculation of max number of child nodes
        nilfs2: optimize calculation of min/max number of btree node children
        nilfs2: remove redundant pointer checks in bmap lookup functions
        nilfs2: get rid of nilfs_bmap_union
        nilfs2: unify bmap set_target_v operations
        nilfs2: get rid of nilfs_btree uses
        nilfs2: get rid of nilfs_direct uses
        ...
      a57f9a3e
    • L
      Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · 09dc942c
      Linus Torvalds 提交于
      * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (40 commits)
        ext4: Adding error check after calling ext4_mb_regular_allocator()
        ext4: Fix dirtying of journalled buffers in data=journal mode
        ext4: re-inline ext4_rec_len_(to|from)_disk functions
        jbd2: Remove t_handle_lock from start_this_handle()
        jbd2: Change j_state_lock to be a rwlock_t
        jbd2: Use atomic variables to avoid taking t_handle_lock in jbd2_journal_stop
        ext4: Add mount options in superblock
        ext4: force block allocation on quota_off
        ext4: fix freeze deadlock under IO
        ext4: drop inode from orphan list if ext4_delete_inode() fails
        ext4: check to make make sure bd_dev is set before dereferencing it
        jbd2: Make barrier messages less scary
        ext4: don't print scary messages for allocation failures post-abort
        ext4: fix EFBIG edge case when writing to large non-extent file
        ext4: fix ext4_get_blocks references
        ext4: Always journal quota file modifications
        ext4: Fix potential memory leak in ext4_fill_super
        ext4: Don't error out the fs if the user tries to make a file too big
        ext4: allocate stripe-multiple IOs on stripe boundaries
        ext4: move aio completion after unwritten extent conversion
        ...
      
      Fix up conflicts in fs/ext4/inode.c as per Ted.
      
      Fix up xfs conflicts as per earlier xfs merge.
      09dc942c
    • L
      Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6 · 90e0c225
      Linus Torvalds 提交于
      * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6:
        ext3: Fix dirtying of journalled buffers in data=journal mode
        ext3: default to ordered mode
        quota: Use mark_inode_dirty_sync instead of mark_inode_dirty
        quota: Change quota error message to print out disk and function name
        MAINTAINERS: Update entries of ext2 and ext3
        MAINTAINERS: Update address of Andreas Dilger
        ext3: Avoid filesystem corruption after a crash under heavy delete load
        ext3: remove vestiges of nobh support
        ext3: Fix set but unused variables
        quota: clean up quota active checks
        quota: Clean up the namespace in dqblk_xfs.h
        quota: check quota reservation on remove_dquot_ref
      90e0c225
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm · 938a73b9
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm:
        fs/dlm: Drop unnecessary null test
        dlm: use genl_register_family_with_ops()
      938a73b9
    • L
      Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6 · 45480aa7
      Linus Torvalds 提交于
      * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-udf-2.6:
        udf: super.c Fix warning: variable 'sbi' set but not used
        udf: remove duplicated #include
      45480aa7
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6 · 1fc7995d
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:
        [DNS RESOLVER] Minor typo correction
        DNS: Fixes for the DNS query module
        cifs: Include linux/err.h for IS_ERR and PTR_ERR
        DNS: Make AFS go to the DNS for AFSDB records for unknown cells
        DNS: Separate out CIFS DNS Resolver code
        cifs: account for new creduid=0x%x parameter in spnego upcall string
        cifs: reduce false positives with inode aliasing serverino autodisable
        CIFS: Make cifs_convert_address() take a const src pointer and a length
        cifs: show features compiled in as part of DebugData
        cifs: update README
      
      Fix up trivial conflicts in fs/cifs/cifsfs.c due to workqueue changes
      1fc7995d
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq · 3b7433b8
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq: (55 commits)
        workqueue: mark init_workqueues() as early_initcall()
        workqueue: explain for_each_*cwq_cpu() iterators
        fscache: fix build on !CONFIG_SYSCTL
        slow-work: kill it
        gfs2: use workqueue instead of slow-work
        drm: use workqueue instead of slow-work
        cifs: use workqueue instead of slow-work
        fscache: drop references to slow-work
        fscache: convert operation to use workqueue instead of slow-work
        fscache: convert object to use workqueue instead of slow-work
        workqueue: fix how cpu number is stored in work->data
        workqueue: fix mayday_mask handling on UP
        workqueue: fix build problem on !CONFIG_SMP
        workqueue: fix locking in retry path of maybe_create_worker()
        async: use workqueue for worker pool
        workqueue: remove WQ_SINGLE_CPU and use WQ_UNBOUND instead
        workqueue: implement unbound workqueue
        workqueue: prepare for WQ_UNBOUND implementation
        libata: take advantage of cmwq and remove concurrency limitations
        workqueue: fix worker management invocation without pending works
        ...
      
      Fixed up conflicts in fs/cifs/* as per Tejun. Other trivial conflicts in
      include/linux/workqueue.h, kernel/trace/Kconfig and kernel/workqueue.c
      3b7433b8
  4. 07 8月, 2010 3 次提交