| From 9d386cd9a755c8293e8916264d4d053878a7c9c7 Mon Sep 17 00:00:00 2001 |
| From: Dan Carpenter <dan.carpenter@oracle.com> |
| Date: Tue, 18 Apr 2017 22:14:26 +0300 |
| Subject: [PATCH] dp83640: don't recieve time stamps twice |
| MIME-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| commit 9d386cd9a755c8293e8916264d4d053878a7c9c7 upstream. |
| |
| This patch is prompted by a static checker warning about a potential |
| use after free. The concern is that netif_rx_ni() can free "skb" and we |
| call it twice. |
| |
| When I look at the commit that added this, it looks like some stray |
| lines were added accidentally. It doesn't make sense to me that we |
| would recieve the same data two times. I asked the author but never |
| recieved a response. |
| |
| I can't test this code, but I'm pretty sure my patch is correct. |
| |
| Fixes: 4b063258ab93 ("dp83640: Delay scheduled work.") |
| Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> |
| Acked-by: Stefan SΓΈrensen <stefan.sorensen@spectralink.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| |
| diff --git a/drivers/net/phy/dp83640.c b/drivers/net/phy/dp83640.c |
| index e2460a57e4b1..ed0d10f54f26 100644 |
| --- a/drivers/net/phy/dp83640.c |
| +++ b/drivers/net/phy/dp83640.c |
| @@ -1438,8 +1438,6 @@ static bool dp83640_rxtstamp(struct phy_device *phydev, |
| skb_info->tmo = jiffies + SKB_TIMESTAMP_TIMEOUT; |
| skb_queue_tail(&dp83640->rx_queue, skb); |
| schedule_delayed_work(&dp83640->ts_work, SKB_TIMESTAMP_TIMEOUT); |
| - } else { |
| - netif_rx_ni(skb); |
| } |
| |
| return true; |
| -- |
| 2.12.0 |
| |