1. 14 5月, 2012 1 次提交
    • R
      Fix blkdev.h build errors when BLOCK=n · 85fd0bc9
      Russell King 提交于
      I see builds failing with:
      
        CC [M]  drivers/mmc/host/dw_mmc.o
      In file included from drivers/mmc/host/dw_mmc.c:15:
      include/linux/blkdev.h:1404: warning: 'struct task_struct' declared inside parameter list
      include/linux/blkdev.h:1404: warning: its scope is only this definition or declaration, which is probably not what you want
      include/linux/blkdev.h:1408: warning: 'struct task_struct' declared inside parameter list
      include/linux/blkdev.h:1413: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'blk_needs_flush_plug'
      make[4]: *** [drivers/mmc/host/dw_mmc.o] Error 1
      
      This is because dw_mmc.c includes linux/blkdev.h as the very first file,
      and when CONFIG_BLOCK=n, blkdev.h omits all includes.
      
      As it requires linux/sched.h even when CONFIG_BLOCK=n, move this out of
      the #ifdef.
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: NJens Axboe <axboe@kernel.dk>
      85fd0bc9
  2. 11 5月, 2012 25 次提交
    • B
      bio allocation failure due to bio_get_nr_vecs() · f908ee94
      Bernd Schubert 提交于
      The number of bio_get_nr_vecs() is passed down via bio_alloc() to
      bvec_alloc_bs(), which fails the bio allocation if
      nr_iovecs > BIO_MAX_PAGES. For the underlying caller this causes an
      unexpected bio allocation failure.
      Limiting to queue_max_segments() is not sufficient, as max_segments
      also might be very large.
      
      bvec_alloc_bs(gfp_mask, nr_iovecs, ) => NULL when nr_iovecs  > BIO_MAX_PAGES
      bio_alloc_bioset(gfp_mask, nr_iovecs, ...)
      bio_alloc(GFP_NOIO, nvecs)
      xfs_alloc_ioend_bio()
      Signed-off-by: NBernd Schubert <bernd.schubert@itwm.fraunhofer.de>
      Cc: stable@kernel.org
      Signed-off-by: NJens Axboe <axboe@kernel.dk>
      f908ee94
    • J
      block: don't mark buffers beyond end of disk as mapped · 080399aa
      Jeff Moyer 提交于
      Hi,
      
      We have a bug report open where a squashfs image mounted on ppc64 would
      exhibit errors due to trying to read beyond the end of the disk.  It can
      easily be reproduced by doing the following:
      
      [root@ibm-p750e-02-lp3 ~]# ls -l install.img
      -rw-r--r-- 1 root root 142032896 Apr 30 16:46 install.img
      [root@ibm-p750e-02-lp3 ~]# mount -o loop ./install.img /mnt/test
      [root@ibm-p750e-02-lp3 ~]# dd if=/dev/loop0 of=/dev/null
      dd: reading `/dev/loop0': Input/output error
      277376+0 records in
      277376+0 records out
      142016512 bytes (142 MB) copied, 0.9465 s, 150 MB/s
      
      In dmesg, you'll find the following:
      
      squashfs: version 4.0 (2009/01/31) Phillip Lougher
      [   43.106012] attempt to access beyond end of device
      [   43.106029] loop0: rw=0, want=277410, limit=277408
      [   43.106039] Buffer I/O error on device loop0, logical block 138704
      [   43.106053] attempt to access beyond end of device
      [   43.106057] loop0: rw=0, want=277412, limit=277408
      [   43.106061] Buffer I/O error on device loop0, logical block 138705
      [   43.106066] attempt to access beyond end of device
      [   43.106070] loop0: rw=0, want=277414, limit=277408
      [   43.106073] Buffer I/O error on device loop0, logical block 138706
      [   43.106078] attempt to access beyond end of device
      [   43.106081] loop0: rw=0, want=277416, limit=277408
      [   43.106085] Buffer I/O error on device loop0, logical block 138707
      [   43.106089] attempt to access beyond end of device
      [   43.106093] loop0: rw=0, want=277418, limit=277408
      [   43.106096] Buffer I/O error on device loop0, logical block 138708
      [   43.106101] attempt to access beyond end of device
      [   43.106104] loop0: rw=0, want=277420, limit=277408
      [   43.106108] Buffer I/O error on device loop0, logical block 138709
      [   43.106112] attempt to access beyond end of device
      [   43.106116] loop0: rw=0, want=277422, limit=277408
      [   43.106120] Buffer I/O error on device loop0, logical block 138710
      [   43.106124] attempt to access beyond end of device
      [   43.106128] loop0: rw=0, want=277424, limit=277408
      [   43.106131] Buffer I/O error on device loop0, logical block 138711
      [   43.106135] attempt to access beyond end of device
      [   43.106139] loop0: rw=0, want=277426, limit=277408
      [   43.106143] Buffer I/O error on device loop0, logical block 138712
      [   43.106147] attempt to access beyond end of device
      [   43.106151] loop0: rw=0, want=277428, limit=277408
      [   43.106154] Buffer I/O error on device loop0, logical block 138713
      [   43.106158] attempt to access beyond end of device
      [   43.106162] loop0: rw=0, want=277430, limit=277408
      [   43.106166] attempt to access beyond end of device
      [   43.106169] loop0: rw=0, want=277432, limit=277408
      ...
      [   43.106307] attempt to access beyond end of device
      [   43.106311] loop0: rw=0, want=277470, limit=2774
      
      Squashfs manages to read in the end block(s) of the disk during the
      mount operation.  Then, when dd reads the block device, it leads to
      block_read_full_page being called with buffers that are beyond end of
      disk, but are marked as mapped.  Thus, it would end up submitting read
      I/O against them, resulting in the errors mentioned above.  I fixed the
      problem by modifying init_page_buffers to only set the buffer mapped if
      it fell inside of i_size.
      
      Cheers,
      Jeff
      Signed-off-by: NJeff Moyer <jmoyer@redhat.com>
      Acked-by: NNick Piggin <npiggin@kernel.dk>
      
      --
      
      Changes from v1->v2: re-used max_block, as suggested by Nick Piggin.
      Signed-off-by: NJens Axboe <axboe@kernel.dk>
      080399aa
    • A
      mtip32xx: release the semaphore on an error path · a09ba13e
      Asai Thambi S P 提交于
      Release the semaphore in an error path in mtip_hw_get_scatterlist(). This
      fixes the smatch warning inconsistent returns.
      Reported-by: NDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: NAsai Thambi S P <asamymuthupa@micron.com>
      Signed-off-by: NJens Axboe <axboe@kernel.dk>
      a09ba13e
    • J
      dac960: Remove unused variables from DAC960_CreateProcEntries() · d88a440e
      Jesper Juhl 提交于
      The variables 'StatusProcEntry' and 'UserCommandProcEntry' are
      assigned to once and then never used. This patch gets rid of the
      variables.
      
      While I was there I also fixed the indentation of the function to use
      tabs rather than spaces for the lines that did not already do so.
      Signed-off-by: NJesper Juhl <jj@chaosbits.net>
      Signed-off-by: NJens Axboe <axboe@kernel.dk>
      d88a440e
    • L
      Merge branch 'parisc' (PA-RISC compile fixes) · d60b9c16
      Linus Torvalds 提交于
      Merge PA-RISC compile fixes from Rolf Eike Beer:
       "Since commit d66acc39 ("bitops: Optimise get_order()") getorder.h
        includes log2.h which leads to an include loop on PA-RISC, bringing a
        bunch of other breakage to light.  This patchset fixes the compilation
        of the current state of 3.4 on HPPA.
      
        Unchanged against the first version, just added an Ack by Grant."
      
      * emailed from Rolf Eike Beer <eike-kernel@sf-tec.de>: (5 patches)
        parisc: move definition of PAGE0 to asm/page.h
        parisc: add missing include of asm/page.h to asm/pgtable.h
        parisc: drop include of asm/pdc.h from asm/hardware.h
        parisc: add missing forward declarations in asm/hardware.h
        parisc: add missing includes in asm/spinlock.h
      d60b9c16
    • L
      Merge branch 'akpm' (Andrew's patch-bomb) · 7c283324
      Linus Torvalds 提交于
      Merge misc fixes from Andrew Morton.
      
      * emailed from Andrew Morton <akpm@linux-foundation.org>: (8 patches)
        MAINTAINERS: add maintainer for LED subsystem
        mm: nobootmem: fix sign extend problem in __free_pages_memory()
        drivers/leds: correct __devexit annotations
        memcg: free spare array to avoid memory leak
        namespaces, pid_ns: fix leakage on fork() failure
        hugetlb: prevent BUG_ON in hugetlb_fault() -> hugetlb_cow()
        mm: fix division by 0 in percpu_pagelist_fraction()
        proc/pid/pagemap: correctly report non-present ptes and holes between vmas
      7c283324
    • R
      parisc: move definition of PAGE0 to asm/page.h · 4a8a0788
      Rolf Eike Beer 提交于
      This was defined in asm/pdc.h which needs to include asm/page.h for
      __PAGE_OFFSET. This leads to an include loop so that page.h eventually will
      include pdc.h again. While this is no problem because of header guards, it is
      a problem because some symbols may be undefined. Such an error is this:
      
      In file included from include/linux/bitops.h:35:0,
                       from include/asm-generic/getorder.h:7,
                       from arch/parisc/include/asm/page.h:162,
                       from arch/parisc/include/asm/pdc.h:346,
                       from arch/parisc/include/asm/processor.h:16,
                       from arch/parisc/include/asm/spinlock.h:6,
                       from arch/parisc/include/asm/atomic.h:20,
                       from include/linux/atomic.h:4,
                       from include/linux/sysfs.h:20,
                       from include/linux/kobject.h:21,
                       from include/linux/device.h:17,
                       from include/linux/eisa.h:5,
                       from arch/parisc/kernel/pci.c:11:
      arch/parisc/include/asm/bitops.h: In function ‘set_bit’:
      arch/parisc/include/asm/bitops.h:82:2: error: implicit declaration of function ‘_atomic_spin_lock_irqsave’ [-Werror=implicit-function-declaration]
      arch/parisc/include/asm/bitops.h:84:2: error: implicit declaration of function ‘_atomic_spin_unlock_irqrestore’ [-Werror=implicit-function-declaration]
      Signed-off-by: NRolf Eike Beer <eike-kernel@sf-tec.de>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      4a8a0788
    • R
      parisc: add missing include of asm/page.h to asm/pgtable.h · 9b05b1ec
      Rolf Eike Beer 提交于
      Fixes these errors:
      
      In file included from arch/parisc/include/asm/io.h:5:0,
                       from include/linux/io.h:22,
                       from include/linux/pci.h:54,
                       from arch/parisc/kernel/setup.c:35:
      arch/parisc/include/asm/pgtable.h:92:6: warning: "PAGE_SHIFT" is not defined [-Wundef]
      arch/parisc/include/asm/pgtable.h:92:6: warning: "PAGE_SHIFT" is not defined [-Wundef]
      arch/parisc/include/asm/pgtable.h:92:6: warning: "BITS_PER_PTE_ENTRY" is not defined [-Wundef]
      Signed-off-by: NRolf Eike Beer <eike-kernel@sf-tec.de>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      9b05b1ec
    • R
      parisc: drop include of asm/pdc.h from asm/hardware.h · 6eb608f5
      Rolf Eike Beer 提交于
      It seems none of the symbols defined by pdc.h is needed, but it introduces an
      include loop causing compile errors:
      
      In file included from arch/parisc/include/asm/spinlock.h:4:0,
                       from arch/parisc/include/asm/atomic.h:20,
                       from include/linux/atomic.h:4,
                       from arch/parisc/include/asm/bitops.h:56,
                       from include/linux/bitops.h:35,
                       from include/asm-generic/getorder.h:7,
                       from arch/parisc/include/asm/page.h:162,
                       from arch/parisc/include/asm/pdc.h:346,
                       from arch/parisc/include/asm/hardware.h:5,
                       from arch/parisc/kernel/hardware.c:30:
      arch/parisc/include/asm/processor.h:74:16: error: field ‘cpu_type’ has incomplete type
      arch/parisc/include/asm/processor.h:77:20: error: field ‘model’ has incomplete type
      arch/parisc/include/asm/processor.h: In function ‘parisc_requires_coherency’:
      arch/parisc/include/asm/processor.h:349:36: error: ‘mako’ undeclared (first use in this function)
      arch/parisc/include/asm/processor.h:349:36: note: each undeclared identifier is reported only once for each function it appears in
      arch/parisc/include/asm/processor.h:350:30: error: ‘mako2’ undeclared (first use in this function)
      Signed-off-by: NRolf Eike Beer <eike-kernel@sf-tec.de>
      Acked-by: NGrant Grundler <grantgrundler@gmail.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      6eb608f5
    • R
      parisc: add missing forward declarations in asm/hardware.h · 25fe853d
      Rolf Eike Beer 提交于
      Fixes this warnings:
      
      In file included from arch/parisc/include/asm/processor.h:15:0,
                       from arch/parisc/include/asm/spinlock.h:4,
                       from arch/parisc/include/asm/atomic.h:20,
                       from include/linux/atomic.h:4,
                       from arch/parisc/include/asm/bitops.h:11,
                       from include/linux/bitops.h:22,
                       from include/linux/kernel.h:19,
                       from include/linux/sched.h:55,
                       from arch/parisc/kernel/asm-offsets.c:31:
      arch/parisc/include/asm/hardware.h:106:10: warning: ‘struct hardware_path’ declared inside parameter list [enabled by default]
      arch/parisc/include/asm/hardware.h:106:10: warning: its scope is only this definition or declaration, which is probably not what you want [enabled by default]
      arch/parisc/include/asm/hardware.h:116:59: warning: ‘struct hardware_path’ declared inside parameter list [enabled by default]
      arch/parisc/include/asm/hardware.h:118:47: warning: ‘struct hardware_path’ declared inside parameter list [enabled by default]
      arch/parisc/include/asm/hardware.h:119:57: warning: ‘struct hardware_path’ declared inside parameter list [enabled by default]
      Signed-off-by: NRolf Eike Beer <eike-kernel@sf-tec.de>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      25fe853d
    • R
      parisc: add missing includes in asm/spinlock.h · 1cab4201
      Rolf Eike Beer 提交于
      This leads to this errors:
      
      In file included from arch/parisc/include/asm/atomic.h:20:0,
                       from include/linux/atomic.h:4,
                       from arch/parisc/include/asm/bitops.h:56,
                       from include/linux/bitops.h:22,
                       from include/linux/kernel.h:19,
                       from include/linux/sched.h:55,
                       from arch/parisc/kernel/asm-offsets.c:31:
      arch/parisc/include/asm/spinlock.h: In function ‘arch_spin_is_locked’:
      arch/parisc/include/asm/spinlock.h:9:2: error: implicit declaration of function ‘__ldcw_align’ [-Werror=implicit-function-declaration]
      arch/parisc/include/asm/spinlock.h:9:29: warning: initialization makes pointer from integer without a cast [enabled by default]
      arch/parisc/include/asm/spinlock.h: In function ‘arch_spin_lock_flags’:
      arch/parisc/include/asm/spinlock.h:22:2: error: implicit declaration of function ‘mb’ [-Werror=implicit-function-declaration]
      arch/parisc/include/asm/spinlock.h:23:4: warning: assignment makes pointer from integer without a cast [enabled by default]
      arch/parisc/include/asm/spinlock.h:24:2: error: implicit declaration of function ‘__ldcw’ [-Werror=implicit-function-declaration]
      Signed-off-by: NRolf Eike Beer <eike-kernel@sf-tec.de>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      1cab4201
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc · 9e5869f8
      Linus Torvalds 提交于
      Pull a sparc fix from David Miller.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
        sparc64: Do not clobber %g2 in xcall_fetch_glob_regs().
      9e5869f8
    • B
      MAINTAINERS: add maintainer for LED subsystem · 17ff3c1f
      Bryan Wu 提交于
      Add Bryan Wu as the primary maintainer for drivers/leds
      Signed-off-by: NBryan Wu <bryan.wu@canonical.com>
      Acked-by: NRichard Purdie <richard.purdie@linuxfoundation.org>
      Acked-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      17ff3c1f
    • R
      mm: nobootmem: fix sign extend problem in __free_pages_memory() · 6bc2e853
      Russ Anderson 提交于
      Systems with 8 TBytes of memory or greater can hit a problem where only
      the the first 8 TB of memory shows up.  This is due to "int i" being
      smaller than "unsigned long start_aligned", causing the high bits to be
      dropped.
      
      The fix is to change `i' to unsigned long to match start_aligned
      and end_aligned.
      
      Thanks to Jack Steiner for assistance tracking this down.
      Signed-off-by: NRuss Anderson <rja@sgi.com>
      Cc: Jack Steiner <steiner@sgi.com>
      Cc: Johannes Weiner <hannes@cmpxchg.org>
      Cc: Tejun Heo <tj@kernel.org>
      Cc: David S. Miller <davem@davemloft.net>
      Cc: Yinghai Lu <yinghai@kernel.org>
      Cc: Gavin Shan <shangw@linux.vnet.ibm.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      6bc2e853
    • A
      drivers/leds: correct __devexit annotations · b8cd742a
      Arnd Bergmann 提交于
      __devexit functions are discarded without CONFIG_HOTPLUG, so they need
      to be referenced carefully.  A __devexit function may also not be called
      from a __devinit function.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NMathieu Poirier <mathieu.poirier@linaro.org>
      Cc: Bryan Wu <bryan.wu@canonical.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      b8cd742a
    • S
      memcg: free spare array to avoid memory leak · 8c757763
      Sha Zhengju 提交于
      When the last event is unregistered, there is no need to keep the spare
      array anymore.  So free it to avoid memory leak.
      Signed-off-by: NSha Zhengju <handai.szj@taobao.com>
      Acked-by: NKAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
      Reviewed-by: NKirill A. Shutemov <kirill@shutemov.name>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      8c757763
    • M
      namespaces, pid_ns: fix leakage on fork() failure · 5e2bf014
      Mike Galbraith 提交于
      Fork() failure post namespace creation for a child cloned with
      CLONE_NEWPID leaks pid_namespace/mnt_cache due to proc being mounted
      during creation, but not unmounted during cleanup.  Call
      pid_ns_release_proc() during cleanup.
      Signed-off-by: NMike Galbraith <efault@gmx.de>
      Acked-by: NOleg Nesterov <oleg@redhat.com>
      Reviewed-by: N"Eric W. Biederman" <ebiederm@xmission.com>
      Cc: Pavel Emelyanov <xemul@parallels.com>
      Cc: Cyrill Gorcunov <gorcunov@openvz.org>
      Cc: Louis Rilling <louis.rilling@kerlabs.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      5e2bf014
    • C
      hugetlb: prevent BUG_ON in hugetlb_fault() -> hugetlb_cow() · 4998a6c0
      Chris Metcalf 提交于
      Commit 66aebce7 ("hugetlb: fix race condition in hugetlb_fault()")
      added code to avoid a race condition by elevating the page refcount in
      hugetlb_fault() while calling hugetlb_cow().
      
      However, one code path in hugetlb_cow() includes an assertion that the
      page count is 1, whereas it may now also have the value 2 in this path.
      
      The consensus is that this BUG_ON has served its purpose, so rather than
      extending it to cover both cases, we just remove it.
      Signed-off-by: NChris Metcalf <cmetcalf@tilera.com>
      Acked-by: NMel Gorman <mel@csn.ul.ie>
      Acked-by: NHillf Danton <dhillf@gmail.com>
      Acked-by: NHugh Dickins <hughd@google.com>
      Cc: Michal Hocko <mhocko@suse.cz>
      Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
      Cc: <stable@vger.kernel.org>	[3.0.29+, 3.2.16+, 3.3.3+]
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      4998a6c0
    • S
      mm: fix division by 0 in percpu_pagelist_fraction() · 93278814
      Sasha Levin 提交于
      percpu_pagelist_fraction_sysctl_handler() has only considered -EINVAL as
      a possible error from proc_dointvec_minmax().
      
      If any other error is returned, it would proceed to divide by zero since
      percpu_pagelist_fraction wasn't getting initialized at any point.  For
      example, writing 0 bytes into the proc file would trigger the issue.
      Signed-off-by: NSasha Levin <levinsasha928@gmail.com>
      Reviewed-by: NMinchan Kim <minchan@kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      93278814
    • K
      proc/pid/pagemap: correctly report non-present ptes and holes between vmas · 16fbdce6
      Konstantin Khlebnikov 提交于
      Reset the current pagemap-entry if the current pte isn't present, or if
      current vma is over.  Otherwise pagemap reports last entry again and
      again.
      
      Non-present pte reporting was broken in commit 092b50ba ("pagemap:
      introduce data structure for pagemap entry")
      
      Reporting for holes was broken in commit 5aaabe83 ("pagemap: avoid
      splitting thp when reading /proc/pid/pagemap")
      Signed-off-by: NKonstantin Khlebnikov <khlebnikov@openvz.org>
      Reported-by: NPavel Emelyanov <xemul@parallels.com>
      Cc: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
      Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      16fbdce6
    • L
      Merge branch 'for-3.4-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu · f3b26922
      Linus Torvalds 提交于
      Pull percpu fixes from Tejun Heo:
       "This pull request contains two patches.  One is kmemleak annotation
        fix which isn't critical.  The other is kinda serious.
      
        Depending on NUMA topology, percpu allocator may end up assigning
        overlapping regions for the static percpu areas for different CPUs.
        While critical, the bug has been there for a very long time and only
        few configurations seem to be affected (NUMA configurations w/ no
        memory nodes for example) - so, while it's critical, it isn't exactly
        urgent."
      
      * 'for-3.4-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu:
        kmemleak: Fix the kmemleak tracking of the percpu areas with !SMP
        percpu: pcpu_embed_first_chunk() should free unused parts after all allocs are complete
      f3b26922
    • L
      Merge git://git.samba.org/sfrench/cifs-2.6 · fda27bed
      Linus Torvalds 提交于
      Pull cifs fix from Steve French.
      
      * git://git.samba.org/sfrench/cifs-2.6:
        cifs: fix revalidation test in cifs_llseek()
      fda27bed
    • D
      sparc64: Do not clobber %g2 in xcall_fetch_glob_regs(). · a5a737e0
      David S. Miller 提交于
      %g2 is meant to hold the CPUID number throughout this routine, since
      at the very beginning, and at the very end, we use %g2 to calculate
      indexes into per-cpu arrays.
      
      However we erroneously clobber it in order to hold the %cwp register
      value mid-stream.
      
      Fix this code to use %g3 for the %cwp read and related calulcations
      instead.
      Reported-by: NMeelis Roos <mroos@linux.ee>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a5a737e0
    • L
      Merge tag 'nfs-for-3.4-5' of git://git.linux-nfs.org/projects/trondmy/linux-nfs · bc46f937
      Linus Torvalds 提交于
      Pull a NFS client bugfix from Trond Myklebust:
       "Fix for the NFSv4 security negotiation: ensure that the security
        negotiation tries all registered security flavours"
      
      * tag 'nfs-for-3.4-5' of git://git.linux-nfs.org/projects/trondmy/linux-nfs:
        auth_gss: the list of pseudoflavors not being parsed correctly
      bc46f937
    • L
      Merge tag 'sound-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · ed3ac021
      Linus Torvalds 提交于
      Pull sound fixes from Takashi Iwai:
       "Slightly more than expected as rc7, but all are reasonablly small
        fixes.  A few additions of HD-audio fixup entries, a couple of other
        regression fixes including a revert, and a few other trivial
        oneliners."
      
      * tag 'sound-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ASoC: sh: fix migor.c compilation
        ALSA: HDA: Lessen CPU usage when waiting for chip to respond
        Revert "ALSA: hda - Set codec to D3 forcibly even if not used"
        ALSA: hda/realtek - Call alc_auto_parse_customize_define() always after fixup
        ALSA: hdsp - Provide ioctl_compat
        ALSA: hda/realtek - Add missing CD-input pin for MSI-7350 mobo
        ALSA: hda/realtek - Add a fixup for Acer Aspire 5739G
        ALSA: echoaudio: Remove incorrect part of assertion
      ed3ac021
  3. 10 5月, 2012 9 次提交
  4. 09 5月, 2012 5 次提交
    • E
      ARM: OMAP: igep0020: fix smsc911x dummy regulator id · 1a21932e
      Enrico Butera 提交于
      id 0 is already used and causes errors at boot:
      
      WARNING: at fs/sysfs/dir.c:508 sysfs_add_one+0x9c/0xac()
      sysfs: cannot create duplicate filename '/devices/platform/reg-fixed-voltage.0'
      
      Fix it by using the next available one (id=1).
      
      This was caused by 5b3689f4 (ARM: OMAP2+: smsc911x: Add fixed
      board regulators) that did not account for some regulators
      already being used.
      Signed-off-by: NEnrico Butera <ebutera@users.berlios.de>
      [tony@atomide.com: updated comments for regression causing commit]
      Signed-off-by: NTony Lindgren <tony@atomide.com>
      1a21932e
    • L
      regmap: fix possible memory corruption in regmap_bulk_read() · 6560ffd1
      Laxman Dewangan 提交于
      The function regmap_bulk_read() calls the regmap_read() for
      each register if set of register has volatile and cache is
      enabled. In this case, last few register read makes the memory
      corruption if the register size is not the size of unsigned int.
      The regam_read() takes argument as unsigned int for returning
      value and it update the value as
      	*val = map->format.parse_val(map->work_buf);
      This causes complete 4 bytes (size of unsigned int) to get written.
      Now if client pass the memory pointer for value which is equal to the
      required size of register count in regmap_bulk_read() then last few
      register read actually update the memory beyond passed pointer size.
      
      Avoid this by using local variable for read and then do memcpy()
      for actual byte copy to passed pointer based on register size.
      
      I allocated one pointer ptr and take first 16 bytes dump of that
      pointer then call regmap_bulk_read() with pointer which is just
      on top of this allocated pointer and register count of 128. Here
      register size is 1 byte.
      The memory trace of last 5 register read are as follows:
      
      [    5.438589] regmap_bulk_read after regamp_read() for register 122
      [    5.447421] 0xef993c20 0xef993c00 0x00000000 0x00000001
      [    5.467535] regmap_bulk_read after regamp_read() for register 123
      [    5.476374] 0xef993c20 0xef993c00 0x00000000 0x00000001
      [    5.496425] regmap_bulk_read after regamp_read() for register 124
      [    5.505260] 0xef993c20 0xef993c00 0x00000000 0x00000001
      [    5.525372] regmap_bulk_read after regamp_read() for register 125
      [    5.534205] 0xef993c00 0xef993c00 0x00000000 0x00000001
      [    5.554258] regmap_bulk_read after regamp_read() for register 126
      [    5.563100] 0xef990000 0xef993c00 0x00000000 0x00000001
      [    5.554258] regmap_bulk_read after regamp_read() for register 127
      [    5.587108] 0xef000000 0xef993c00 0x00000000 0x00000001
      
      Here it is observed that the memory content at first word started changing
      on last 3 regmap_read() and so corruption happened.
      Signed-off-by: NLaxman Dewangan <ldewangan@nvidia.com>
      Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      6560ffd1
    • T
      Merge tag 'asoc-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus · 9ea3356d
      Takashi Iwai 提交于
      ASoC: Build fix for SH in 3.4
      
      An API update which wasn't sufficiently thorough in updating the tree...
      9ea3356d
    • G
      ASoC: sh: fix migor.c compilation · c8587193
      Guennadi Liakhovetski 提交于
      Fix a recent compilation breakage, caused by a change in SH clock API.
      Signed-off-by: NGuennadi Liakhovetski <g.liakhovetski@gmx.de>
      Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      c8587193
    • A
      KVM: ia64: fix build due to typo · 331b646d
      Avi Kivity 提交于
      s/kcm/kvm/.
      Signed-off-by: NMarcelo Tosatti <mtosatti@redhat.com>
      Signed-off-by: NAvi Kivity <avi@redhat.com>
      331b646d