]> err.no Git - linux-2.6/commit
[NET]: Fix packet timestamping.
authorHerbert Xu <herbert@gondor.apana.org.au>
Mon, 3 Oct 2005 20:57:23 +0000 (13:57 -0700)
committerDavid S. Miller <davem@davemloft.net>
Mon, 3 Oct 2005 20:57:23 +0000 (13:57 -0700)
commit325ed8239309cb29f10ea58c5a668058ead11479
tree77386825b72ac44f4f42a942ef78bd1ff924b351
parentddea7be0ec8d1374f0b483a81566ed56ec9f3905
[NET]: Fix packet timestamping.

I've found the problem in general.  It affects any 64-bit
architecture.  The problem occurs when you change the system time.

Suppose that when you boot your system clock is forward by a day.
This gets recorded down in skb_tv_base.  You then wind the clock back
by a day.  From that point onwards the offset will be negative which
essentially overflows the 32-bit variables they're stored in.

In fact, why don't we just store the real time stamp in those 32-bit
variables? After all, we're not going to overflow for quite a while
yet.

When we do overflow, we'll need a better solution of course.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/linux/skbuff.h
net/core/skbuff.c
net/ipv4/netfilter/ip_queue.c
net/ipv4/netfilter/ipt_ULOG.c
net/ipv6/netfilter/ip6_queue.c
net/netfilter/nfnetlink_log.c
net/netfilter/nfnetlink_queue.c
net/packet/af_packet.c