Skip to content

Commit

Permalink
[PATCH] e1000: zero-out pointers in e1000_free_desc_rings
Browse files Browse the repository at this point in the history
In e1000_free_desc_rings, zero-out pointers after the memory they
point to is freed.  The test rings are static and get re-used, and
failures during subsequent test setups can cause e1000_free_desc_rings
to get called with dirty pointers.  Dirty pointers can cause oopses
or crashes...

Signed-off-by: John W. Linville <linville@tuxdriver.com>
  • Loading branch information
John W. Linville committed Nov 18, 2005
1 parent e98fc4a commit 6b27adb
Showing 1 changed file with 10 additions and 2 deletions.
12 changes: 10 additions & 2 deletions drivers/net/e1000/e1000_ethtool.c
Original file line number Diff line number Diff line change
Expand Up @@ -960,13 +960,21 @@ e1000_free_desc_rings(struct e1000_adapter *adapter)
}
}

if(txdr->desc)
if(txdr->desc) {
pci_free_consistent(pdev, txdr->size, txdr->desc, txdr->dma);
if(rxdr->desc)
txdr->desc = NULL;
}
if(rxdr->desc) {
pci_free_consistent(pdev, rxdr->size, rxdr->desc, rxdr->dma);
rxdr->desc = NULL;
}

kfree(txdr->buffer_info);
txdr->buffer_info = NULL;

kfree(rxdr->buffer_info);
rxdr->buffer_info = NULL;

return;
}

Expand Down

0 comments on commit 6b27adb

Please sign in to comment.