From: Li Wei <lw@cn•fujitsu.com>
To: David Laight <David.Laight@ACULAB•COM>
Cc: David Miller <davem@davemloft•net>,
netdev@vger•kernel.org, shemminger@vyatta•com
Subject: Re: [PATCH V2 resend] ipv6: fix incorrect route 'expires' value passed to userspace
Date: Mon, 23 Jul 2012 09:02:48 +0800 [thread overview]
Message-ID: <500CA2B8.4050305@cn.fujitsu.com> (raw)
In-Reply-To: <AE90C24D6B3A694183C094C60CF0A2F6026B6F9C@saturn3.aculab.com>
On 07/20/2012 06:32 PM, David Laight wrote:
>> - else if (rt->dst.expires - jiffies < INT_MAX)
>> - expires = rt->dst.expires - jiffies;
>> + else if ((long)rt->dst.expires - (long)jiffies > INT_MIN
>> + && (long)rt->dst.expires - (long)jiffies <
> INT_MAX)
>> + expires = (long)rt->dst.expires - (long)jiffies;
>> else
>> - expires = INT_MAX;
>> + expires = time_is_after_jiffies(rt->dst.expires) ?
> INT_MAX : INT_MIN;
>
> I can't help feeling there is a better way to do this.
> Maybe:
> long expires = rt->dst.expires - jiffies;
> if (expires != (int)expires)
> expires = expires > 0 ? INT_MAX : INT_MIN;
> Although maybe -INT_MAX instead of INT_MIN.
>
> David
>
Thanks David, your code looks much cleaner and can archieve the same
function except we should use
long expires = (long)rt->dst.expires - (long)jiffies;
to avoid the wrapping of jiffies.
Thanks,
Wei
next prev parent reply other threads:[~2012-07-23 1:03 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-16 8:09 [PATCH] ipv6: fix incorrect route 'expires' value passed to userspace Li Wei
2012-07-16 9:56 ` David Miller
2012-07-17 1:55 ` Li Wei
2012-07-19 2:02 ` [PATCH V2] " Li Wei
2012-07-19 17:49 ` David Miller
2012-07-20 1:32 ` Li Wei
2012-07-20 1:42 ` [PATCH V2 resend] " Li Wei
2012-07-20 10:32 ` David Laight
2012-07-20 18:22 ` David Miller
2012-07-23 1:05 ` Li Wei
2012-07-25 5:25 ` [PATCH V3] " Li Wei
2012-07-25 6:51 ` Eric Dumazet
2012-07-25 7:33 ` Li Wei
2012-07-30 2:01 ` [PATCH v4] " Li Wei
2012-07-30 6:20 ` David Miller
2012-07-23 1:02 ` Li Wei [this message]
2012-07-16 16:41 ` [PATCH] " Stephen Hemminger
2012-07-17 1:53 ` Li Wei
2012-07-17 5:26 ` David Miller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=500CA2B8.4050305@cn.fujitsu.com \
--to=lw@cn$(echo .)fujitsu.com \
--cc=David.Laight@ACULAB$(echo .)COM \
--cc=davem@davemloft$(echo .)net \
--cc=netdev@vger$(echo .)kernel.org \
--cc=shemminger@vyatta$(echo .)com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox