| From cbbc719fccdb8cbd87350a05c0d33167c9b79365 Mon Sep 17 00:00:00 2001 |
| From: hank <pyu@redhat.com> |
| Date: Tue, 20 Sep 2011 13:53:39 -0700 |
| Subject: time: Change jiffies_to_clock_t() argument type to unsigned long |
| |
| From: hank <pyu@redhat.com> |
| |
| commit cbbc719fccdb8cbd87350a05c0d33167c9b79365 upstream. |
| |
| The parameter's origin type is long. On an i386 architecture, it can |
| easily be larger than 0x80000000, causing this function to convert it |
| to a sign-extended u64 type. |
| |
| Change the type to unsigned long so we get the correct result. |
| |
| Signed-off-by: hank <pyu@redhat.com> |
| Cc: John Stultz <john.stultz@linaro.org> |
| [ build fix ] |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| Signed-off-by: Thomas Gleixner <tglx@linutronix.de> |
| Signed-off-by: Ingo Molnar <mingo@elte.hu> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| include/linux/jiffies.h | 2 +- |
| kernel/time.c | 2 +- |
| 2 files changed, 2 insertions(+), 2 deletions(-) |
| |
| --- a/include/linux/jiffies.h |
| +++ b/include/linux/jiffies.h |
| @@ -303,7 +303,7 @@ extern void jiffies_to_timespec(const un |
| extern unsigned long timeval_to_jiffies(const struct timeval *value); |
| extern void jiffies_to_timeval(const unsigned long jiffies, |
| struct timeval *value); |
| -extern clock_t jiffies_to_clock_t(long x); |
| +extern clock_t jiffies_to_clock_t(unsigned long x); |
| extern unsigned long clock_t_to_jiffies(unsigned long x); |
| extern u64 jiffies_64_to_clock_t(u64 x); |
| extern u64 nsec_to_clock_t(u64 x); |
| --- a/kernel/time.c |
| +++ b/kernel/time.c |
| @@ -593,7 +593,7 @@ EXPORT_SYMBOL(jiffies_to_timeval); |
| /* |
| * Convert jiffies/jiffies_64 to clock_t and back. |
| */ |
| -clock_t jiffies_to_clock_t(long x) |
| +clock_t jiffies_to_clock_t(unsigned long x) |
| { |
| #if (TICK_NSEC % (NSEC_PER_SEC / USER_HZ)) == 0 |
| # if HZ < USER_HZ |