linux/arch/sparc64/kernel
David S. Miller 2678fefedb sparc64: Fix syscall restart, for real...
The change I put into copy_thread() just papered over the real
problem.

When we are looking to see if we should do a syscall restart, when
deliverying a signal, we should only interpret the syscall return
value as an error if the carry condition code(s) are set.

Otherwise it's a success return.

Also, sigreturn paths should do a pt_regs_clear_trap_type().

It turns out that doing a syscall restart when returning from a fork()
does and should happen, from time to time.  Even if copy_thread()
returns success, copy_process() can still unwind and signal
-ERESTARTNOINTR in the parent.

Signed-off-by: David S. Miller <davem@davemloft.net>
2008-05-02 05:22:52 -07:00
..
asm-offsets.c
audit.c sparc64: Kill CONFIG_SPARC32_COMPAT 2008-04-26 21:41:19 -07:00
auxio.c
central.c
cherrs.S sparc64: Split entry.S up into seperate files. 2008-04-28 00:47:20 -07:00
chmc.c [SPARC64]: Fix memory controller register access when non-SMP. 2007-12-07 01:10:14 -08:00
compat_audit.c
cpu.c [SPARC64]: Fix sparse warnings in arch/sparc64/kernel/{cpu,setup}.c 2008-03-25 21:51:40 -07:00
ds.c [SPARC64]: Use shorter list_splice_init() for brevity. 2008-03-23 22:48:29 -07:00
dtlb_miss.S
dtlb_prot.S
ebus.c [SPARC64]: NUMA device infrastructure. 2008-04-23 23:32:16 -07:00
entry.h [SPARC64]: %l6 trap return handling no longer necessary. 2008-04-24 03:15:22 -07:00
etrap.S [SPARC64]: Store magic cookie and trap type in pt_regs. 2008-04-23 23:32:20 -07:00
fpu_traps.S sparc64: Split entry.S up into seperate files. 2008-04-28 00:47:20 -07:00
getsetcc.S sparc64: Split entry.S up into seperate files. 2008-04-28 00:47:20 -07:00
head.S sparc64: Split entry.S up into seperate files. 2008-04-28 00:47:20 -07:00
helpers.S sparc64: Split entry.S up into seperate files. 2008-04-28 00:47:20 -07:00
hvapi.c
hvcalls.S sparc64: Split entry.S up into seperate files. 2008-04-28 00:47:20 -07:00
hvtramp.S [SPARC64]: Fix cpu trampoline et al. mismatch warnings. 2008-02-20 22:22:16 -08:00
idprom.c
init_task.c
iommu_common.h sparc64: remove unused calc_npages() in iommu_common.h 2008-03-28 15:56:01 -07:00
iommu.c [SPARC64]: NUMA device infrastructure. 2008-04-23 23:32:16 -07:00
irq.c sparc64: Fix wedged irq regression. 2008-04-26 21:41:15 -07:00
itlb_miss.S
ivec.S sparc64: Split entry.S up into seperate files. 2008-04-28 00:47:20 -07:00
kgdb.c sparc: Add kgdb support. 2008-04-29 02:38:50 -07:00
kprobes.c [SPARC64]: Fix sparse warnings wrt. __show_regs(). 2008-02-19 20:48:58 -08:00
ktlb.S [SPARC64]: Fix build with SPARSEMEM_VMEMMAP disabled. 2008-01-12 21:52:16 -08:00
ldc.c [SPARC64]: Missing mdesc_release() in ldc_init(). 2007-12-05 05:37:55 -08:00
Makefile sparc: Add kgdb support. 2008-04-29 02:38:50 -07:00
mdesc.c [SPARC64]: Initialize MDESC earlier and use lmb_alloc() 2008-04-23 23:32:12 -07:00
misctrap.S sparc: Add kgdb support. 2008-04-29 02:38:50 -07:00
module.c
of_device.c sparc64: Do not ignore 'pmu' device ranges. 2008-04-26 21:41:20 -07:00
pci_common.c sparc64: Stop creating dummy root PCI host controller devices. 2008-05-02 05:22:50 -07:00
pci_fire.c [SPARC64]: NUMA device infrastructure. 2008-04-23 23:32:16 -07:00
pci_impl.h sparc64: Stop creating dummy root PCI host controller devices. 2008-05-02 05:22:50 -07:00
pci_msi.c [SPARC64]: NUMA device infrastructure. 2008-04-23 23:32:16 -07:00
pci_psycho.c [SPARC64]: NUMA device infrastructure. 2008-04-23 23:32:16 -07:00
pci_sabre.c [SPARC64]: NUMA device infrastructure. 2008-04-23 23:32:16 -07:00
pci_schizo.c [SPARC64]: NUMA device infrastructure. 2008-04-23 23:32:16 -07:00
pci_sun4v_asm.S
pci_sun4v.c [SPARC64]: NUMA device infrastructure. 2008-04-23 23:32:16 -07:00
pci_sun4v.h
pci.c sparc64: Stop creating dummy root PCI host controller devices. 2008-05-02 05:22:50 -07:00
power.c [SPARC64]: Fix sparse warnings wrt. machine_alt_power_off(). 2008-02-19 20:39:18 -08:00
process.c sparc64: Fix syscall restart, for real... 2008-05-02 05:22:52 -07:00
prom.c [SPARC64]: Use lmb_alloc() for PROM device tree. 2008-04-23 23:32:11 -07:00
ptrace.c [SPARC]: Fix several regset and ptrace bugs. 2008-04-09 19:39:25 -07:00
rtrap.S [SPARC64]: %l6 trap return handling no longer necessary. 2008-04-24 03:15:22 -07:00
sbus.c [SPARC64]: NUMA device infrastructure. 2008-04-23 23:32:16 -07:00
setup.c [SPARC64]: PROM debug console can be CON_ANYTIME. 2008-04-23 23:32:20 -07:00
signal32.c sparc64: Fix syscall restart, for real... 2008-05-02 05:22:52 -07:00
signal.c sparc64: Fix syscall restart, for real... 2008-05-02 05:22:52 -07:00
smp.c sparc64: remove duplicated include 2008-04-29 03:19:38 -07:00
sparc64_ksyms.c sparc64: Kill unused local ISA bus layer. 2008-04-26 21:41:23 -07:00
spiterrs.S sparc64: Split entry.S up into seperate files. 2008-04-28 00:47:20 -07:00
sstate.c
stacktrace.c [SPARC64]: Detect trap frames in stack backtraces. 2008-04-24 03:28:52 -07:00
starfire.c
sun4v_ivec.S
sun4v_tlb_miss.S [SPARC64]: %l6 trap return handling no longer necessary. 2008-04-24 03:15:22 -07:00
sys32.S
sys_sparc32.c sparc: Remove old style signal frame support. 2008-04-27 02:26:36 -07:00
sys_sparc.c [SPARC64]: Fix args to 64-bit sys_semctl() via sys_ipc(). 2008-04-25 02:12:05 -07:00
syscalls.S sparc64: Split entry.S up into seperate files. 2008-04-28 00:47:20 -07:00
sysfs.c [SPARC64]: Add NUMA support. 2008-04-23 23:32:17 -07:00
systbls.h [SPARC]: Remove SunOS and Solaris binary support. 2008-04-21 15:10:15 -07:00
systbls.S [SPARC]: Remove SunOS and Solaris binary support. 2008-04-21 15:10:15 -07:00
time.c [SPARC64]: Fix sparse warnings in arch/sparc64/kernel/time.c 2008-03-26 01:11:55 -07:00
trampoline.S [SPARC64]: Remove most limitations to kernel image size. 2008-03-21 17:01:38 -07:00
traps.c [SPARC64]: Detect trap frames in stack backtraces. 2008-04-24 03:28:52 -07:00
tsb.S [SPARC64]: %l6 trap return handling no longer necessary. 2008-04-24 03:15:22 -07:00
ttable.S sparc: Add kgdb support. 2008-04-29 02:38:50 -07:00
una_asm.S
unaligned.c [SPARC64] arch/sparc64/kernel/unaligned.c: Use time_* macros 2008-02-17 23:24:10 -08:00
us2e_cpufreq.c
us3_cpufreq.c
utrap.S sparc64: Split entry.S up into seperate files. 2008-04-28 00:47:20 -07:00
vio.c [SPARC64]: Fix of section mismatch warnings. 2008-01-21 22:34:30 -08:00
viohs.c
visemul.c
vmlinux.lds.S all archs: consolidate init and exit sections in vmlinux.lds.h 2008-01-28 23:21:17 +01:00
winfixup.S [SPARC64]: %l6 trap return handling no longer necessary. 2008-04-24 03:15:22 -07:00