From 7ab3035749137136cfada2f36e1f50c68e570913 Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Wed, 16 Jul 2014 15:51:38 +0100 Subject: [PATCH] [vmxnet3] Check for ioremap() failures Signed-off-by: Michael Brown --- src/drivers/net/vmxnet3.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/drivers/net/vmxnet3.c b/src/drivers/net/vmxnet3.c index 9401c110..57013fb9 100644 --- a/src/drivers/net/vmxnet3.c +++ b/src/drivers/net/vmxnet3.c @@ -602,8 +602,16 @@ static int vmxnet3_probe ( struct pci_device *pci ) { /* Map PCI BARs */ vmxnet->pt = ioremap ( pci_bar_start ( pci, VMXNET3_PT_BAR ), VMXNET3_PT_LEN ); + if ( ! vmxnet->pt ) { + rc = -ENODEV; + goto err_ioremap_pt; + } vmxnet->vd = ioremap ( pci_bar_start ( pci, VMXNET3_VD_BAR ), VMXNET3_VD_LEN ); + if ( ! vmxnet->vd ) { + rc = -ENODEV; + goto err_ioremap_vd; + } /* Version check */ if ( ( rc = vmxnet3_check_version ( vmxnet ) ) != 0 ) @@ -633,7 +641,9 @@ static int vmxnet3_probe ( struct pci_device *pci ) { err_reset: err_check_version: iounmap ( vmxnet->vd ); + err_ioremap_vd: iounmap ( vmxnet->pt ); + err_ioremap_pt: netdev_nullify ( netdev ); netdev_put ( netdev ); err_alloc_etherdev: