1. 15 3月, 2011 2 次提交
  2. 12 3月, 2011 1 次提交
  3. 11 3月, 2011 5 次提交
    • M
      futex: Sanitize futex ops argument types · 8d7718aa
      Michel Lespinasse 提交于
      Change futex_atomic_op_inuser and futex_atomic_cmpxchg_inatomic
      prototypes to use u32 types for the futex as this is the data type the
      futex core code uses all over the place.
      Signed-off-by: NMichel Lespinasse <walken@google.com>
      Cc: Darren Hart <darren@dvhart.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Matt Turner <mattst88@gmail.com>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: David Howells <dhowells@redhat.com>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: Michal Simek <monstr@monstr.eu>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: "James E.J. Bottomley" <jejb@parisc-linux.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: Paul Mundt <lethal@linux-sh.org>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Chris Metcalf <cmetcalf@tilera.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      LKML-Reference: <20110311025058.GD26122@google.com>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      8d7718aa
    • M
      futex: Sanitize cmpxchg_futex_value_locked API · 37a9d912
      Michel Lespinasse 提交于
      The cmpxchg_futex_value_locked API was funny in that it returned either
      the original, user-exposed futex value OR an error code such as -EFAULT.
      This was confusing at best, and could be a source of livelocks in places
      that retry the cmpxchg_futex_value_locked after trying to fix the issue
      by running fault_in_user_writeable().
          
      This change makes the cmpxchg_futex_value_locked API more similar to the
      get_futex_value_locked one, returning an error code and updating the
      original value through a reference argument.
      Signed-off-by: NMichel Lespinasse <walken@google.com>
      Acked-by: Chris Metcalf <cmetcalf@tilera.com>  [tile]
      Acked-by: Tony Luck <tony.luck@intel.com>  [ia64]
      Acked-by: NThomas Gleixner <tglx@linutronix.de>
      Tested-by: Michal Simek <monstr@monstr.eu>  [microblaze]
      Acked-by: David Howells <dhowells@redhat.com> [frv]
      Cc: Darren Hart <darren@dvhart.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Matt Turner <mattst88@gmail.com>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: "James E.J. Bottomley" <jejb@parisc-linux.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: Paul Mundt <lethal@linux-sh.org>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      LKML-Reference: <20110311024851.GC26122@google.com>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      37a9d912
    • M
      futex: Remove redundant pagefault_disable in futex_atomic_cmpxchg_inatomic() · 522d7dec
      Michel Lespinasse 提交于
      kernel/futex.c disables page faults before calling
      futex_atomic_cmpxchg_inatomic(), so there is no need to do it again
      within that function.
      Signed-off-by: NMichel Lespinasse <walken@google.com>
      Cc: Darren Hart <darren@dvhart.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Matt Turner <mattst88@gmail.com>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: David Howells <dhowells@redhat.com>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: Michal Simek <monstr@monstr.eu>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: "James E.J. Bottomley" <jejb@parisc-linux.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: Paul Mundt <lethal@linux-sh.org>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Chris Metcalf <cmetcalf@tilera.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      LKML-Reference: <20110311024731.GB26122@google.com>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      522d7dec
    • D
      ARM: 6781/1: Thumb-2: Work around buggy Thumb-2 short branch relocations in gas · 6f685c5c
      Dave Martin 提交于
      Various binutils versions can resolve Thumb-2 branches to
      locally-defined, preemptible global symbols as short-range "b.n"
      branch instructions.
      
      This is a problem, because there's no guarantee the final
      destination of the symbol, or any candidate locations for a
      trampoline, are within range of the branch.  For this reason, the
      kernel does not support fixing up the R_ARM_THM_JUMP11 (102)
      relocation in modules at all, and it makes little sense to add
      support.
      
      The symptom is that the kernel fails with an "unsupported
      relocation" error when loading some modules.
      
      Until fixed tools are available, passing
      -fno-optimize-sibling-calls to gcc should prevent gcc generating
      code which hits this problem, at the cost of a bit of extra runtime
      stack usage in some cases.
      
      The problem is described in more detail at:
          https://bugs.launchpad.net/binutils-linaro/+bug/725126
      
      Only Thumb-2 kernels are affected.
      
      This patch adds a new CONFIG_THUMB2_AVOID_R_ARM_THM_JUMP11 config
      option which adds -fno-optimize-sibling-calls to CFLAGS_MODULE
      when building a Thumb-2 kernel.
      Signed-off-by: NDave Martin <dave.martin@linaro.org>
      Acked-by: NNicolas Pitre <nicolas.pitre@linaro.org>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      6f685c5c
    • N
      ARM: 6747/1: P2V: Thumb2 support · b511d75d
      Nicolas Pitre 提交于
      Adding Thumb2 support to the runtime patching of the virt_to_phys and
      phys_to_virt opcodes.
      
      Tested both the 8-bit and the 16-bit fixups, using different placements
      in memory to exercize all code paths.
      Signed-off-by: NNicolas Pitre <nicolas.pitre@linaro.org>
      Reviewed-by: NDave Martin <dave.martin@linaro.org>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      b511d75d
  4. 10 3月, 2011 5 次提交
  5. 09 3月, 2011 19 次提交
  6. 08 3月, 2011 3 次提交
  7. 06 3月, 2011 1 次提交
  8. 04 3月, 2011 4 次提交