linux/arch/mips
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
..
alchemy Merge branch 'master' into for-next 2010-12-22 18:57:02 +01:00
ar7 MIPS: AR7: Fix loops per jiffies on TNETD7200 devices 2010-12-16 18:10:56 +00:00
ath79 MIPS: ath79: add common WMAC device for AR913X based boards 2011-01-18 19:30:28 +01:00
bcm47xx MIPS: BCM47xx: Swap serial console if ttyS1 was specified. 2010-12-16 18:11:00 +00:00
bcm63xx MIPS: Decouple BMIPS CPU support from bcm47xx/bcm63xx SoC code 2010-10-29 19:08:50 +01:00
boot Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/upstream-linus 2010-10-18 13:10:36 -07:00
cavium-octeon MIPS: Add platform device and Kconfig for Octeon USB EHCI / OHCI 2010-10-29 19:08:45 +01:00
cobalt MIPS: Move Cobalt Makefile parts to their own Platform file 2010-08-05 13:25:47 +01:00
configs kconfig: rename CONFIG_EMBEDDED to CONFIG_EXPERT 2011-01-20 17:02:05 -08:00
dec set_rtc_mmss: show warning message only once 2011-01-13 08:03:07 -08:00
emma MIPS: Ritually kill stupid printk. 2010-08-05 13:26:27 +01:00
fw
include/asm futex: Sanitize cmpxchg_futex_value_locked API 2011-03-11 12:23:08 +01:00
jazz MIPS: Add missing #inclusions of <linux/irq.h> 2010-10-07 14:08:54 +01:00
jz4740 Merge branch 'master' into for-next 2010-12-22 18:57:02 +01:00
kernel Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/upstream-linus 2011-01-18 14:28:48 -08:00
lasat MIPS: Lasat: Migrate to new platform makefile style. 2010-08-05 13:25:53 +01:00
lib MIPS: Separate two consecutive loads in memset.S 2010-12-16 18:10:57 +00:00
loongson Merge branch 'master' into for-next 2010-12-22 18:57:02 +01:00
math-emu MIPS: Send proper signal and siginfo on FP emulator faults. 2010-12-16 18:10:57 +00:00
mipssim MIPS: MIPSsim: Migrate to new Platform file 2010-08-05 13:25:45 +01:00
mm MIPS: Use WARN() in uasm for better diagnostics. 2011-01-18 19:30:24 +01:00
mti-malta tree-wide: fix comment/printk typos 2010-11-01 15:38:34 -04:00
nxp/pnx8550/common MIPS: PNX8550: Move code one directory level up. 2010-08-05 13:25:56 +01:00
oprofile MIPS: Oprofile: Fixup of loongson2_exit() 2010-07-05 17:17:31 +01:00
pci tree-wide: fix comment/printk typos 2010-11-01 15:38:34 -04:00
pmc-sierra MIPS: LD/SD o32 macro GAS fix update 2010-12-16 18:11:01 +00:00
pnx833x MIPS: Fix gen_nand probe structures contents 2010-08-12 12:22:49 +01:00
pnx8550 MIPS: PNX8550: Sort out machine halt, restart and powerdown functions. 2010-10-04 18:33:57 +01:00
power
powertv tree-wide: fix comment/printk typos 2010-11-01 15:38:34 -04:00
rb532 MIPS: Add missing #inclusions of <linux/irq.h> 2010-10-07 14:08:54 +01:00
sgi-ip22 MIPS: IP22, IP28: Migrate to new platform makefile style. 2010-08-05 13:25:49 +01:00
sgi-ip27 MIPS: IP27: Migrate to new Platform file 2010-08-05 13:25:47 +01:00
sgi-ip32 MIPS: IP32: Migrate to new platform makefile style. 2010-08-05 13:25:50 +01:00
sibyte MIPS: Sibyte: Use vzalloc in sbbus profiler 2011-01-18 19:30:21 +01:00
sni MIPS: Add missing #inclusions of <linux/irq.h> 2010-10-07 14:08:54 +01:00
txx9 MIPS: Use printf extension %pR for struct resource 2011-01-18 19:30:21 +01:00
vr41xx MIPS: Add missing #inclusions of <linux/irq.h> 2010-10-07 14:08:54 +01:00
wrppmc MIPS: WRPPMC: Migrate to new platform makefile style. 2010-08-05 13:25:51 +01:00
Kbuild MIPS: Repair Kbuild make clean breakage. 2010-10-19 18:32:39 +01:00
Kbuild.platforms MIPS: Add initial support for the Atheros AR71XX/AR724X/AR931X SoCs 2011-01-18 19:30:24 +01:00
Kconfig genirq: Remove __do_IRQ 2011-01-21 11:55:31 +01:00
Kconfig.debug kconfig: rename CONFIG_EMBEDDED to CONFIG_EXPERT 2011-01-20 17:02:05 -08:00
Makefile MIPS: Octeon: Apply CN63XXP1 errata workarounds. 2010-10-29 19:08:43 +01:00