summaryrefslogtreecommitdiffstats
path: root/arch/s390
diff options
context:
space:
mode:
authorMartin Schwidefsky <schwidefsky@de.ibm.com>2010-01-13 20:44:26 +0100
committerMartin Schwidefsky <sky@mschwide.boeblingen.de.ibm.com>2010-01-13 20:44:44 +0100
commitf8d5faf718c9ff2c04eb8484585d4963c4111cd7 (patch)
tree776ed927d2e3c1a02404e2ac9253170085c28ee6 /arch/s390
parentc3311c13adc1021e986fef12609ceb395ffc5014 (diff)
downloadlinux-f8d5faf718c9ff2c04eb8484585d4963c4111cd7.tar.gz
linux-f8d5faf718c9ff2c04eb8484585d4963c4111cd7.tar.bz2
linux-f8d5faf718c9ff2c04eb8484585d4963c4111cd7.zip
[S390] clear TIF_SINGLE_STEP for new process.
Clear the TIF_SINGLE_STEP bit in copy_thread. The new process did not get a PER event of its own. It is wrong deliver a SIGTRAP that was meant for the parent process. Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390')
-rw-r--r--arch/s390/kernel/process.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/s390/kernel/process.c b/arch/s390/kernel/process.c
index 5417eb57271a..b98fe8e6e507 100644
--- a/arch/s390/kernel/process.c
+++ b/arch/s390/kernel/process.c
@@ -217,6 +217,7 @@ int copy_thread(unsigned long clone_flags, unsigned long new_stackp,
p->thread.mm_segment = get_fs();
/* Don't copy debug registers */
memset(&p->thread.per_info, 0, sizeof(p->thread.per_info));
+ clear_tsk_thread_flag(p, TIF_SINGLE_STEP);
/* Initialize per thread user and system timer values */
ti = task_thread_info(p);
ti->user_timer = 0;