From: Stefan Sørensen Date: Tue, 3 Nov 2015 08:34:06 +0000 (+0100) Subject: dp83640: Prune rx timestamp list before reading from it X-Git-Tag: v4.9.8~3303^2~12^2~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ccf6ee9a6980eff9ec0eeaa8f63c65bff34d9697;p=platform%2Fkernel%2Flinux-rpi3.git 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 Signed-off-by: David S. Miller --- diff --git a/drivers/net/phy/dp83640.c b/drivers/net/phy/dp83640.c index 69a2f56..39ac633 100644 --- a/drivers/net/phy/dp83640.c +++ b/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)) {