linux-uconsole/arch/tile/kernel
Chris Metcalf 108d7726b7 arch/tile: handle CLONE_SETTLS in copy_thread(), not user space
commit bc4cf2bb27 upstream.

Previously we were just setting up the "tp" register in the
new task as started by clone() in libc.  However, this is not
quite right, since in principle a signal might be delivered to
the new task before it had its TLS set up.  (Of course, this race
window still exists for resetting the libc getpid() cached value
in the new task, in principle.  But in any case, we are now doing
this exactly the way all other architectures do it.)

This change is important for 2.6.37 since the tile glibc we will
be submitting upstream will not set TLS in user space any more,
so it will only work on a kernel that has this fix.  It should
also be taken for 2.6.36.x in the stable tree if possible.

Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-01-07 13:58:33 -08:00
..
asm-offsets.c arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
backtrace.c arch/tile: support backtracing on TILE-Gx 2010-08-13 08:40:57 -04:00
compat.c arch/tile: Miscellaneous cleanup changes. 2010-07-06 13:41:51 -04:00
compat_signal.c arch/tile: Fix a couple of issues with the COMPAT code for TILE-Gx. 2010-08-13 08:32:21 -04:00
early_printk.c arch/tile: Miscellaneous cleanup changes. 2010-07-06 13:41:51 -04:00
entry.S arch/tile: Miscellaneous cleanup changes. 2010-07-06 13:41:51 -04:00
hardwall.c arch/tile: check kmalloc() result 2010-07-16 13:37:14 -04:00
head_32.S arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
hvglue.lds arch/tile: Enable more sophisticated IRQ model for 32-bit chips. 2010-07-06 13:34:01 -04:00
init_task.c arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
intvec_32.S arch/tile: remove dead code from intvec_32.S 2010-09-24 17:19:20 -04:00
irq.c arch/tile: Enable more sophisticated IRQ model for 32-bit chips. 2010-07-06 13:34:01 -04:00
machine_kexec.c arch/tile: Miscellaneous cleanup changes. 2010-07-06 13:41:51 -04:00
Makefile arch/tile: Add driver to enable access to the user dynamic network. 2010-07-06 13:34:15 -04:00
messaging.c arch/tile: Miscellaneous cleanup changes. 2010-07-06 13:41:51 -04:00
module.c arch/tile: Miscellaneous cleanup changes. 2010-07-06 13:41:51 -04:00
pci-dma.c arch/tile: Do not use GFP_KERNEL for dma_alloc_coherent(). 2010-06-05 10:26:55 -04:00
proc.c arch: tile: kernel/proc.c Removed duplicated #include 2010-08-13 08:10:16 -04:00
process.c arch/tile: handle CLONE_SETTLS in copy_thread(), not user space 2011-01-07 13:58:33 -08:00
ptrace.c arch/tile: avoid erroneous error return for PTRACE_POKEUSR. 2010-07-06 13:42:10 -04:00
reboot.c arch/tile: Miscellaneous cleanup changes. 2010-07-06 13:41:51 -04:00
regs_32.S arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
relocate_kernel.S arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
setup.c arch/tile: correct a bug in freeing bootmem by VA for the optional second initrd. 2010-08-13 08:23:07 -04:00
signal.c arch/tile: Change struct sigcontext to be more useful 2010-09-15 11:16:08 -04:00
single_step.c arch/tile: Miscellaneous cleanup changes. 2010-07-06 13:41:51 -04:00
smp.c arch/tile: Enable more sophisticated IRQ model for 32-bit chips. 2010-07-06 13:34:01 -04:00
smpboot.c arch/tile: Miscellaneous cleanup changes. 2010-07-06 13:41:51 -04:00
stack.c arch/tile: Change struct sigcontext to be more useful 2010-09-15 11:16:08 -04:00
sys.c arch/tile: Miscellaneous cleanup changes. 2010-07-06 13:41:51 -04:00
tile-desc_32.c arch/tile: Shrink the tile-opcode files considerably. 2010-07-06 13:40:56 -04:00
time.c arch/tile: Use separate, better minsec values for clocksource and sched_clock. 2010-08-13 08:24:22 -04:00
tlb.c arch/tile: core support for Tilera 32-bit chips. 2010-06-04 17:11:18 -04:00
traps.c arch/tile: support backtracing on TILE-Gx 2010-08-13 08:40:57 -04:00
vmlinux.lds.S arch/tile: Miscellaneous cleanup changes. 2010-07-06 13:41:51 -04:00