diff options
| author | Jin Qian <jinqian@google.com> | 2015-07-13 18:16:55 -0700 |
|---|---|---|
| committer | Moyster <oysterized@gmail.com> | 2016-09-10 16:03:50 +0200 |
| commit | 653303a8ca2590f26f97b58a71eb6ab481c8cbe4 (patch) | |
| tree | 025255930a67e033a5552cdb8933d5495d72e0ba /drivers | |
| parent | 988b7d47d882df3f6ddcebb813eb7874e0486dd6 (diff) | |
uid_cputime: fix cputime overflow
Converting cputime_t to usec caused overflow when the value is greater
than 1 hour. Use msec and convert to unsigned long long to support bigger
range.
Bug: 22461683
Change-Id: I853fe3e8e7dbf0d3e2cc5c6f9688a5a6e1f1fb3e
Signed-off-by: Jin Qian <jinqian@google.com>
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/misc/uid_cputime.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/misc/uid_cputime.c b/drivers/misc/uid_cputime.c index 012bd3505..75843985c 100644 --- a/drivers/misc/uid_cputime.c +++ b/drivers/misc/uid_cputime.c @@ -119,10 +119,12 @@ static int uid_stat_show(struct seq_file *m, void *v) uid_entry->active_stime; unsigned long long total_power = uid_entry->power + uid_entry->active_power; - seq_printf(m, "%d: %u %u %llu\n", uid_entry->uid, - cputime_to_usecs(total_utime), - cputime_to_usecs(total_stime), - total_power); + seq_printf(m, "%d: %llu %llu %llu\n", uid_entry->uid, + (unsigned long long)jiffies_to_msecs( + cputime_to_jiffies(total_utime)) * USEC_PER_MSEC, + (unsigned long long)jiffies_to_msecs( + cputime_to_jiffies(total_stime)) * USEC_PER_MSEC, + total_power); } mutex_unlock(&uid_lock); |
