tmp_suning_uos_patched/arch/tile/kernel
Chris Metcalf 34a89d26bd arch/tile: correct double syscall restart for nested signals
This change is modelled on similar fixes for other architectures.
The pt_regs "faultnum" member is set to the trap (fault) number that
caused us to enter the kernel, and is INT_SWINT_1 for the syscall software
interrupt.  We already supported a pseudo value, INT_SWINT_1_SIGRETURN,
that we used for the rt_sigreturn syscall; it avoided the case where
one signal was handled, then we "tail-called" to another handler.

This change avoids the similar case where we start to call one handler,
then are preempted into another handler when we start trying to run
the first handler.  We clear ->faultnum after calling handle_signal(),
and to be paranoid also in the case where there was no signal to deliver.

Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
2010-11-01 15:31:04 -04:00
..
asm-offsets.c
backtrace.c arch/tile: support new info op generated by compiler 2010-10-15 15:39:25 -04:00
compat_signal.c arch/tile: Use <asm-generic/syscalls.h> 2010-10-14 14:34:33 -04:00
compat.c arch/tile: make ptrace() work properly for TILE-Gx COMPAT mode 2010-10-15 15:39:44 -04:00
early_printk.c arch/tile: bomb raw_local_irq_ to arch_local_irq_ 2010-11-01 15:30:42 -04:00
entry.S arch/tile: parameterize system PLs to support KVM port 2010-10-15 15:38:09 -04:00
hardwall.c arch/tile: bomb raw_local_irq_ to arch_local_irq_ 2010-11-01 15:30:42 -04:00
head_32.S arch/tile: parameterize system PLs to support KVM port 2010-10-15 15:38:09 -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
intvec_32.S arch/tile: enable single-step support for TILE-Gx 2010-10-15 15:38:26 -04:00
irq.c arch/tile: bomb raw_local_irq_ to arch_local_irq_ 2010-11-01 15:30:42 -04:00
machine_kexec.c arch/tile: complete migration to new kmap_atomic scheme 2010-11-01 15:30:36 -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: bomb raw_local_irq_ to arch_local_irq_ 2010-11-01 15:30:42 -04:00
module.c arch/tile: Miscellaneous cleanup changes. 2010-07-06 13:41:51 -04:00
pci-dma.c
proc.c arch: tile: kernel/proc.c Removed duplicated #include 2010-08-13 08:10:16 -04:00
process.c arch/tile: parameterize system PLs to support KVM port 2010-10-15 15:38:09 -04:00
ptrace.c ptrace: cleanup arch_ptrace() on tile 2010-10-27 18:03:12 -07:00
reboot.c arch/tile: bomb raw_local_irq_ to arch_local_irq_ 2010-11-01 15:30:42 -04:00
regs_32.S arch/tile: parameterize system PLs to support KVM port 2010-10-15 15:38:09 -04:00
relocate_kernel.S
setup.c arch/tile: bomb raw_local_irq_ to arch_local_irq_ 2010-11-01 15:30:42 -04:00
signal.c arch/tile: correct double syscall restart for nested signals 2010-11-01 15:31:04 -04:00
single_step.c arch/tile: enable single-step support for TILE-Gx 2010-10-15 15:38:26 -04:00
smp.c arch/tile: bomb raw_local_irq_ to arch_local_irq_ 2010-11-01 15:30:42 -04:00
smpboot.c arch/tile: Miscellaneous cleanup changes. 2010-07-06 13:41:51 -04:00
stack.c arch/tile: prevent corrupt top frame from causing backtracer runaway 2010-10-14 15:19:04 -04:00
sys.c arch/tile: Use <asm-generic/syscalls.h> 2010-10-14 14:34:33 -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: bomb raw_local_irq_ to arch_local_irq_ 2010-11-01 15:30:42 -04:00
tlb.c
traps.c arch/tile: enable single-step support for TILE-Gx 2010-10-15 15:38:26 -04:00
vmlinux.lds.S arch/tile: Miscellaneous cleanup changes. 2010-07-06 13:41:51 -04:00