unsigned long flags;
        struct sighand_struct *psig;
        bool autoreap = false;
-       cputime_t utime, stime;
+       u64 utime, stime;
 
        BUG_ON(sig == -1);
 
                                       task_uid(tsk));
        rcu_read_unlock();
 
-       task_cputime_t(tsk, &utime, &stime);
-       info.si_utime = cputime_to_clock_t(utime + nsecs_to_cputime(tsk->signal->utime));
-       info.si_stime = cputime_to_clock_t(stime + nsecs_to_cputime(tsk->signal->stime));
+       task_cputime(tsk, &utime, &stime);
+       info.si_utime = nsec_to_clock_t(utime + tsk->signal->utime);
+       info.si_stime = nsec_to_clock_t(stime + tsk->signal->stime);
 
        info.si_status = tsk->exit_code & 0x7f;
        if (tsk->exit_code & 0x80)
        unsigned long flags;
        struct task_struct *parent;
        struct sighand_struct *sighand;
-       cputime_t utime, stime;
+       u64 utime, stime;
 
        if (for_ptracer) {
                parent = tsk->parent;
        info.si_uid = from_kuid_munged(task_cred_xxx(parent, user_ns), task_uid(tsk));
        rcu_read_unlock();
 
-       task_cputime_t(tsk, &utime, &stime);
-       info.si_utime = cputime_to_clock_t(utime);
-       info.si_stime = cputime_to_clock_t(stime);
+       task_cputime(tsk, &utime, &stime);
+       info.si_utime = nsec_to_clock_t(utime);
+       info.si_stime = nsec_to_clock_t(stime);
 
        info.si_code = why;
        switch (why) {