aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/loopback.c
diff options
context:
space:
mode:
authorEric Dumazet <edumazet@google.com>2018-10-19 19:11:26 -0700
committerDavid S. Miller <davem@davemloft.net>2018-10-20 01:01:28 -0700
commit4c16128b6271e70c8743178e90cccee147858503 (patch)
treeae8fad1930523a8807ff9ece83b230ff224628ff /drivers/net/loopback.c
parentnet: ethernet: lpc_eth: add device and device node local variables (diff)
downloadlinux-dev-4c16128b6271e70c8743178e90cccee147858503.tar.xz
linux-dev-4c16128b6271e70c8743178e90cccee147858503.zip
net: loopback: clear skb->tstamp before netif_rx()
At least UDP / TCP stacks can now cook skbs with a tstamp using MONOTONIC base (or arbitrary values with SCM_TXTIME) Since loopback driver does not call (directly or indirectly) skb_scrub_packet(), we need to clear skb->tstamp so that net_timestamp_check() can eventually resample the time, using ktime_get_real(). Fixes: 80b14dee2bea ("net: Add a new socket option for a future transmit time.") Fixes: fb420d5d91c1 ("tcp/fq: move back to CLOCK_MONOTONIC") Signed-off-by: Eric Dumazet <edumazet@google.com> Cc: Willem de Bruijn <willemb@google.com> Cc: Soheil Hassas Yeganeh <soheil@google.com> Acked-by: Soheil Hassas Yeganeh <soheil@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/loopback.c')
-rw-r--r--drivers/net/loopback.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/loopback.c b/drivers/net/loopback.c
index a7207fa7e451..2df7f60fe052 100644
--- a/drivers/net/loopback.c
+++ b/drivers/net/loopback.c
@@ -69,6 +69,10 @@ static netdev_tx_t loopback_xmit(struct sk_buff *skb,
int len;
skb_tx_timestamp(skb);
+
+ /* do not fool net_timestamp_check() with various clock bases */
+ skb->tstamp = 0;
+
skb_orphan(skb);
/* Before queueing this packet to netif_rx(),