projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
bdf7344
)
clocksource: Fix abs() usage w/ 64bit values
author
John Stultz
<
[email protected]
>
Tue, 15 Sep 2015 01:05:20 +0000
(18:05 -0700)
committer
Thomas Gleixner
<
[email protected]
>
Fri, 2 Oct 2015 20:53:01 +0000
(22:53 +0200)
This patch fixes one cases where abs() was being used with 64-bit
nanosecond values, where the result may be capped at 32-bits.
This potentially could cause watchdog false negatives on 32-bit
systems, so this patch addresses the issue by using abs64().
Signed-off-by: John Stultz <
[email protected]
>
Cc: Prarit Bhargava <
[email protected]
>
Cc: Richard Cochran <
[email protected]
>
Cc: Ingo Molnar <
[email protected]
>
Cc:
[email protected]
Link:
http://lkml.kernel.org/r/
[email protected]
Signed-off-by: Thomas Gleixner <
[email protected]
>
kernel/time/clocksource.c
patch
|
blob
|
history
diff --git
a/kernel/time/clocksource.c
b/kernel/time/clocksource.c
index 841b72f720e88041a99ded8852381555c307fb43..3a38775b50c2243ea83341a9034a0eb4e3a502a3 100644
(file)
--- a/
kernel/time/clocksource.c
+++ b/
kernel/time/clocksource.c
@@
-217,7
+217,7
@@
static void clocksource_watchdog(unsigned long data)
continue;
/* Check the deviation from the watchdog clocksource. */
- if (
(abs(cs_nsec - wd_nsec) > WATCHDOG_THRESHOLD)
) {
+ if (
abs64(cs_nsec - wd_nsec) > WATCHDOG_THRESHOLD
) {
pr_warn("timekeeping watchdog: Marking clocksource '%s' as unstable because the skew is too large:\n",
cs->name);
pr_warn(" '%s' wd_now: %llx wd_last: %llx mask: %llx\n",