[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>
This commit is contained in:

committed by
David S. Miller

parent
bfe24a6cc2
commit
0f9e5b573f
@@ -432,6 +432,7 @@ static inline void timeval_sub_usecs(struct timeval *tv,
|
||||
tv->tv_sec--;
|
||||
tv->tv_usec += USEC_PER_SEC;
|
||||
}
|
||||
DCCP_BUG_ON(tv->tv_sec < 0);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_SYSCTL
|
||||
|
Reference in New Issue
Block a user