From: Michal Schmidt <mschmidt@redhat.com> Date: Fri, 3 Sep 2010 00:18:28 -0400 Subject: [net] vxge: fix possible memory leak in device init Message-id: <20100903001827.16045.25867.stgit@localhost6.localdomain6> Patchwork-id: 28048 O-Subject: [RHEL5.6 BZ608598 PATCH 07/15] vxge: Fix a possible memory leak in vxge_hw_device_initialize(). Bugzilla: 608598 RH-Acked-by: David S. Miller <davem@redhat.com> RH-Acked-by: Bob Picco <bpicco@redhat.com> RH-Acked-by: Neil Horman <nhorman@redhat.com> From: Sreenivasa Honnur <sreenivasa.honnur@exar.com> - Fix a possible memory leak in vxge_hw_device_initialize(). Free hldev if vxge_hw_device_reg_addr_get() fails. Signed-off-by: Sreenivasa Honnur <sreenivasa.honnur@exar.com> Signed-off-by: Ramkrishna Vepa <ram.vepa@exar.com> Signed-off-by: David S. Miller <davem@davemloft.net> (cherry picked from commit aaffbd9f7734721bf42d246eb31fc79d7adb2cb9) diff --git a/drivers/net/vxge/vxge-config.c b/drivers/net/vxge/vxge-config.c index 711614e..bbef54d 100644 --- a/drivers/net/vxge/vxge-config.c +++ b/drivers/net/vxge/vxge-config.c @@ -635,8 +635,10 @@ vxge_hw_device_initialize( __vxge_hw_device_pci_e_init(hldev); status = __vxge_hw_device_reg_addr_get(hldev); - if (status != VXGE_HW_OK) + if (status != VXGE_HW_OK) { + vfree(hldev); goto exit; + } __vxge_hw_device_id_get(hldev); __vxge_hw_device_host_info_get(hldev);