summaryrefslogtreecommitdiffstats
path: root/arch/s390
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2000-10-05 01:18:40 +0000
committerRalf Baechle <ralf@linux-mips.org>2000-10-05 01:18:40 +0000
commit012bb3e61e5eced6c610f9e036372bf0c8def2d1 (patch)
tree87efc733f9b164e8c85c0336f92c8fb7eff6d183 /arch/s390
parent625a1589d3d6464b5d90b8a0918789e3afffd220 (diff)
Merge with Linux 2.4.0-test9. Please check DECstation, I had a number
of rejects to fixup while integrating Linus patches. I also found that this kernel will only boot SMP on Origin; the UP kernel freeze soon after bootup with SCSI timeout messages. I commit this anyway since I found that the last CVS versions had the same problem.
Diffstat (limited to 'arch/s390')
-rw-r--r--arch/s390/kernel/process.c7
-rw-r--r--arch/s390/kernel/signal.c2
-rw-r--r--arch/s390/kernel/smp.c2
3 files changed, 6 insertions, 5 deletions
diff --git a/arch/s390/kernel/process.c b/arch/s390/kernel/process.c
index 6f6a5287b..2fc6d08fa 100644
--- a/arch/s390/kernel/process.c
+++ b/arch/s390/kernel/process.c
@@ -264,6 +264,7 @@ void release_thread(struct task_struct *dead_task)
}
int copy_thread(int nr, unsigned long clone_flags, unsigned long new_stackp,
+ unsigned long unused,
struct task_struct * p, struct pt_regs * regs)
{
struct stack_frame
@@ -313,7 +314,7 @@ asmlinkage int sys_fork(struct pt_regs regs)
int ret;
lock_kernel();
- ret = do_fork(SIGCHLD, regs.gprs[15], &regs);
+ ret = do_fork(SIGCHLD, regs.gprs[15], &regs, 0);
unlock_kernel();
return ret;
}
@@ -329,7 +330,7 @@ asmlinkage int sys_clone(struct pt_regs regs)
newsp = regs.gprs[2];
if (!newsp)
newsp = regs.gprs[15];
- ret = do_fork(clone_flags, newsp, &regs);
+ ret = do_fork(clone_flags, newsp, &regs, 0);
unlock_kernel();
return ret;
}
@@ -347,7 +348,7 @@ asmlinkage int sys_clone(struct pt_regs regs)
asmlinkage int sys_vfork(struct pt_regs regs)
{
return do_fork(CLONE_VFORK | CLONE_VM | SIGCHLD,
- regs.gprs[15], &regs);
+ regs.gprs[15], &regs, 0);
}
/*
diff --git a/arch/s390/kernel/signal.c b/arch/s390/kernel/signal.c
index fd1a5e58a..a4df59c65 100644
--- a/arch/s390/kernel/signal.c
+++ b/arch/s390/kernel/signal.c
@@ -528,7 +528,7 @@ int do_signal(struct pt_regs *regs, sigset_t *oldset)
default:
lock_kernel();
- sigaddset(&current->signal, signr);
+ sigaddset(&current->pending.signal, signr);
recalc_sigpending(current);
current->flags |= PF_SIGNALED;
do_exit(exit_code);
diff --git a/arch/s390/kernel/smp.c b/arch/s390/kernel/smp.c
index 8f72782d2..6cf2e6918 100644
--- a/arch/s390/kernel/smp.c
+++ b/arch/s390/kernel/smp.c
@@ -528,7 +528,7 @@ static int __init fork_by_hand(void)
/* don't care about the psw and regs settings since we'll never
reschedule the forked task. */
memset(&regs,sizeof(pt_regs),0);
- return do_fork(CLONE_VM|CLONE_PID, 0, &regs);
+ return do_fork(CLONE_VM|CLONE_PID, 0, &regs, 0);
}
static void __init do_boot_cpu(int cpu)