summaryrefslogtreecommitdiffstats
path: root/arch/s390/kernel/process.c
diff options
context:
space:
mode:
authorMartin Schwidefsky <schwidefsky@de.ibm.com>2017-03-01 09:18:34 +0100
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2017-03-01 09:59:27 +0100
commit3c915bdc1775acfa214195da1ffb39dabdd1a389 (patch)
treeeda4dbe8f4b044ffc11f26c9ad309941d6eb10ab /arch/s390/kernel/process.c
parente69ca822ce0ed3ba006ce384d7d205c81d92373f (diff)
downloadlinux-0-day-3c915bdc1775acfa214195da1ffb39dabdd1a389.tar.gz
linux-0-day-3c915bdc1775acfa214195da1ffb39dabdd1a389.tar.xz
s390/cputime: reset all accounting fields on fork
copy_thread has to reset all cputime related field in the task struct, not only user_timer and system_timer. Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/kernel/process.c')
-rw-r--r--arch/s390/kernel/process.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/s390/kernel/process.c b/arch/s390/kernel/process.c
index 54281660582cb..249deafaa6ee8 100644
--- a/arch/s390/kernel/process.c
+++ b/arch/s390/kernel/process.c
@@ -121,7 +121,10 @@ int copy_thread_tls(unsigned long clone_flags, unsigned long new_stackp,
clear_tsk_thread_flag(p, TIF_SINGLE_STEP);
/* Initialize per thread user and system timer values */
p->thread.user_timer = 0;
+ p->thread.guest_timer = 0;
p->thread.system_timer = 0;
+ p->thread.hardirq_timer = 0;
+ p->thread.softirq_timer = 0;
frame->sf.back_chain = 0;
/* new return point is ret_from_fork */