]> git.hungrycats.org Git - linux/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:40:38 +0000 (18:40 +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 fef5573dbfcac0f6db7c44be4124fd04c1fe6587..970d716989e1a8ce8db57759e0d163a254fc678a 100644 (file)
@@ -1048,8 +1048,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;
                        }