]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
net: tc35815: move free after the dereference
authorDan Carpenter <dan.carpenter@oracle.com>
Fri, 21 Apr 2017 10:49:37 +0000 (13:49 +0300)
committerBen Hutchings <ben@decadent.org.uk>
Tue, 18 Jul 2017 17:38:44 +0000 (18:38 +0100)
commit 11faa7b0359aaf7efd406b7a6a077fda2b037d8e upstream.

We dereference "skb" to get "skb->len" so we should probably do that
step before freeing the skb.

Fixes: eea221ce4880 ("tc35815 driver update (take 2)")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/net/ethernet/toshiba/tc35815.c

index 71b785cd756368aa2a2c4972e7a9cc9ae9506408..97b9e0c944afc08a06d9be38fe3bb9d3ed3cb52f 100644 (file)
@@ -1053,8 +1053,8 @@ tc35815_free_queues(struct net_device *dev)
                        BUG_ON(lp->tx_skbs[i].skb != skb);
 #endif
                        if (skb) {
-                               dev_kfree_skb(skb);
                                pci_unmap_single(lp->pci_dev, lp->tx_skbs[i].skb_dma, skb->len, PCI_DMA_TODEVICE);
+                               dev_kfree_skb(skb);
                                lp->tx_skbs[i].skb = NULL;
                                lp->tx_skbs[i].skb_dma = 0;
                        }