[02/15] net/bnxt: fix possible segfault in case of probe failure

Message ID 20190712060622.76975-3-ajit.khaparde@broadcom.com (mailing list archive)
State Superseded, archived
Delegated to: Ferruh Yigit
Headers
Series None |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/mellanox-Performance-Testing success Performance Testing PASS
ci/intel-Performance-Testing success Performance Testing PASS
ci/Intel-compilation success Compilation OK

Commit Message

Ajit Khaparde July 12, 2019, 6:06 a.m. UTC
  From: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>

Fixed couple of possible segfaults due to NULL pointer
dereference in case of probe failure.

Fixes: c09f57b49c13 ("net/bnxt: add start/stop/link update operations")

Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
---
 drivers/net/bnxt/bnxt_irq.c  | 3 +++
 drivers/net/bnxt/bnxt_vnic.c | 3 +++
 2 files changed, 6 insertions(+)
  

Patch

diff --git a/drivers/net/bnxt/bnxt_irq.c b/drivers/net/bnxt/bnxt_irq.c
index 0bb3eb4fa..61f7498a5 100644
--- a/drivers/net/bnxt/bnxt_irq.c
+++ b/drivers/net/bnxt/bnxt_irq.c
@@ -52,6 +52,9 @@  void bnxt_free_int(struct bnxt *bp)
 {
 	struct bnxt_irq *irq;
 
+	if (bp->irq_tbl == NULL)
+		return;
+
 	irq = bp->irq_tbl;
 	if (irq) {
 		if (irq->requested) {
diff --git a/drivers/net/bnxt/bnxt_vnic.c b/drivers/net/bnxt/bnxt_vnic.c
index 262cfc18d..20e5bf2d1 100644
--- a/drivers/net/bnxt/bnxt_vnic.c
+++ b/drivers/net/bnxt/bnxt_vnic.c
@@ -89,6 +89,9 @@  void bnxt_free_vnic_attributes(struct bnxt *bp)
 	struct bnxt_vnic_info *vnic;
 	unsigned int i;
 
+	if (bp->vnic_info == NULL)
+		return;
+
 	for (i = 0; i < bp->max_vnics; i++) {
 		vnic = &bp->vnic_info[i];
 		if (vnic->rss_table) {