diff options
author | YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org> | 2008-04-21 05:34:08 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-04-21 05:34:08 -0400 |
commit | f25c3d613b12b4b6219d03e9930cac5f59541468 (patch) | |
tree | 0438cd32c718aaefdb6e083eeb81f7f75e56256a /net | |
parent | 263173af5b4635c07dd862255e5b767cd429c640 (diff) |
[IPV4]: Convert do_gettimeofday() to getnstimeofday().
What do_gettimeofday() does is to call getnstimeofday() and
to convert the result from timespec{} to timeval{}.
After that, these callers convert the result again to msec.
Use getnstimeofday() and convert the units at once.
Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r-- | net/ipv4/icmp.c | 8 | ||||
-rw-r--r-- | net/ipv4/ip_options.c | 12 |
2 files changed, 10 insertions, 10 deletions
diff --git a/net/ipv4/icmp.c b/net/ipv4/icmp.c index fee171ec6588..c67d00e8c600 100644 --- a/net/ipv4/icmp.c +++ b/net/ipv4/icmp.c | |||
@@ -847,7 +847,7 @@ static void icmp_echo(struct sk_buff *skb) | |||
847 | */ | 847 | */ |
848 | static void icmp_timestamp(struct sk_buff *skb) | 848 | static void icmp_timestamp(struct sk_buff *skb) |
849 | { | 849 | { |
850 | struct timeval tv; | 850 | struct timespec tv; |
851 | struct icmp_bxm icmp_param; | 851 | struct icmp_bxm icmp_param; |
852 | /* | 852 | /* |
853 | * Too short. | 853 | * Too short. |
@@ -858,9 +858,9 @@ static void icmp_timestamp(struct sk_buff *skb) | |||
858 | /* | 858 | /* |
859 | * Fill in the current time as ms since midnight UT: | 859 | * Fill in the current time as ms since midnight UT: |
860 | */ | 860 | */ |
861 | do_gettimeofday(&tv); | 861 | getnstimeofday(&tv); |
862 | icmp_param.data.times[1] = htonl((tv.tv_sec % 86400) * 1000 + | 862 | icmp_param.data.times[1] = htonl((tv.tv_sec % 86400) * MSEC_PER_SEC + |
863 | tv.tv_usec / 1000); | 863 | tv.tv_nsec / NSEC_PER_MSEC); |
864 | icmp_param.data.times[2] = icmp_param.data.times[1]; | 864 | icmp_param.data.times[2] = icmp_param.data.times[1]; |
865 | if (skb_copy_bits(skb, 0, &icmp_param.data.times[0], 4)) | 865 | if (skb_copy_bits(skb, 0, &icmp_param.data.times[0], 4)) |
866 | BUG(); | 866 | BUG(); |
diff --git a/net/ipv4/ip_options.c b/net/ipv4/ip_options.c index d107543d3f81..33126ad2cfdc 100644 --- a/net/ipv4/ip_options.c +++ b/net/ipv4/ip_options.c | |||
@@ -55,10 +55,10 @@ void ip_options_build(struct sk_buff * skb, struct ip_options * opt, | |||
55 | if (opt->ts_needaddr) | 55 | if (opt->ts_needaddr) |
56 | ip_rt_get_source(iph+opt->ts+iph[opt->ts+2]-9, rt); | 56 | ip_rt_get_source(iph+opt->ts+iph[opt->ts+2]-9, rt); |
57 | if (opt->ts_needtime) { | 57 | if (opt->ts_needtime) { |
58 | struct timeval tv; | 58 | struct timespec tv; |
59 | __be32 midtime; | 59 | __be32 midtime; |
60 | do_gettimeofday(&tv); | 60 | getnstimeofday(&tv); |
61 | midtime = htonl((tv.tv_sec % 86400) * 1000 + tv.tv_usec / 1000); | 61 | midtime = htonl((tv.tv_sec % 86400) * MSEC_PER_SEC + tv.tv_nsec / NSEC_PER_MSEC); |
62 | memcpy(iph+opt->ts+iph[opt->ts+2]-5, &midtime, 4); | 62 | memcpy(iph+opt->ts+iph[opt->ts+2]-5, &midtime, 4); |
63 | } | 63 | } |
64 | return; | 64 | return; |
@@ -406,10 +406,10 @@ int ip_options_compile(struct net *net, | |||
406 | break; | 406 | break; |
407 | } | 407 | } |
408 | if (timeptr) { | 408 | if (timeptr) { |
409 | struct timeval tv; | 409 | struct timespec tv; |
410 | __be32 midtime; | 410 | __be32 midtime; |
411 | do_gettimeofday(&tv); | 411 | getnstimeofday(&tv); |
412 | midtime = htonl((tv.tv_sec % 86400) * 1000 + tv.tv_usec / 1000); | 412 | midtime = htonl((tv.tv_sec % 86400) * MSEC_PER_SEC + tv.tv_nsec / NSEC_PER_MSEC); |
413 | memcpy(timeptr, &midtime, sizeof(__be32)); | 413 | memcpy(timeptr, &midtime, sizeof(__be32)); |
414 | opt->is_changed = 1; | 414 | opt->is_changed = 1; |
415 | } | 415 | } |