linux/arch/sh
Michel Lespinasse 37a9d912b2 futex: Sanitize cmpxchg_futex_value_locked API
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: Michel Lespinasse <walken@google.com>
Acked-by: Chris Metcalf <cmetcalf@tilera.com>  [tile]
Acked-by: Tony Luck <tony.luck@intel.com>  [ia64]
Acked-by: Thomas 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: Thomas Gleixner <tglx@linutronix.de>
2011-03-11 12:23:08 +01:00
..
boards sh: fix MSIOF0 SPI on ecovec: it conflicts with VOU 2011-01-18 13:53:52 +09:00
boot sh: support XZ-compressed kernel. 2011-01-14 15:52:54 +09:00
cchips sh: hd64461: irq_data conversion. 2010-10-27 15:18:15 +09:00
configs Merge branch 'sh/alphaproject' into sh-latest 2011-01-13 18:38:28 +09:00
drivers Merge branches 'sh/memchunk' and 'common/mmcif' into sh-latest 2011-01-11 13:05:15 +09:00
include futex: Sanitize cmpxchg_futex_value_locked API 2011-03-11 12:23:08 +01:00
kernel sh: sh7750: Fix incompatible pointer type 2011-02-01 19:33:55 +09:00
lib sh: Ensure ST40-300 BogoMIPS value is consistent 2011-02-15 16:24:05 +09:00
lib64 sh64: Kill off special clear_page() implementation. 2009-08-04 17:17:00 +09:00
math-emu sh: wire up perf alignment and emulation faults. 2010-10-13 06:55:26 +09:00
mm sh: Flush executable pages in copy_user_highpage 2011-02-15 16:24:31 +09:00
oprofile sh: oprofile: Make sure the backtrace op is available for timer-fallback. 2010-10-27 17:03:50 +09:00
tools sh: Add support for AP-SH4AD-0A board. 2011-01-13 18:36:21 +09:00
Kconfig Merge branch 'sh-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 2011-01-26 09:00:17 +10:00
Kconfig.cpu sh: Turn on speculative return for SH7785 and SH7786 2010-02-18 18:54:18 +09:00
Kconfig.debug sh: Remove old early serial console code V2 2009-12-15 12:07:35 +09:00
Makefile sh: support XZ-compressed kernel. 2011-01-14 15:52:54 +09:00