[PATCH] drivers: staging: dgrp: type issue, unsigned number decreasing unsigned number will always be >= 0

Greg KH gregkh at linuxfoundation.org
Wed Jun 5 22:30:28 UTC 2013


On Wed, Jun 05, 2013 at 08:58:27AM +0800, Chen Gang wrote:
> 
> The original author wanted to 'compare' between 'jiffies' and
> 'ch->ch_waketime', but both of them are unsigned, so the original
> 'comparation' is always true.
> 
> The related warning (with 'EXTRA_CFLAGS=-W')
>   drivers/staging/dgrp/dgrp_net_ops.c:1610:10: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits]
> 
> 
> Signed-off-by: Chen Gang <gang.chen at asianux.com>
> ---
>  drivers/staging/dgrp/dgrp_net_ops.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/staging/dgrp/dgrp_net_ops.c b/drivers/staging/dgrp/dgrp_net_ops.c
> index 7a0d72d..120c55a 100644
> --- a/drivers/staging/dgrp/dgrp_net_ops.c
> +++ b/drivers/staging/dgrp/dgrp_net_ops.c
> @@ -1607,7 +1607,7 @@ static int dgrp_send(struct nd_struct *nd, long tmax)
>  					if ((ch->ch_pun.un_flag & UN_LOW) != 0 ?
>  					    (n <= TBUF_LOW) :
>  					    (ch->ch_pun.un_flag & UN_TIME) != 0 ?
> -					    ((jiffies - ch->ch_waketime) >= 0) :
> +					    (jiffies >= ch->ch_waketime) :

What happens now when jiffies wraps?

Please use the proper jiffy comparison macros/functions instead of open
coding this and probably getting it wrong.

thanks,

greg k-h



More information about the devel mailing list