[patch 06/46] Fix timeout overflow with jiffies



From: Ingo Molnar <mingo@xxxxxxx>

Prevent timeout overflow if timer ticks are behind jiffies (due to high
softirq load or due to dyntick), by limiting the valid timeout range to
MAX_LONG/2.

Signed-off-by: Ingo Molnar <mingo@xxxxxxx>
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxx>
---

include/linux/jiffies.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Index: linux-2.6.20-rc4-mm1-bo/include/linux/jiffies.h
===================================================================
--- linux-2.6.20-rc4-mm1-bo.orig/include/linux/jiffies.h
+++ linux-2.6.20-rc4-mm1-bo/include/linux/jiffies.h
@@ -142,13 +142,13 @@ static inline u64 get_jiffies_64(void)
*
* And some not so obvious.
*
- * Note that we don't want to return MAX_LONG, because
+ * Note that we don't want to return LONG_MAX, because
* for various timeout reasons we often end up having
* to wait "jiffies+1" in order to guarantee that we wait
* at _least_ "jiffies" - so "jiffies+1" had better still
* be positive.
*/
-#define MAX_JIFFY_OFFSET ((~0UL >> 1)-1)
+#define MAX_JIFFY_OFFSET ((LONG_MAX >> 1)-1)

/*
* We want to do realistic conversions of time so we need to use the same

--

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



Relevant Pages

  • Re: limiting how long a method is permiited to run
    ... B> Is there a means of limiting how long a method is permiited to run? ... B> want to be able to mark a method with a number and have the method ... # execution timeout ...
    (comp.lang.ruby)
  • [patch 06/23] time: fix timeout overflow
    ... prevent timeout overflow if timer ticks are behind jiffies (due to high ... softirq load or due to dyntick), by limiting the valid timeout range ...
    (Linux-Kernel)
  • [patch 06/21] time: fix timeout overflow
    ... prevent timeout overflow if timer ticks are behind jiffies (due to high ... softirq load or due to dyntick), by limiting the valid timeout range ...
    (Linux-Kernel)
  • [patch 06/22] time: fix timeout overflow
    ... Prevent timeout overflow if timer ticks are behind jiffies (due to high ... softirq load or due to dyntick), by limiting the valid timeout range to ...
    (Linux-Kernel)