Thread (24 messages) 24 messages, 2 authors, 2017-10-24
STALE3175d
Revisions (9)
  1. v1 [diff vs current]
  2. v3 [diff vs current]
  3. v4 [diff vs current]
  4. v2 current
  5. v1 [diff vs current]
  6. v2 [diff vs current]
  7. v1 [diff vs current]
  8. v2 [diff vs current]
  9. v3 [diff vs current]

[PATCH v2 08/15] net/bnxt: fix a null pointer dereference

From: Ajit Khaparde <ajit.khaparde@broadcom.com>
Date: 2017-10-24 21:20:05
Subsystem: networking drivers, the rest · Maintainers: Andrew Lunn, "David S. Miller", Eric Dumazet, Jakub Kicinski, Paolo Abeni, Linus Torvalds

Fix a potential null pointer reported by Coverity.
Coverity issue: 195001

Fixes: 5ef3b79fdfe6 ("net/bnxt: support flow filter ops")

Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
---
 drivers/net/bnxt/bnxt_ethdev.c | 4 ++++
 1 file changed, 4 insertions(+)
diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
index 15ef0b2a2..9065a12df 100644
--- a/drivers/net/bnxt/bnxt_ethdev.c
+++ b/drivers/net/bnxt/bnxt_ethdev.c
@@ -1728,10 +1728,12 @@ bnxt_match_and_validate_ether_filter(struct bnxt *bp,
 		RTE_LOG(ERR, PMD, "unsupported ether_type(0x%04x) in"
 			" ethertype filter.", efilter->ether_type);
 		*ret = -EINVAL;
+		goto exit;
 	}
 	if (efilter->queue >= bp->rx_nr_rings) {
 		RTE_LOG(ERR, PMD, "Invalid queue %d\n", efilter->queue);
 		*ret = -EINVAL;
+		goto exit;
 	}
 
 	vnic0 = STAILQ_FIRST(&bp->ff_pool[0]);
@@ -1739,6 +1741,7 @@ bnxt_match_and_validate_ether_filter(struct bnxt *bp,
 	if (vnic == NULL) {
 		RTE_LOG(ERR, PMD, "Invalid queue %d\n", efilter->queue);
 		*ret = -EINVAL;
+		goto exit;
 	}
 
 	if (efilter->flags & RTE_ETHTYPE_FLAGS_DROP) {
@@ -1767,6 +1770,7 @@ bnxt_match_and_validate_ether_filter(struct bnxt *bp,
 	if (match)
 		*ret = -EEXIST;
 
+exit:
 	return mfilter;
 }
 
-- 
2.13.5 (Apple Git-94)
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help