summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Oostdyk <daveo@ll.mit.edu>2013-03-08 08:28:15 +0000
committerDavid S. Miller <davem@davemloft.net>2013-03-10 16:42:23 -0400
commitfef4c86e59a76f2ec1a77d5732f40752700bd5dd (patch)
treea055127e04ca03bb1540dbf797385c1e644f946f
parent29cd8ae0e1a39e239a3a7b67da1986add1199fc0 (diff)
downloadop-kernel-dev-fef4c86e59a76f2ec1a77d5732f40752700bd5dd.zip
op-kernel-dev-fef4c86e59a76f2ec1a77d5732f40752700bd5dd.tar.gz
rrunner.c: fix possible memory leak in rr_init_one()
In the event that register_netdev() failed, the rrpriv->evt_ring allocation would have not been freed. Signed-off-by: David Oostdyk <daveo@ll.mit.edu> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/hippi/rrunner.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/hippi/rrunner.c b/drivers/net/hippi/rrunner.c
index e5b19b0..3c4d627 100644
--- a/drivers/net/hippi/rrunner.c
+++ b/drivers/net/hippi/rrunner.c
@@ -202,6 +202,9 @@ static int rr_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
return 0;
out:
+ if (rrpriv->evt_ring)
+ pci_free_consistent(pdev, EVT_RING_SIZE, rrpriv->evt_ring,
+ rrpriv->evt_ring_dma);
if (rrpriv->rx_ring)
pci_free_consistent(pdev, RX_TOTAL_SIZE, rrpriv->rx_ring,
rrpriv->rx_ring_dma);
OpenPOWER on IntegriCloud