linux/arch/frv/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 kbuild: move asm-offsets.h to include/generated 2009-12-12 13:08:14 +01:00
atomic.h atomic_t: Cast to volatile when accessing atomic variables 2010-05-17 07:57:27 -07:00
auxvec.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
ax88796.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
bitops.h FRV: bitops: Change the bitmap index from int to unsigned long 2009-06-11 09:01:26 -07:00
bitsperlong.h asm-generic: introduce asm/bitsperlong.h 2009-06-11 21:02:14 +02:00
bug.h FRV: Stop gcc from generating uninitialised variable warnings after BUG() 2009-04-27 08:04:49 -07:00
bugs.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
busctl-regs.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
byteorder.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
cache.h FRV: ARCH_KMALLOC_MINALIGN was already defined 2010-05-28 10:17:21 -07:00
cacheflush.h block: add helpers to run flush_dcache_page() against a bio and a request's pages 2009-11-26 09:16:19 +01:00
checksum.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
cpu-irqs.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
cpumask.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
cputime.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
current.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
delay.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
device.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
div64.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
dm9000.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
dma-mapping.h dma-mapping: remove dma_is_consistent API 2010-08-11 08:59:21 -07:00
dma.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
elf.h elf: kill USE_ELF_CORE_DUMP 2009-12-16 07:20:12 -08:00
emergency-restart.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
errno.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
fb.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
fcntl.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
fpu.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
ftrace.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
futex.h futex: Sanitize cmpxchg_futex_value_locked API 2011-03-11 12:23:08 +01:00
gdb-stub.h frv: extend gdbstub to support more features of gdb 2010-05-25 08:07:02 -07:00
gpio-regs.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
hardirq.h FRV: Use asm/generic-hardirq.h 2009-09-23 10:15:21 -07:00
highmem.h mm: stack based kmap_atomic() 2010-10-26 16:52:08 -07:00
hw_irq.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
io.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
ioctl.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
ioctls.h ioctl: Use asm-generic/ioctls.h on frv (enables termiox) 2010-10-22 10:20:00 -07:00
ipcbuf.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
irc-regs.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
irq_regs.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
irq.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
irqflags.h Fix IRQ flag handling naming 2010-10-07 14:08:55 +01:00
Kbuild archs: replace unifdef-y with header-y 2010-08-14 22:26:51 +02:00
kdebug.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
kmap_types.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
linkage.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
local64.h arch: Implement local64_t 2010-06-09 11:12:36 +02:00
local.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
math-emu.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
mb86943a.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
mb93091-fpga-irqs.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
mb93093-fpga-irqs.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
mb93493-irqs.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
mb93493-regs.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
mb-regs.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
mc146818rtc.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
mem-layout.h dma-mapping: rename ARCH_KMALLOC_MINALIGN to ARCH_DMA_MINALIGN 2010-08-11 08:59:21 -07:00
mman.h mm: remove duplicate asm/mman.h files 2009-09-22 07:17:42 -07:00
mmu_context.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
mmu.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
module.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
msgbuf.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
mutex.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
page.h FDPIC: Respect PT_GNU_STACK exec protection markings when creating NOMMU stack 2010-01-06 18:16:02 -08:00
param.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
pci.h pci-dma: add linux/pci-dma.h to linux/pci.h 2010-03-12 15:52:42 -08:00
percpu.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
perf_event.h perf: Do the big rename: Performance Counters -> Performance Events 2009-09-21 14:28:04 +02:00
pgalloc.h mm: Pass virtual address to [__]p{te,ud,md}_free_tlb() 2009-07-27 12:10:38 -07:00
pgtable.h mm: remove pte_*map_nested() 2010-10-26 16:52:08 -07:00
poll.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
posix_types.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
processor.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
ptrace.h ptrace: move user_enable_single_step & co prototypes to linux/ptrace.h 2010-03-12 15:52:38 -08:00
registers.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
resource.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
scatterlist.h remove needless ISA_DMA_THRESHOLD 2010-08-07 18:15:50 +02:00
sections.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
segment.h frv: fix kernel/user segment handling in NOMMU mode 2010-04-07 08:38:05 -07:00
sembuf.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
serial-regs.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
serial.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
setup.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
shmbuf.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
shmparam.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
sigcontext.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
siginfo.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
signal.h FRV: Fix interaction with new generic header stuff 2009-06-13 13:17:28 -07:00
smp.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
socket.h net: Generalize socket rx gap / receive queue overflow cmsg 2009-10-12 13:26:31 -07:00
sockios.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
spinlock.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
spr-regs.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
stat.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
statfs.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
string.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
suspend.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
swab.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
syscall.h FRV: Implement new-style ptrace 2009-06-11 09:01:26 -07:00
system.h Fix IRQ flag handling naming 2010-10-07 14:08:55 +01:00
termbits.h tty: Add EXTPROC support for LINEMODE 2010-08-10 13:47:39 -07:00
termios.h asm-generic: rename termios.h, signal.h and mman.h 2009-06-11 21:01:52 +02:00
thread_info.h add descriptive comment for TIF_MEMDIE task flag declaration. 2010-05-14 11:13:27 +02:00
timer-regs.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
timex.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
tlb.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
tlbflush.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
topology.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
types.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
uaccess.h frv: fix kernel/user segment handling in NOMMU mode 2010-04-07 08:38:05 -07:00
ucontext.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
unaligned.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
unistd.h Add generic sys_ipc wrapper 2010-03-12 15:52:32 -08:00
user.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
vga.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
virtconvert.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
xor.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00