1. 19 3月, 2011 21 次提交
  2. 18 3月, 2011 19 次提交
    • J
      spi/dw_spi: Fix missing header · 46165a3d
      Jiri Slaby 提交于
      Currently, build on PPC dies with:
      In file included from drivers/spi/dw_spi_mmio.c:16:
      include/linux/spi/dw_spi.h:147: error: field ‘tx_sgl’ has incomplete type
      include/linux/spi/dw_spi.h:149: error: field ‘rx_sgl’ has incomplete type
      
      Add linux/scatterlist.h include to dw_spi.h, because we need to know
      the contents of the structure.
      Signed-off-by: NJiri Slaby <jslaby@suse.cz>
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      46165a3d
    • J
      fs: call security_d_instantiate in d_obtain_alias V2 · 24ff6663
      Josef Bacik 提交于
      While trying to track down some NFS problems with BTRFS, I kept noticing I was
      getting -EACCESS for no apparent reason.  Eric Paris and printk() helped me
      figure out that it was SELinux that was giving me grief, with the following
      denial
      
      type=AVC msg=audit(1290013638.413:95): avc:  denied  { 0x800000 } for  pid=1772
      comm="nfsd" name="" dev=sda1 ino=256 scontext=system_u:system_r:kernel_t:s0
      tcontext=system_u:object_r:unlabeled_t:s0 tclass=file
      
      Turns out this is because in d_obtain_alias if we can't find an alias we create
      one and do all the normal instantiation stuff, but we don't do the
      security_d_instantiate.
      
      Usually we are protected from getting a hashed dentry that hasn't yet run
      security_d_instantiate() by the parent's i_mutex, but obviously this isn't an
      option there, so in order to deal with the case that a second thread comes in
      and finds our new dentry before we get to run security_d_instantiate(), we go
      ahead and call it if we find a dentry already.  Eric assures me that this is ok
      as the code checks to see if the dentry has been initialized already so calling
      security_d_instantiate() against the same dentry multiple times is ok.  With
      this patch I'm no longer getting errant -EACCESS values.
      Signed-off-by: NJosef Bacik <josef@redhat.com>
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      24ff6663
    • A
      lose 'mounting_here' argument in ->d_manage() · 1aed3e42
      Al Viro 提交于
      it's always false...
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      1aed3e42
    • I
      trace, filters: Initialize the match variable in process_ops() properly · 1ef1d1c2
      Ingo Molnar 提交于
      Make sure the 'match' variable always has a value.
      
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      LKML-Reference: <new-submission>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      1ef1d1c2
    • L
      Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc · 0a95d92c
      Linus Torvalds 提交于
      * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (62 commits)
        powerpc/85xx: Fix signedness bug in cache-sram
        powerpc/fsl: 85xx: document cache sram bindings
        powerpc/fsl: define binding for fsl mpic interrupt controllers
        powerpc/fsl_msi: Handle msi-available-ranges better
        drivers/serial/ucc_uart.c: Add of_node_put to avoid memory leak
        powerpc/85xx: Fix SPE float to integer conversion failure
        powerpc/85xx: Update sata controller compatible for p1022ds board
        ATA: Add FSL sata v2 controller support
        powerpc/mpc8xxx_gpio: simplify searching for 'fsl, qoriq-gpio' compatiable
        powerpc/8xx: remove obsolete mgsuvd board
        powerpc/82xx: rename and update mgcoge board support
        powerpc/83xx: rename and update kmeter1
        powerpc/85xx: Workaroudn e500 CPU erratum A005
        powerpc/fsl_pci: Add support for FSL PCIe controllers v2.x
        powerpc/85xx: Fix writing to spin table 'cpu-release-addr' on ppc64e
        powerpc/pseries: Disable MSI using new interface if possible
        powerpc: Enable GENERIC_HARDIRQS_NO_DEPRECATED.
        powerpc: core irq_data conversion.
        powerpc: sysdev/xilinx_intc irq_data conversion.
        powerpc: sysdev/uic irq_data conversion.
        ...
      
      Fix up conflicts in arch/powerpc/sysdev/fsl_msi.c (due to getting rid of
      of_platform_driver in arch/powerpc)
      0a95d92c
    • A
      don't pass 'mounting_here' flag to follow_down() · 7cc90cc3
      Al Viro 提交于
      it's always false now
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      7cc90cc3
    • A
      change the locking order for namespace_sem · b12cea91
      Al Viro 提交于
      Have it nested inside ->i_mutex.  Instead of using follow_down()
      under namespace_sem, followed by grabbing i_mutex and checking that
      mountpoint to be is not dead, do the following:
      	grab i_mutex
      	check that it's not dead
      	grab namespace_sem
      	see if anything is mounted there
      	if not, we've won
      	otherwise
      		drop locks
      		put_path on what we had
      		replace with what's mounted
      		retry everything with new mountpoint to be
      
      New helper (lock_mount()) does that.  do_add_mount(), do_move_mount(),
      do_loopback() and pivot_root() switched to it; in case of the last
      two that eliminates a race we used to have - original code didn't
      do follow_down().
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      b12cea91
    • A
      fix deadlock in pivot_root() · 27cb1572
      Al Viro 提交于
      Don't hold vfsmount_lock over the loop traversing ->mnt_parent;
      do check_mnt(new.mnt) under namespace_sem instead; combined with
      namespace_sem held over all that code it'll guarantee the stability
      of ->mnt_parent chain all the way to the root.
      
      Doing check_mnt() outside of namespace_sem in case of pivot_root()
      is wrong anyway.
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      27cb1572
    • S
      x86: Flush TLB if PGD entry is changed in i386 PAE mode · 4981d01e
      Shaohua Li 提交于
      According to intel CPU manual, every time PGD entry is changed in i386 PAE
      mode, we need do a full TLB flush. Current code follows this and there is
      comment for this too in the code.
      
      But current code misses the multi-threaded case. A changed page table
      might be used by several CPUs, every such CPU should flush TLB. Usually
      this isn't a problem, because we prepopulate all PGD entries at process
      fork. But when the process does munmap and follows new mmap, this issue
      will be triggered.
      
      When it happens, some CPUs keep doing page faults:
      
        http://marc.info/?l=linux-kernel&m=129915020508238&w=2
      
      Reported-by: Yasunori Goto<y-goto@jp.fujitsu.com>
      Tested-by: Yasunori Goto<y-goto@jp.fujitsu.com>
      Reviewed-by: NRik van Riel <riel@redhat.com>
      Signed-off-by: Shaohua Li<shaohua.li@intel.com>
      Cc: Mallick Asit K <asit.k.mallick@intel.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: linux-mm <linux-mm@kvack.org>
      Cc: stable <stable@kernel.org>
      LKML-Reference: <1300246649.2337.95.camel@sli10-conroe>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      4981d01e
    • N
      x86, dumpstack: Correct stack dump info when frame pointer is available · e8e999cf
      Namhyung Kim 提交于
      Current stack dump code scans entire stack and check each entry
      contains a pointer to kernel code. If CONFIG_FRAME_POINTER=y it
      could mark whether the pointer is valid or not based on value of
      the frame pointer. Invalid entries could be preceded by '?' sign.
      
      However this was not going to happen because scan start point
      was always higher than the frame pointer so that they could not
      meet.
      
      Commit 9c0729dc ("x86: Eliminate bp argument from the stack
      tracing routines") delayed bp acquisition point, so the bp was
      read in lower frame, thus all of the entries were marked
      invalid.
      
      This patch fixes this by reverting above commit while retaining
      stack_frame() helper as suggested by Frederic Weisbecker.
      
      End result looks like below:
      
      before:
      
       [    3.508329] Call Trace:
       [    3.508551]  [<ffffffff814f35c9>] ? panic+0x91/0x199
       [    3.508662]  [<ffffffff814f3739>] ? printk+0x68/0x6a
       [    3.508770]  [<ffffffff81a981b2>] ? mount_block_root+0x257/0x26e
       [    3.508876]  [<ffffffff81a9821f>] ? mount_root+0x56/0x5a
       [    3.508975]  [<ffffffff81a98393>] ? prepare_namespace+0x170/0x1a9
       [    3.509216]  [<ffffffff81a9772b>] ? kernel_init+0x1d2/0x1e2
       [    3.509335]  [<ffffffff81003894>] ? kernel_thread_helper+0x4/0x10
       [    3.509442]  [<ffffffff814f6880>] ? restore_args+0x0/0x30
       [    3.509542]  [<ffffffff81a97559>] ? kernel_init+0x0/0x1e2
       [    3.509641]  [<ffffffff81003890>] ? kernel_thread_helper+0x0/0x10
      
      after:
      
       [    3.522991] Call Trace:
       [    3.523351]  [<ffffffff814f35b9>] panic+0x91/0x199
       [    3.523468]  [<ffffffff814f3729>] ? printk+0x68/0x6a
       [    3.523576]  [<ffffffff81a981b2>] mount_block_root+0x257/0x26e
       [    3.523681]  [<ffffffff81a9821f>] mount_root+0x56/0x5a
       [    3.523780]  [<ffffffff81a98393>] prepare_namespace+0x170/0x1a9
       [    3.523885]  [<ffffffff81a9772b>] kernel_init+0x1d2/0x1e2
       [    3.523987]  [<ffffffff81003894>] kernel_thread_helper+0x4/0x10
       [    3.524228]  [<ffffffff814f6880>] ? restore_args+0x0/0x30
       [    3.524345]  [<ffffffff81a97559>] ? kernel_init+0x0/0x1e2
       [    3.524445]  [<ffffffff81003890>] ? kernel_thread_helper+0x0/0x10
      
       -v5:
         * fix build breakage with oprofile
      
       -v4:
         * use 0 instead of regs->bp
         * separate out printk changes
      
       -v3:
         * apply comment from Frederic
         * add a couple of printk fixes
      Signed-off-by: NNamhyung Kim <namhyung@gmail.com>
      Acked-by: NPeter Zijlstra <a.p.zijlstra@chello.nl>
      Acked-by: NFrederic Weisbecker <fweisbec@gmail.com>
      Cc: Soren Sandmann <ssp@redhat.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Robert Richter <robert.richter@amd.com>
      LKML-Reference: <1300416006-3163-1-git-send-email-namhyung@gmail.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      e8e999cf
    • I
      x86: Clean up csum-copy_64.S a bit · 2c76397b
      Ingo Molnar 提交于
      The many stray whitespaces and other uncleanlinesses made this code
      almost unreadable to me - so fix those.
      
      No changes to the code.
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      2c76397b
    • L
      x86: Fix common misspellings · 0d2eb44f
      Lucas De Marchi 提交于
      They were generated by 'codespell' and then manually reviewed.
      Signed-off-by: NLucas De Marchi <lucas.demarchi@profusion.mobi>
      Cc: trivial@kernel.org
      LKML-Reference: <1300389856-1099-3-git-send-email-lucas.demarchi@profusion.mobi>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      0d2eb44f
    • L
      x86: Fix misspelling and align params · a6c3270b
      Lucas De Marchi 提交于
      Fix 'upto' misspelling and align parameters.
      Signed-off-by: NLucas De Marchi <lucas.demarchi@profusion.mobi>
      Cc: trivial@kernel.org
      LKML-Reference: <1300389856-1099-2-git-send-email-lucas.demarchi@profusion.mobi>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      a6c3270b
    • I
      Merge branch 'linus' into x86/urgent · 8dd8997d
      Ingo Molnar 提交于
      Merge reason: Merge upstream commits to avoid conflicts in upcoming patches.
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      8dd8997d
    • T
      Merge branch 'topic/misc' into for-linus · d351cf46
      Takashi Iwai 提交于
      d351cf46
    • D
      ALSA: sound/pci/asihpi: check adapter index in hpi_ioctl · 4a122c10
      Dan Rosenberg 提交于
      The user-supplied index into the adapters array needs to be checked, or
      an out-of-bounds kernel pointer could be accessed and used, leading to
      potentially exploitable memory corruption.
      Signed-off-by: NDan Rosenberg <drosenberg@vsecurity.com>
      Cc: <stable@kernel.org>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      4a122c10
    • T
      ALSA: aloop - Fix possible IRQ lock inversion · 98d21df4
      Takashi Iwai 提交于
      loopback_pos_update() can be called in the timer callback, thus the lock
      held should be irq-safe.  Otherwise you'll get AB/BA deadlock together
      with substream->self_group.lock.
      Reported-and-tested-by: NKnut Petersen <Knut_Petersen@t-online.de>
      Cc: <stable@kernel.org>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      98d21df4
    • T
      gpio/langwell: Clear edge bit before handling · 84bead6c
      Thomas Gleixner 提交于
      I don't have the specs for this beast, but it looks a lot like the PXA
      GPIO block. Though I bet it's the same IP and the driver should have
      reused the PXA code.
      
      Acknowleding the edge detect status after handling one or more gpio
      interrupts looks wrong. We might lose an edge which came in while we
      handled the previous one.
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Acked-by: NAlek Du <alek.du@intel.com>
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      84bead6c
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile · 08351fc6
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile: (27 commits)
        arch/tile: support newer binutils assembler shift semantics
        arch/tile: fix deadlock bugs in rwlock implementation
        drivers/edac: provide support for tile architecture
        tile on-chip network driver: sync up with latest fixes
        arch/tile: support 4KB page size as well as 64KB
        arch/tile: add some more VMSPLIT options and use consistent naming
        arch/tile: fix some comments and whitespace
        arch/tile: export some additional module symbols
        arch/tile: enhance existing finv_buffer_remote() routine
        arch/tile: fix two bugs in the backtracer code
        arch/tile: use extended assembly to inline __mb_incoherent()
        arch/tile: use a cleaner technique to enable interrupt for cpu_idle()
        arch/tile: sync up with <arch/sim.h> and <arch/sim_def.h> changes
        arch/tile: fix reversed test of strict_strtol() return value
        arch/tile: avoid a simulator warning during bootup
        arch/tile: export <asm/hardwall.h> to userspace
        arch/tile: warn and retry if an IPI is not accepted by the target cpu
        arch/tile: stop disabling INTCTRL_1 interrupts during hypervisor downcalls
        arch/tile: fix __ndelay etc to work better
        arch/tile: bug fix: exec'ed task thought it was still single-stepping
        ...
      
      Fix up trivial conflict in arch/tile/kernel/vmlinux.lds.S (percpu
      alignment vs section naming convention fix)
      08351fc6