diff options
author | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2010-01-13 14:44:26 -0500 |
---|---|---|
committer | Martin Schwidefsky <sky@mschwide.boeblingen.de.ibm.com> | 2010-01-13 14:44:44 -0500 |
commit | f8d5faf718c9ff2c04eb8484585d4963c4111cd7 (patch) | |
tree | 776ed927d2e3c1a02404e2ac9253170085c28ee6 /arch/s390/kernel | |
parent | c3311c13adc1021e986fef12609ceb395ffc5014 (diff) |
[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/kernel')
-rw-r--r-- | arch/s390/kernel/process.c | 1 |
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, | |||
217 | p->thread.mm_segment = get_fs(); | 217 | p->thread.mm_segment = get_fs(); |
218 | /* Don't copy debug registers */ | 218 | /* Don't copy debug registers */ |
219 | memset(&p->thread.per_info, 0, sizeof(p->thread.per_info)); | 219 | memset(&p->thread.per_info, 0, sizeof(p->thread.per_info)); |
220 | clear_tsk_thread_flag(p, TIF_SINGLE_STEP); | ||
220 | /* Initialize per thread user and system timer values */ | 221 | /* Initialize per thread user and system timer values */ |
221 | ti = task_thread_info(p); | 222 | ti = task_thread_info(p); |
222 | ti->user_timer = 0; | 223 | ti->user_timer = 0; |