kernel-ark/arch/powerpc/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
..
iseries
8xx_immap.h tree-wide: fix comment/printk typos 2010-11-01 15:38:34 -04:00
8253pit.h
abs_addr.h Merge commit 'gcl/next' into next 2010-08-04 10:26:03 +10:00
agp.h
asm-compat.h powerpc: Emulate most Book I instructions in emulate_step() 2010-06-22 19:40:29 +10:00
asm-offsets.h kbuild: move asm-offsets.h to include/generated 2009-12-12 13:08:14 +01:00
async_tx.h ppc440spe-adma: adds updated ppc440spe adma driver 2009-12-11 21:24:44 -07:00
atomic.h powerpc: Rename LWSYNC_ON_SMP to PPC_RELEASE_BARRIER, ISYNC_ON_SMP to PPC_ACQUIRE_BARRIER 2010-02-17 14:03:15 +11:00
auxvec.h
backlight.h
bitops.h powerpc: Add support for popcnt instructions 2010-11-29 15:48:17 +11:00
bitsperlong.h
bootx.h
btext.h
bug.h panic: Allow warnings to set different taint flags 2010-05-19 08:36:48 +01:00
bugs.h
byteorder.h
cache.h Merge branch 'for-35' of git://repo.or.cz/linux-kbuild 2010-06-01 08:55:52 -07:00
cacheflush.h
cell-pmu.h
cell-regs.h
checksum.h powerpc: Add 64bit csum_and_copy_to_user 2010-09-02 14:07:30 +10:00
clk_interface.h
code-patching.h
compat.h Merge remote branch 'kumar/merge' into next 2010-10-13 16:18:36 +11:00
cpm1.h powerpc/cpm1: Mark micropatch code/data static and __init 2010-07-11 11:04:06 -05:00
cpm2.h
cpm.h powerpc/cpm: Reintroduce global spi_pram struct (fixes build issue) 2010-07-11 11:03:22 -05:00
cputable.h powerpc: Add support for popcnt instructions 2010-11-29 15:48:17 +11:00
cputhreads.h powerpc: Cleanup APIs for cpu/thread/core mappings 2010-11-29 15:48:19 +11:00
cputime.h taskstats: use real microsecond granularity for CPU times 2010-10-27 18:03:17 -07:00
current.h
dbdma.h
dbell.h powerpc/book3e: Resend doorbell exceptions to ourself 2010-07-09 16:11:19 +10:00
dcr-generic.h
dcr-mmio.h
dcr-native.h
dcr-regs.h ppc440spe-adma: adds updated ppc440spe adma driver 2009-12-11 21:24:44 -07:00
dcr.h
delay.h
device.h powerpc/macio: Ensure all dma routines get copied over 2010-11-29 15:48:21 +11:00
disassemble.h
div64.h
dma-mapping.h powerpc/dma: Add optional platform override of dma_set_mask() 2010-09-02 14:07:32 +10:00
dma.h
edac.h
eeh_event.h
eeh.h
elf.h powerpc: Use is_32bit_task() helper to test 32-bit binary 2010-09-02 14:07:32 +10:00
emergency-restart.h
emulated_ops.h
errno.h
exception-64e.h
exception-64s.h powerpc: Account time using timebase rather than PURR 2010-09-02 14:07:31 +10:00
fb.h
fcntl.h
feature-fixups.h powerpc: Ensure the else case of feature sections will fit 2011-01-21 14:08:33 +11:00
firmware.h powerpc: Add VPHN firmware feature 2010-11-29 15:48:22 +11:00
fixmap.h powerpc: reserve fixmap entries for early debug 2009-12-12 22:24:30 -07:00
floppy.h
fs_pd.h
fsl_85xx_cache_sram.h powerpc/85xx: add cache-sram support 2010-10-14 00:54:38 -05:00
fsl_gtm.h
fsl_guts.h powerpc: rename immap_86xx.h to fsl_guts.h, and add 85xx support 2010-08-12 14:00:15 +01:00
fsl_lbc.h P4080/mtd: Fix the freescale lbc issue with 36bit mode 2010-10-25 15:41:04 +01:00
ftrace.h
futex.h futex: Sanitize cmpxchg_futex_value_locked API 2011-03-11 12:23:08 +01:00
gpio.h powerpc/gpio: support gpio_to_irq() 2009-12-10 20:08:15 -06:00
grackle.h
hardirq.h powerpc: Convert global "BAD" interrupt to per cpu spurious 2010-02-17 14:02:49 +11:00
heathrow.h
highmem.h mm: stack based kmap_atomic() 2010-10-26 16:52:08 -07:00
hugetlb.h
hvcall.h powerpc: Add VPHN firmware feature 2010-11-29 15:48:22 +11:00
hvconsole.h
hvcserver.h
hw_breakpoint.h powerpc, hw_breakpoint: Tell generic code we have no instruction breakpoints 2010-06-30 13:54:58 +10:00
hw_irq.h Fix IRQ flag handling naming 2010-10-07 14:08:55 +01:00
hydra.h Update broken web addresses in arch directory. 2010-10-18 11:03:21 +02:00
i8259.h
ibmebus.h
ide.h
immap_cpm2.h
immap_qe.h powerpc: fix warning when compiling immap_qe.h 2011-01-12 18:02:46 -06:00
io-defs.h
io.h
ioctl.h
ioctls.h TTY: Add tty ioctl to figure device node of the system console. 2010-12-16 16:18:28 -08:00
iommu.h
ipcbuf.h
ipic.h
irq_regs.h
irq.h Merge commit 'v2.6.35-rc6' into devicetree/next 2010-07-24 09:49:13 -06:00
irqflags.h powerpc/ppc64/tracing: Add stack frame to calls of trace_hardirqs_on/off 2011-01-21 14:08:33 +11:00
Kbuild archs: replace unifdef-y with header-y 2010-08-14 22:26:51 +02:00
kdebug.h
kdump.h powerpc: Move kdump default base address to 64MB on 64bit 2010-06-15 15:02:32 +10:00
kexec.h powerpc/kexec: make masking/disabling interrupts generic 2010-10-14 00:52:46 -05:00
keylargo.h
kgdb.h kgdb,ppc: Individual register get/set for ppc 2010-10-29 13:14:42 -05:00
kmap_types.h kdb: core for kgdb back end (2 of 2) 2010-05-20 21:04:21 -05:00
kprobes.h
kvm_44x.h
kvm_asm.h KVM: PPC: Implement Level interrupts on Book3S 2010-10-24 10:52:19 +02:00
kvm_book3s_32.h KVM: PPC: Add kvm_book3s_32.h 2010-05-17 12:18:23 +03:00
kvm_book3s_64.h KVM: PPC: Add kvm_book3s_64.h 2010-05-17 12:18:21 +03:00
kvm_book3s_asm.h KVM: PPC: Use KVM_BOOK3S_HANDLER 2010-05-17 12:18:28 +03:00
kvm_book3s.h KVM: PPC: Implement correct SID mapping on Book3s_32 2010-10-24 10:52:15 +02:00
kvm_booke.h KVM: PPC: Improve indirect svcpu accessors 2010-05-17 12:18:26 +03:00
kvm_e500.h KVM: PPC E500: fix tlbcfg emulation 2010-03-01 12:36:06 -03:00
kvm_fpu.h powerpc: Remove fpscr use from [kvm_]cvt_{fd,df} 2010-09-02 14:07:32 +10:00
kvm_host.h KVM: PPC: Add book3s_32 tlbie flush acceleration 2010-10-24 10:50:58 +02:00
kvm_para.h KVM: PPC: Move of include to __KERNEL__ section 2010-10-24 10:52:23 +02:00
kvm_ppc.h KVM: PPC: Implement hypervisor interface 2010-10-24 10:50:45 +02:00
kvm.h KVM: PPC: Implement Level interrupts on Book3S 2010-10-24 10:52:19 +02:00
libata-portmap.h
linkage.h
local64.h arch: Implement local64_t 2010-06-09 11:12:36 +02:00
local.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu 2010-03-03 07:34:18 -08:00
lppaca.h powerpc/pseries: Poll VPA for topology changes and update NUMA maps 2010-12-09 15:36:29 +11:00
lv1call.h
machdep.h powerpc/kexec: Restore ppc_md.machine_kexec 2011-03-02 14:56:48 +11:00
macio.h of/device: Replace of_device with platform_device in includes and core code 2010-07-24 09:58:21 -06:00
mc146818rtc.h
mediabay.h
memblock.h memblock: Introduce default allocation limit and use it to replace explicit ones 2010-08-05 12:56:07 +10:00
mman.h
mmu_context.h PPC: Split context init/destroy functions 2010-05-17 12:18:20 +03:00
mmu-8xx.h
mmu-40x.h
mmu-44x.h powerpc/47x: Base ppc476 support 2010-05-05 09:11:10 -04:00
mmu-book3e.h powerpc/book3e: Protect complex macro args in mmu-book3e.h 2011-02-07 12:47:56 +11:00
mmu-hash32.h
mmu-hash64.h powerpc/mm: Fix vsid_scrample typo 2010-08-24 15:26:27 +10:00
mmu.h memblock: Remove rmo_size, burry it in arch/powerpc where it belongs 2010-08-05 12:56:08 +10:00
mmzone.h powerpc: Add memory_hotplug_max() 2010-11-29 15:48:21 +11:00
module.h module: handle ppc64 relocating kcrctabs when CONFIG_RELOCATABLE=y 2009-12-15 16:28:34 +10:30
mpc5xxx.h
mpc6xx.h
mpc8xx.h
mpc52xx_psc.h powerpc/5200: add mpc5200_psc_ac97_gpio_reset 2010-08-06 20:49:18 -06:00
mpc52xx.h powerpc/5200: add mpc5200_psc_ac97_gpio_reset 2010-08-06 20:49:18 -06:00
mpc5121.h powerpc/5121: shared DIU framebuffer support 2010-08-01 17:06:44 -06:00
mpc8260.h
mpic.h powerpc/cpumask: Convert mpic driver to new cpumask API 2010-05-06 18:01:46 +10:00
msgbuf.h
msi_bitmap.h
mutex.h powerpc: Rename LWSYNC_ON_SMP to PPC_RELEASE_BARRIER, ISYNC_ON_SMP to PPC_ACQUIRE_BARRIER 2010-02-17 14:03:15 +11:00
nvram.h powerpc/nvram: Move the log partition stuff to pseries 2010-11-30 15:37:45 +11:00
ohare.h
oprofile_impl.h
paca.h Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2010-10-21 21:19:54 -07:00
page_32.h dma-mapping: rename ARCH_KMALLOC_MINALIGN to ARCH_DMA_MINALIGN 2010-08-11 08:59:21 -07:00
page_64.h powerpc: Use is_32bit_task() helper to test 32-bit binary 2010-09-02 14:07:32 +10:00
page.h powerpc: Fix pfn_valid() when memory starts at a non-zero address 2011-02-07 12:47:56 +11:00
param.h powerpc: Simplify param.h by including <asm-generic/param.h> 2010-02-03 17:39:48 +11:00
parport.h powerpc: Correct parport interrupt parsing 2010-05-06 16:49:26 +10:00
pasemi_dma.h
pci-bridge.h of/address: merge of_address_to_resource() 2010-07-05 16:14:26 -06:00
pci.h pci-dma: add linux/pci-dma.h to linux/pci.h 2010-03-12 15:52:42 -08:00
percpu.h powerpc: Optimise per cpu accesses on 64bit 2010-07-09 11:28:30 +10:00
perf_event_fsl_emb.h powerpc/perf: e500 support 2010-03-05 03:04:08 -06:00
perf_event_server.h powerpc/perf: e500 support 2010-03-05 03:04:08 -06:00
perf_event.h perf: Drop the skip argument from perf_arch_fetch_regs_caller 2010-06-08 23:31:27 +02:00
pgalloc-32.h
pgalloc-64.h powerpc/mm: Track backing pages allocated by vmemmap_populate() 2010-05-06 16:49:27 +10:00
pgalloc.h
pgtable-ppc32.h mm: remove pte_*map_nested() 2010-10-26 16:52:08 -07:00
pgtable-ppc64-4k.h
pgtable-ppc64-64k.h
pgtable-ppc64.h mm: remove pte_*map_nested() 2010-10-26 16:52:08 -07:00
pgtable.h MM: Pass a PTE pointer to update_mmu_cache() rather than the PTE itself 2010-02-20 16:41:46 +00:00
phyp_dump.h
pmac_feature.h powerpc: Convert feature_lock to raw_spinlock 2010-02-19 14:52:32 +11:00
pmac_low_i2c.h
pmac_pfunc.h
pmc.h
pmi.h
poll.h
posix_types.h
ppc4xx.h
ppc_asm.h powerpc: Account time using timebase rather than PURR 2010-09-02 14:07:31 +10:00
ppc-opcode.h powerpc: Hardcode popcnt instructions for old assemblers 2010-12-09 15:35:30 +11:00
ppc-pci.h powerpc/pci: Fix return type of BUID_{HI,LO} macros 2010-10-13 16:19:20 +11:00
processor.h powerpc: Removing undead ifdef __KERNEL__ 2010-11-29 15:48:18 +11:00
prom.h of/address: use proper endianess in get_flags 2010-12-23 15:57:48 -07:00
ps3.h
ps3av.h
ps3fb.h
ps3gpu.h
ps3stor.h
pSeries_reconfig.h
pte-8xx.h
pte-40x.h
pte-44x.h
pte-book3e.h
pte-common.h powerpc: Fix invalid page flags in create TLB CAM path for PTE_64BIT 2010-10-14 00:52:55 -05:00
pte-fsl-booke.h
pte-hash32.h
pte-hash64-4k.h
pte-hash64-64k.h
pte-hash64.h
ptrace.h powerpc: Fix userspace build of ptrace.h 2010-07-08 18:11:46 +10:00
qe_ic.h
qe.h
reg_8xx.h
reg_booke.h powerpc/85xx: add e500 HID1 bit definition 2011-01-12 18:00:29 -06:00
reg_fsl_emb.h powerpc/perf: e500 support 2010-03-05 03:04:08 -06:00
reg.h powerpc/85xx: add e500 HID1 bit definition 2011-01-12 18:00:29 -06:00
resource.h
rheap.h
rio.h
rtas.h powerpc/pseries: Export rtas_ibm_suspend_me() 2010-10-13 16:19:02 +11:00
rtc.h
rwsem.h powerpc: Make rwsem use "long" type 2010-08-24 14:41:48 +10:00
scatterlist.h remove needless ISA_DMA_THRESHOLD 2010-08-07 18:15:50 +02:00
seccomp.h
sections.h
sembuf.h
serial.h
setjmp.h
setup.h
sfp-machine.h Revert "endian: #define __BYTE_ORDER" 2010-05-26 08:30:15 -07:00
shmbuf.h
shmparam.h
sigcontext.h
siginfo.h
signal.h
smp.h powerpc/cpumask: Dynamically allocate cpu_sibling_map and cpu_core_map cpumasks 2010-05-06 17:41:56 +10:00
smu.h of: kill struct of_device 2010-06-28 12:41:33 -07:00
socket.h
sockios.h
sparsemem.h Revert "powerpc/mm: Bump SECTION_SIZE_BITS from 16MB to 256MB" 2010-04-13 13:54:39 +10:00
spinlock_types.h locking: Convert raw_rwlock to arch_rwlock 2009-12-14 23:55:32 +01:00
spinlock.h powerpc: Rename LWSYNC_ON_SMP to PPC_RELEASE_BARRIER, ISYNC_ON_SMP to PPC_ACQUIRE_BARRIER 2010-02-17 14:03:15 +11:00
spu_csa.h
spu_info.h
spu_priv1.h
spu.h powerpc/kdump: Move crash_kexec_stop_spus to kdump crash handler 2011-01-21 14:08:36 +11:00
sstep.h
stat.h
statfs.h
string.h
suspend.h
swab.h
swiotlb.h
synch.h powerpc: Use lwsync for acquire barrier if CPU supports it 2010-02-17 14:03:16 +11:00
syscall.h powerpc: Use correct ccr bit for syscall error status 2010-03-19 16:38:16 +11:00
syscalls.h improve sys_newuname() for compat architectures 2010-03-12 15:52:32 -08:00
systbl.h powerpc: Wire up direct socket system calls 2010-09-02 14:07:34 +10:00
system.h Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2010-10-21 21:19:54 -07:00
tce.h
termbits.h tty: Add EXTPROC support for LINEMODE 2010-08-10 13:47:39 -07:00
termios.h
thread_info.h add descriptive comment for TIF_MEMDIE task flag declaration. 2010-05-14 11:13:27 +02:00
time.h powerpc: Account time using timebase rather than PURR 2010-09-02 14:07:31 +10:00
timex.h
tlb.h
tlbflush.h
topology.h powerpc/pseries: Fix build of topology stuff without CONFIG_NUMA 2011-01-12 10:56:29 +11:00
trace.h
tsi108_irq.h
tsi108_pci.h
tsi108.h
types.h
uaccess.h
ucc_fast.h
ucc_slow.h
ucc.h
ucontext.h
udbg.h powerpc: gamecube/wii: early debugging using usbgecko 2009-12-12 22:24:31 -07:00
uic.h
unaligned.h
uninorth.h
unistd.h powerpc: Wire up direct socket system calls 2010-09-02 14:07:34 +10:00
user.h
vdso_datapage.h powerpc: Removing undead ifdef __KERNEL__ 2010-11-29 15:48:18 +11:00
vdso.h
vga.h
vio.h
xilinx_intc.h
xilinx_pci.h
xmon.h
xor.h