linux/arch/tile/include/asm
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
..
asm-offsets.h
atomic.h
atomic_32.h arch/tile: Various cleanups. 2010-08-13 08:52:19 -04:00
auxvec.h
backtrace.h arch/tile: support new info op generated by compiler 2010-10-15 15:39:25 -04:00
bitops.h bitops: make asm-generic/bitops/find.h more generic 2010-10-09 21:51:44 +02:00
bitops_32.h
bitsperlong.h
bug.h
bugs.h
byteorder.h
cache.h arch/tile: rename ARCH_KMALLOC_MINALIGN to ARCH_DMA_MINALIGN 2010-08-15 11:05:33 -04:00
cacheflush.h drivers/net/tile/: on-chip network drivers for the tile architecture 2010-11-24 13:11:18 -05:00
checksum.h
compat.h arch/tile: Use <asm-generic/syscalls.h> 2010-10-14 14:34:33 -04:00
cputime.h
current.h
delay.h
device.h
div64.h
dma-mapping.h dma-mapping: remove dma_is_consistent API 2010-08-11 08:59:21 -07:00
dma.h
elf.h arch/tile: Miscellaneous cleanup changes. 2010-07-06 13:41:51 -04:00
emergency-restart.h
errno.h
fcntl.h
fixmap.h
ftrace.h
futex.h futex: Sanitize cmpxchg_futex_value_locked API 2011-03-11 12:23:08 +01:00
hardirq.h
hardwall.h arch/tile: Add driver to enable access to the user dynamic network. 2010-07-06 13:34:15 -04:00
highmem.h arch/tile: complete migration to new kmap_atomic scheme 2010-11-01 15:30:36 -04:00
homecache.h
hugetlb.h
hv_driver.h
hw_irq.h
ide.h
io.h pci root complex: support for tile architecture 2010-11-24 13:13:49 -05:00
ioctl.h
ioctls.h
ipc.h
ipcbuf.h
irq.h arch/tile: Enable more sophisticated IRQ model for 32-bit chips. 2010-07-06 13:34:01 -04:00
irq_regs.h
irqflags.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile 2010-10-26 17:25:38 -07:00
Kbuild
kdebug.h
kexec.h
kmap_types.h arch/tile: complete migration to new kmap_atomic scheme 2010-11-01 15:30:36 -04:00
linkage.h
local.h
memprof.h
mman.h arch/tile: provide a definition of MAP_STACK 2010-10-14 15:09:02 -04:00
mmu.h
mmu_context.h
mmzone.h
module.h
msgbuf.h
mutex.h
opcode-tile.h
opcode-tile_32.h arch/tile: Shrink the tile-opcode files considerably. 2010-07-06 13:40:56 -04:00
opcode-tile_64.h arch/tile: Shrink the tile-opcode files considerably. 2010-07-06 13:40:56 -04:00
opcode_constants.h
opcode_constants_32.h
opcode_constants_64.h
page.h arch/tile: parameterize system PLs to support KVM port 2010-10-15 15:38:09 -04:00
param.h
pci.h pci root complex: support for tile architecture 2010-11-24 13:13:49 -05:00
percpu.h
pgalloc.h
pgtable.h arch/tile: complete migration to new kmap_atomic scheme 2010-11-01 15:30:36 -04:00
pgtable_32.h arch/tile: Miscellaneous cleanup changes. 2010-07-06 13:41:51 -04:00
poll.h
posix_types.h
processor.h drivers/net/tile/: on-chip network drivers for the tile architecture 2010-11-24 13:11:18 -05:00
ptrace.h arch/tile: parameterize system PLs to support KVM port 2010-10-15 15:38:09 -04:00
resource.h
scatterlist.h tile: remove unused ISA_DMA_THRESHOLD define 2010-08-11 10:38:06 -04:00
sections.h arch/tile: Miscellaneous cleanup changes. 2010-07-06 13:41:51 -04:00
sembuf.h
setup.h arch/tile: export only COMMAND_LINE_SIZE to userspace. 2010-08-15 12:14:41 -04:00
shmbuf.h
shmparam.h
sigcontext.h arch/tile: Change struct sigcontext to be more useful 2010-09-15 11:16:08 -04:00
sigframe.h
siginfo.h arch/tile: Fix a couple of issues with the COMPAT code for TILE-Gx. 2010-08-13 08:32:21 -04:00
signal.h arch/tile: handle rt_sigreturn() more cleanly 2010-12-17 16:59:29 -05:00
smp.h arch/tile: Enable more sophisticated IRQ model for 32-bit chips. 2010-07-06 13:34:01 -04:00
socket.h
sockios.h
spinlock.h
spinlock_32.h arch/tile: Miscellaneous cleanup changes. 2010-07-06 13:41:51 -04:00
spinlock_types.h
stack.h arch/tile: Miscellaneous cleanup changes. 2010-07-06 13:41:51 -04:00
stat.h asm-generic/stat.h: support 64-bit file time_t for stat() 2010-11-01 15:31:29 -04:00
statfs.h
string.h
swab.h
syscall.h
syscalls.h arch/tile: Use <asm-generic/syscalls.h> 2010-10-14 14:34:33 -04:00
system.h arch/tile: parameterize system PLs to support KVM port 2010-10-15 15:38:09 -04:00
termbits.h
termios.h
thread_info.h arch/tile: catch up on various minor cleanups. 2010-07-06 13:42:15 -04:00
timex.h
tlb.h
tlbflush.h
topology.h
traps.h arch/tile: enable single-step support for TILE-Gx 2010-10-15 15:38:26 -04:00
types.h
uaccess.h arch/tile: Various cleanups. 2010-08-13 08:52:19 -04:00
ucontext.h
unaligned.h
unistd.h asm-generic/stat.h: support 64-bit file time_t for stat() 2010-11-01 15:31:29 -04:00
user.h
xor.h