瀏覽代碼

dp83640: Prune rx timestamp list before reading from it

The list of rx timestamps are currently only pruned of old entries when a
new entry is inserted. If no new entries are added, old timestamps may
survive beyond their lifetime, possible causing them to be attached to
packets with the same sequence number after a rollover.

Signed-off-by: Stefan Sørensen <stefan.sorensen@spectralink.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Stefan Sørensen 9 年之前
父節點
當前提交
ccf6ee9a69
共有 1 個文件被更改,包括 1 次插入0 次删除
  1. 1 0
      drivers/net/phy/dp83640.c

+ 1 - 0
drivers/net/phy/dp83640.c

@@ -1398,6 +1398,7 @@ static bool dp83640_rxtstamp(struct phy_device *phydev,
 		return false;
 
 	spin_lock_irqsave(&dp83640->rx_lock, flags);
+	prune_rx_ts(dp83640);
 	list_for_each_safe(this, next, &dp83640->rxts) {
 		rxts = list_entry(this, struct rxts, list);
 		if (match(skb, type, rxts)) {