diff options
author | Gerrit Renker <gerrit@erg.abdn.ac.uk> | 2006-12-09 21:03:51 -0500 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2006-12-11 17:34:45 -0500 |
commit | 0f9e5b573f7249b0e04a03457b55081d1f60f2bf (patch) | |
tree | fa33e3252d5df520348bb22d2a14aeac0e6b2bfc /net/dccp/dccp.h | |
parent | bfe24a6cc222d27e1491f850802fa6932232b8ef (diff) |
[DCCP]: Debug timeval operations
Problem:
Most target types in the CCID3 code are u32, so subtle conversion errors
can occur if signed time calculations yield negative results: the original
values are lost in the conversion to unsigned, calculation errors go undetected.
This patch therefore
* sets all critical time types from unsigned to suseconds_t
* avoids comparison between signed/unsigned via type-casting
* provides ample warning messages in case time calculations are negative
These warning messages can be removed at a later stage when the code
has undergone more testing.
Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
Acked-by: Ian McDonald <ian.mcdonald@jandi.co.nz>
Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Diffstat (limited to 'net/dccp/dccp.h')
-rw-r--r-- | net/dccp/dccp.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/net/dccp/dccp.h b/net/dccp/dccp.h index 44829d636c93..a0900bf98e6b 100644 --- a/net/dccp/dccp.h +++ b/net/dccp/dccp.h | |||
@@ -432,6 +432,7 @@ static inline void timeval_sub_usecs(struct timeval *tv, | |||
432 | tv->tv_sec--; | 432 | tv->tv_sec--; |
433 | tv->tv_usec += USEC_PER_SEC; | 433 | tv->tv_usec += USEC_PER_SEC; |
434 | } | 434 | } |
435 | DCCP_BUG_ON(tv->tv_sec < 0); | ||
435 | } | 436 | } |
436 | 437 | ||
437 | #ifdef CONFIG_SYSCTL | 438 | #ifdef CONFIG_SYSCTL |