binfmt_elf_fdpic: Update for cputime changes.
Subsystems (2)
PATCH 1/1 binfmt_elf_fdpic: Update for cputime changes.
Commit f06febc96ba8e0af80bcc3eaec0a109e88275fac "timers: fix itimer/many thread hang" introduced a new task_cputime interface and subsequently only converted binfmt_elf over to it. This results in the build for binfmt_elf_fdpic blowing up given that p->signal->{u,s}time have disappeared from underneath us.
Apply the same trivial fix from binfmt_elf to binfmt_elf_fdpic.
Signed-off-by Paul Mundt <[email protected]>
---
fs/binfmt_elf_fdpic.c | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-)
fs/binfmt_elf_fdpic.c +7 -12
@@ -1390,20 +1390,15 @@ static void fill_prstatus(struct elf_prstatus *prstatus, prstatus->pr_pgrp =task_pgrp_vnr (p); prstatus->pr_sid =task_session_vnr (p);if (thread_group_leader (p)) { +struct task_cputime cputime; +/* -* This is the record for the group leader. Add in the -* cumulative times of previous dead threads. This total -* won't include the time of each live thread whose state -* is included in the core dump. The final total reported -* to our parent process when it calls wait4 will include -* those sums as well as the little bit more time it takes -* this and each other thread to finish dying after the -* core dump synchronization phase. +* This is the record for the group leader. It shows the +* group-wide total, not its individual thread total. */ -cputime_to_timeval (cputime_add (p->utime, p->signal->utime), - &prstatus->pr_utime); -cputime_to_timeval (cputime_add (p->stime, p->signal->stime), - &prstatus->pr_stime); +thread_group_cputime (p, &cputime); +cputime_to_timeval (cputime.utime, &prstatus->pr_utime); +cputime_to_timeval (cputime.stime, &prstatus->pr_stime); }else {cputime_to_timeval (p->utime, &prstatus->pr_utime);cputime_to_timeval (p->stime, &prstatus->pr_stime);