1. 19 4月, 2012 10 次提交
    • S
      sh: Fix error synchronising kernel page tables · 8d9a784d
      Stuart Menefy 提交于
      The problem is caused by the interaction of two features in the Linux
      memory management code.
      
      A processes address space is described by a struct mm_struct, and
      every thread has a pointer to the mm it should run in. The exception
      to this are kernel threads, which don't have an mm, and so borrow
      the mm from the last thread which ran. The system is bootstrapped
      by the initial kernel thread using init's mm (even though init hasn't
      been created yet, its mm is the static init_mm).
      
      The other feature is how the kernel handles the page table which
      describes the portion of the address space which is only visible when
      executing inside the kernel, and which is shared by all threads. On
      the SH4 the only portion of the kernel's address space which described
      using the page table is called P3, from 0xc0000000 to 0xdfffffff. This
      portion of the address space is divided into three:
        - mappings for dma_alloc_coherent()
        - mappings for vmalloc() and ioremap()
        - fixmap mappings, primarily used in copy_user_pages() to create
          kernel mappings of user pages with the correct cache colour.
      
      To optimise the TLB miss handler we don't want to add an additional
      condition which checks whether the faulting address is in the user or
      the kernel portion of the address space, and so all page tables have a
      common portion which describes the kernel part of the address
      space. As the SH4 uses a two level page table, only the kernel portion
      of first level page table (the pgd entries) is duplicated. These all
      point to the same second level entries (the pte's), and so no memory
      is wasted.
      
      The reference page table for the kernel is called the swapper_pg_dir,
      and when a new page table is created for a new process the kernel
      portion of the page table is copied from swapper_pg_dir. This works
      fine when changes only occur in the second level of the kernel's page
      table, or the first level entries are created before any new user
      processes. However if a change occurs to the first level of the page
      table, and there are existing processes which don't have this entry in
      their page table, this new entry needs to be added. This is done on
      demand, when the kernel accesses a P3 address which isn't mapped using
      the current page table, the code in vmalloc_fault() copies the entry
      from the reference page table (swapper_pg_dir) into the current
      processes page table.
      
      The bug which this patch addresses is that the code in vmalloc_fault()
      was not copying addresses which fell in the dma_alloc_coherent()
      portion of the address space, and it should have been copying any P3
      address.
      
      Why we hadn't seen this before, and what made this hard to reproduce,
      is that normally the kernel will have called dma_alloc_coherent(), and
      accessed the memory mapping created, before any user process
      runs. Typically drivers such as USB or SATA will have created and used
      mappings of this type during the kernel initialisation, when probing
      for the attached devices, before init runs. Ethernet is slightly
      different, as it normally only creates and accesses
      dma_alloc_coherent() mappings when the network is brought up, but if
      kernel level IP configuration is used this will also occur before any
      user space process runs. So the first reproduction of this problem
      which we saw was occurred when USB and SATA were removed from the
      kernel, and then bring up Ethernet from user space using ifconfig.
      I'd like to thank Joseph Bormolini who did the hard work reducing the
      problem to this simple to reproduce criteria.
      
      In your case the situation is slightly different, and turns out to
      depends on the exact kernel configuration (which we had) and your
      ramdisk contents (which we didn't - hence the need for some assumptions).
      
      In this case the problem is a side effect of kernel level module
      loading. Kernel subsystems sometimes trigger the load of kernel
      modules directly, for example the crypto subsystem tries to load the
      cryptomgr and MTD tries to load modules for Flash partitioning if
      these are not built into the kernel. This is done by the kernel
      creating a user process which runs insmod to try and load the
      appropriate module.
      
      In order for this to cause problems the system must be running with a
      initrd or initramfs, which contains an insmod executable - if the
      kernel can't find an insmod to run, no user process is created, and
      the problem doesn't occur.  If an insmod is found, a process is
      created to run it, which will inherit the kernel portion of the
      swapper_pg_dir first level page table. It doesn't matter whether the
      inmod is successful or not, but when the the kernel scheduler context
      switches back to the kernel initialisation thread, the insmod's mm is
      'borrowed' by the kernel thread, as it doesn't have an address space
      of its own. (Reference counting is used to ensure this mm is not
      destroyed, even though the user process which caused its creation may no
      longer exist.) If this address space doesn't have a first level page
      table entry for the consistent mappings, and a driver tries to access
      such a mapping, we are in the same situation as described above,
      except this time in a kernel thread rather than a user thread
      executing inside the kernel.
      
      See bugzilla: 15425, 15836, 15862, 16106, 16793
      Signed-off-by: NStuart Menefy <stuart.menefy@st.com>
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      8d9a784d
    • L
    • J
      security: fix compile error in commoncap.c · 51b79bee
      Jonghwan Choi 提交于
      Add missing "personality.h"
      security/commoncap.c: In function 'cap_bprm_set_creds':
      security/commoncap.c:510: error: 'PER_CLEAR_ON_SETID' undeclared (first use in this function)
      security/commoncap.c:510: error: (Each undeclared identifier is reported only once
      security/commoncap.c:510: error: for each function it appears in.)
      Signed-off-by: NJonghwan Choi <jhbird.choi@samsung.com>
      Acked-by: NSerge Hallyn <serge.hallyn@canonical.com>
      Signed-off-by: NJames Morris <james.l.morris@oracle.com>
      51b79bee
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse · dbfad214
      Linus Torvalds 提交于
      Pull fuse updates from Miklos Szeredi.
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse:
        fuse: use flexible array in fuse.h
        fuse: allow nanosecond granularity
        fuse: O_DIRECT support for files
        fuse: fix nlink after unlink
      dbfad214
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · 743e89eb
      Linus Torvalds 提交于
      Pull s390 updates from Martin Schwidefsky:
       "A couple of bug fixes, one of them is a TLB flush fix.  Included as
        well is one small coding style patch and a patch to update the default
        configuration."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
        [S390] Fix compile error in swab.h
        [S390] Fix stfle() lowcore protection problem
        [S390] cpum_cf: get rid of compile warnings
        [S390] irq: simple coding style change
        [S390] update default configuration
        [S390] fix tlb flushing for page table pages
        [S390] kernel: Use local_irq_save() for memcpy_real()
        [S390] s390/char/vmur.c: fix memory leak
        [S390] drivers/s390/block/dasd_eckd.c: add missing dasd_sfree_request
      743e89eb
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security · b6a89584
      Linus Torvalds 提交于
      Pull security subsystem fixes from James Morris.
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security:
        fcaps: clear the same personality flags as suid when fcaps are used
        mpi: Avoid using freed pointer in mpi_lshift_limbs()
        Smack: move label list initialization
      b6a89584
    • L
      xz: Enable BCJ filters on SPARC and 32-bit x86 · 0db7bd8c
      Lasse Collin 提交于
      The BCJ filters were meant to be enabled already on these
      archs, but the xz_wrap.sh script was buggy. Enabling the
      filters should give smaller kernel images.
      
      xz_wrap.sh will now use $SRCARCH instead of $ARCH to detect
      the architecture. That way it doesn't need to care about the
      subarchs (like i386 vs. x86_64) since the BCJ filters don't
      care either.
      Signed-off-by: NLasse Collin <lasse.collin@tukaani.org>
      Acked-by: NJan Beulich <jbeulich@suse.com>
      Acked-by: NH. Peter Anvin <hpa@zytor.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      0db7bd8c
    • L
      Merge tag 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev · 40df43a1
      Linus Torvalds 提交于
      Pull libara fixes from Jeff Garzik:
      
       - Notable regression fix.  Forbid dynamic runtime power management by
         default, due to issues with suspend/resume and hotplug.
      
         To re-enable, use sysfs.
      
       - make ata_print_id atomic, due to ref from multiple contexts
      
       - sata_mv warning fix
      
       - ata_piix new PCI ID
      
      * tag 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
        libata: forbid port runtime pm by default, fixing regression
        libata: make ata_print_id atomic
        sata_mv: silence an uninitialized variable warning
        ata_piix: IDE-mode SATA patch for Intel DH89xxCC DeviceIDs
      40df43a1
    • L
      libata: forbid port runtime pm by default, fixing regression · 0c8d32c2
      Lin Ming 提交于
      Forbid port runtime pm by default because it has known hotplug issue.
      User can allow it by, for example
      
      echo auto > /sys/devices/pci0000:00/0000:00:1f.2/ata2/power/control
      Signed-off-by: NLin Ming <ming.m.lin@intel.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      0c8d32c2
    • T
      Revert "ACPI: Make ACPI interrupt threaded" · 9ecf8c0d
      Thomas Gleixner 提交于
      This reverts commit 6fe0d062.
      
      Paul bisected this regression.
      
      The conversion was done blindly and is wrong, as it does not provide a
      primary handler to disable the level type irq on the device level.
      Neither does it set the IRQF_ONESHOT flag which handles that at the irq
      line level.  This can't be done as the interrupt might be shared, though
      we might extend the core to force it.
      
      So an interrupt on this line will wake up the thread, but immediately
      unmask the irq after that.  Due to the interrupt being level type the
      hardware interrupt is raised over and over and prevents the irq thread
      from handling it.  Fail.
      
      request_irq() unfortunately does not refuse such a request and the patch
      was obviously never tested with real interrupts.
      Bisected-by: NPaul Bolle <pebolle@tiscali.nl>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      9ecf8c0d
  2. 18 4月, 2012 6 次提交
    • E
      fcaps: clear the same personality flags as suid when fcaps are used · d52fc5dd
      Eric Paris 提交于
      If a process increases permissions using fcaps all of the dangerous
      personality flags which are cleared for suid apps should also be cleared.
      Thus programs given priviledge with fcaps will continue to have address space
      randomization enabled even if the parent tried to disable it to make it
      easier to attack.
      Signed-off-by: NEric Paris <eparis@redhat.com>
      Reviewed-by: NSerge Hallyn <serge.hallyn@canonical.com>
      Signed-off-by: NJames Morris <james.l.morris@oracle.com>
      d52fc5dd
    • J
      mpi: Avoid using freed pointer in mpi_lshift_limbs() · 09c79b60
      Jesper Juhl 提交于
      At the start of the function we assign 'a->d' to 'ap'. Then we use the
      RESIZE_IF_NEEDED macro on 'a' - this may free 'a->d' and replace it
      with newly allocaetd storage. In that case, we'll be operating on
      freed memory further down in the function when we index into 'ap[]'.
      Since we don't actually need 'ap' until after the use of the
      RESIZE_IF_NEEDED macro we can just delay the assignment to it until
      after we've potentially resized, thus avoiding the issue.
      
      While I was there anyway I also changed the integer variable 'n' to be
      const. It might as well be since we only assign to it once and use it
      as a constant, and then the compiler will tell us if we ever assign to
      it in the future.
      Signed-off-by: NJesper Juhl <jj@chaosbits.net>
      Acked-by: NDmitry Kasatkin <dmitry.kasatkin@intel.com>
      Signed-off-by: NJames Morris <james.l.morris@oracle.com>
      09c79b60
    • C
      Smack: move label list initialization · 86812bb0
      Casey Schaufler 提交于
      A kernel with Smack enabled will fail if tmpfs has xattr support.
      
      Move the initialization of predefined Smack label
      list entries to the LSM initialization from the
      smackfs setup. This became an issue when tmpfs
      acquired xattr support, but was never correct.
      Signed-off-by: NCasey Schaufler <casey@schaufler-ca.com>
      Signed-off-by: NJames Morris <james.l.morris@oracle.com>
      86812bb0
    • L
      Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · 592fe898
      Linus Torvalds 提交于
      Pull ext4 regression fixes from Ted Ts'o:
       "This fixes a scalability problem reported by Andi Kleen and Tim Chen;
        they were quite secretive about the precise nature of their workload,
        but they later admitted that it only showed up when they were using a
        large sparse file, so the amount of data I/O that was needed was close
        to zero.
      
        I'm not sure how realistic this is and it's only a regression if you
        consider changes made since 2.6.39 to be a "regression" vis-a-vis the
        policy regarding post-merge window bug fixes, but Linus agreed it was
        worth fixing, so I'm including it in this pull request.
      
        This also fixes the journalled quota mount options, which I
        accidentally broke while I was cleaning up the mount option handling."
      
      * tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
        ext4: fix handling of journalled quota options
        ext4: address scalability issue by removing extent cache statistics
      592fe898
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · d44c6d4f
      Linus Torvalds 提交于
      Pull vfs fixes from Al Viro:
       "A bunch of endianness fixes and a couple of nfsd error value fixes.
      
        Speaking of endianness stuff, I'm rather tempted to slap
      
      	ccflags-y += -D__CHECK_ENDIAN__
      
        in fs/Makefile, if not making it default for the entire tree; nfsd
        regressions I've caught make one hell of a pile and we'd obviously
        benefit from having that kind of stuff caught earlier..."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        lockd: fix the endianness bug
        ocfs2: ->e_leaf_clusters endianness breakage
        ocfs2: ->rl_count endianness breakage
        ocfs: ->rl_used breakage on big-endian
        ocfs2: ->l_next_free_req breakage on big-endian
        btrfs: btrfs_root_readonly() broken on big-endian
        ext4: fix endianness breakage in ext4_split_extent_at()
        nfsd: fix compose_entry_fh() failure exits
        nfsd: fix error value on allocation failure in nfsd4_decode_test_stateid()
        nfsd: fix endianness breakage in TEST_STATEID handling
        nfsd: fix error values returned by nfsd4_lockt() when nfsd_open() fails
        nfsd: fix b0rken error value for setattr on read-only mount
      d44c6d4f
    • L
      Merge git://git.samba.org/sfrench/cifs-2.6 · bc0cf58e
      Linus Torvalds 提交于
      Pull CIFS fixes from Steve French.
      
      * git://git.samba.org/sfrench/cifs-2.6:
        Fix number parsing in cifs_parse_mount_options
        Cleanup handling of NULL value passed for a mount option
      bc0cf58e
  3. 17 4月, 2012 8 次提交
  4. 16 4月, 2012 12 次提交
    • M
      x86: Handle failures of parsing immediate operands in the instruction decoder · 6c7b8e82
      Masami Hiramatsu 提交于
      This can happen if the instruction is much longer than the maximum length,
      or if insn->opnd_bytes is manually changed.
      
      This patch also fixes warnings from -Wswitch-default flag.
      Reported-by: NPrashanth Nageshappa <prashanth@linux.vnet.ibm.com>
      Signed-off-by: NMasami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com>
      Cc: Jim Keniston <jkenisto@linux.vnet.ibm.com>
      Cc: Linux-mm <linux-mm@kvack.org>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Andi Kleen <andi@firstfloor.org>
      Cc: Christoph Hellwig <hch@infradead.org>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: Arnaldo Carvalho de Melo <acme@infradead.org>
      Cc: Anton Arapov <anton@redhat.com>
      Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
      Cc: yrl.pp-manager.tt@hitachi.com
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/r/20120413032427.32577.42602.stgit@localhost.localdomainSigned-off-by: NIngo Molnar <mingo@kernel.org>
      6c7b8e82
    • L
      Linux 3.4-rc3 · e816b57a
      Linus Torvalds 提交于
      e816b57a
    • L
      Merge branch 'fixes' of git://git.linaro.org/people/rmk/linux-arm · 9a8e5d41
      Linus Torvalds 提交于
      Pull ARM fixes from Russell King:
       "Nothing too disasterous, the biggest thing being the removal of the
        regulator support for vcore in the AMBA driver; only one SoC was using
        this and it got broken during the last merge window, which then
        started causing problems for other people.  Mutual agreement was
        reached for it to be removed."
      
      * 'fixes' of git://git.linaro.org/people/rmk/linux-arm:
        ARM: 7386/1: jump_label: fixup for rename to static_key
        ARM: 7384/1: ThumbEE: Disable userspace TEEHBR access for !CONFIG_ARM_THUMBEE
        ARM: 7382/1: mm: truncate memory banks to fit in 4GB space for classic MMU
        ARM: 7359/2: smp_twd: Only wait for reprogramming on active cpus
        ARM: 7383/1: nommu: populate vectors page from paging_init
        ARM: 7381/1: nommu: fix typo in mm/Kconfig
        ARM: 7380/1: DT: do not add a zero-sized memory property
        ARM: 7379/1: DT: fix atags_to_fdt() second call site
        ARM: 7366/3: amba: Remove AMBA level regulator support
        ARM: 7377/1: vic: re-read status register before dispatching each IRQ handler
        ARM: 7368/1: fault.c: correct how the tsk->[maj|min]_flt gets incremented
      9a8e5d41
    • L
      x86-32: fix up strncpy_from_user() sign error · 12e993b8
      Linus Torvalds 提交于
      The 'max' range needs to be unsigned, since the size of the user address
      space is bigger than 2GB.
      
      We know that 'count' is positive in 'long' (that is checked in the
      caller), so we will truncate 'max' down to something that fits in a
      signed long, but before we actually do that, that comparison needs to be
      done in unsigned.
      
      Bug introduced in commit 92ae03f2 ("x86: merge 32/64-bit versions of
      'strncpy_from_user()' and speed it up").  On x86-64 you can't trigger
      this, since the user address space is much smaller than 63 bits, and on
      x86-32 it works in practice, since you would seldom hit the strncpy
      limits anyway.
      
      I had actually tested the corner-cases, I had only tested them on
      x86-64.  Besides, I had only worried about the case of a pointer *close*
      to the end of the address space, rather than really far away from it ;)
      
      This also changes the "we hit the user-specified maximum" to return
      'res', for the trivial reason that gcc seems to generate better code
      that way.  'res' and 'count' are the same in that case, so it really
      doesn't matter which one we return.
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      12e993b8
    • R
      ARM: 7386/1: jump_label: fixup for rename to static_key · 708e5978
      Rabin Vincent 提交于
      c5905afb ("static keys: Introduce 'struct static_key'...") renamed
      struct jump_label_key to struct static_key.  Fixup ARM for this to
      eliminate these build warnings:
      
        include/linux/jump_label.h:113:2:
        warning: passing argument 1 of 'arch_static_branch' from incompatible pointer type
        include/asm/jump_label.h:17:82:
        note: expected 'struct jump_label_key *' but argument is of type 'struct static_key *'
      Signed-off-by: NRabin Vincent <rabin@rab.in>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      708e5978
    • J
      ARM: 7384/1: ThumbEE: Disable userspace TEEHBR access for !CONFIG_ARM_THUMBEE · 078c0454
      Jonathan Austin 提交于
      Currently when ThumbEE is not enabled (!CONFIG_ARM_THUMBEE) the ThumbEE
      register states are not saved/restored at context switch. The default state
      of the ThumbEE Ctrl register (TEECR) allows userspace accesses to the
      ThumbEE Base Handler register (TEEHBR). This can cause unexpected behaviour
      when people use ThumbEE on !CONFIG_ARM_THUMBEE kernels, as well as allowing
      covert communication - eg between userspace tasks running inside chroot
      jails.
      
      This patch sets up TEECR in order to prevent user-space access to TEEHBR
      when !CONFIG_ARM_THUMBEE. In this case, tasks are sent SIGILL if they try to
      access TEEHBR.
      
      Cc: stable@vger.kernel.org
      Reviewed-by: NWill Deacon <will.deacon@arm.com>
      Signed-off-by: NJonathan Austin <jonathan.austin@arm.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      078c0454
    • W
      ARM: 7382/1: mm: truncate memory banks to fit in 4GB space for classic MMU · e5ab8580
      Will Deacon 提交于
      If a bank of memory spanning the 4GB boundary is added on a !CONFIG_LPAE
      kernel then we will hang early during boot since the memory bank will
      have wrapped around to zero.
      
      This patch truncates memory banks for !LPAE configurations when the end
      address is not representable in 32 bits.
      Acked-by: NNicolas Pitre <nico@linaro.org>
      Signed-off-by: NWill Deacon <will.deacon@arm.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      e5ab8580
    • L
      ARM: 7359/2: smp_twd: Only wait for reprogramming on active cpus · 9f855503
      Linus Walleij 提交于
      During booting of cpu1, there is a short window where cpu1
      is online, but not active where cpu1 is occupied by waiting
      to become active. If cpu0 then decides to schedule something
      on cpu1 and wait for it to complete, before cpu0 has set
      cpu1 active, we have a deadlock.
      
      Typically it's this CPU frequency transition that happens at
      this time, so let's just not wait for it to happen, it will
      happen whenever the CPU eventually comes online instead.
      
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: stable@kernel.org
      Signed-off-by: NJonas Aaberg <jonas.aberg@stericsson.com>
      Reviewed-by: NRickard Andersson <rickard.andersson@stericsson.com>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      9f855503
    • R
      PCI: Fix regression in pci_restore_state(), v3 · ebfc5b80
      Rafael J. Wysocki 提交于
      Commit 26f41062 ("PCI: check for pci bar restore completion and
      retry") attempted to address problems with PCI BAR restoration on
      systems where FLR had not been completed before pci_restore_state() was
      called, but it did that in an utterly wrong way.
      
      First off, instead of retrying the writes for the BAR registers only, it
      did that for all of the PCI config space of the device, including the
      status register (whose value after the write quite obviously need not be
      the same as the written one).  Second, it added arbitrary delay to
      pci_restore_state() even for systems where the PCI config space
      restoration was successful at first attempt.  Finally, the mdelay(10) it
      added to every iteration of the writing loop was way too much of a delay
      for any reasonable device.
      
      All of this actually caused resume failures for some devices on Mikko's
      system.
      
      To fix the regression, make pci_restore_state() only retry the writes
      for BAR registers and only wait if the first read from the register
      doesn't return the written value.  Additionaly, make it wait for 1 ms,
      instead of 10 ms, after every failing attempt to write into config
      space.
      Reported-by: NMikko Vinni <mmvinni@yahoo.com>
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      ebfc5b80
    • L
      Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 6c23b8e9
      Linus Torvalds 提交于
      Pull "ARM: a few more SoC fixes for 3.4-rc" from Olof Johansson:
       - A handful of warning and build fixes for Qualcomm MSM
       - Build/warning and bug fixes for Samsung Exynos
       - A fix from Rob Herring that removes misplaced interrupt-parent
         properties from a few device trees
       - A fix to OMAP dealing with cpufreq build errors, removing some of the
         offending code since it was redundant anyway
      
      * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        ARM: OMAP: clock: cleanup CPUfreq leftovers, fix build errors
        ARM: dts: remove blank interrupt-parent properties
        ARM: EXYNOS: Fix Kconfig dependencies for device tree enabled machine files
        ARM: EXYNOS: Remove broken config values for touchscren for NURI board
        ARM: EXYNOS: set fix xusbxti clock for NURI and Universal210 boards
        ARM: EXYNOS: fix regulator name for NURI board
        ARM: SAMSUNG: make SAMSUNG_PM_DEBUG select DEBUG_LL
        ARM: msm: Fix section mismatches in proc_comm.c
        video: msm: Fix section mismatches in mddi.c
        arm: msm: trout: fix compile failure
        arm: msm: halibut: remove unneeded fixup
        ARM: EXYNOS: Add PDMA and MDMA physical base address defines
        ARM: S5PV210: Fix compiler warning in dma.c file
        ARM: EXYNOS: Fix compile error in exynos5250-cpufreq.c
        ARM: EXYNOS: Add missing definition for IRQ_I2S0
        ARM: S5PV210: fix unused LDO supply field from wm8994_pdata
      6c23b8e9
    • L
      Merge tag 'sound-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 218a8c2b
      Linus Torvalds 提交于
      Pull another round of sound fixes from Takashi Iwai:
       "A few regression fixes for Realtek HD-audio codecs, mainly specific to
        some laptop models."
      
      * tag 'sound-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: hda/realtek - Fix mem leak (and rid us of trailing whitespace).
        ALSA: hda/realtek - Add quirk for Mac Pro 5,1 machines
        ALSA: hda/realtek - Add a fixup entry for Acer Aspire 8940G
        ALSA: hda/realtek - Fix GPIO1 setup for Acer Aspire 4930 & co
        ALSA: hda/realtek - Add a few ALC882 model strings back
      218a8c2b
    • M
      SCSI: Fix error handling when no ULD is attached · 919f797a
      Martin K. Petersen 提交于
      Commit 18a4d0a2 ("[SCSI] Handle disk devices which can not process
      medium access commands") introduced a bug in which we would attempt to
      dereference the scsi driver even when the device had no ULD attached.
      
      Ensure that a driver is registered and make the driver accessor function
      more resilient to errors during device discovery.
      Reported-by: NElric Fu <elricfu1@gmail.com>
      Reported-by: NBart Van Assche <bvanassche@acm.org>
      Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      919f797a
  5. 15 4月, 2012 4 次提交