[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20100819185244.GD6674@bicker>
Date: Thu, 19 Aug 2010 20:52:44 +0200
From: Dan Carpenter <error27@...il.com>
To: Linux Driver <Linux-Driver@...gic.com>,
"David S. Miller" <davem@...emloft.net>,
Breno Leitao <leitao@...ux.vnet.ibm.com>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"kernel-janitors@...r.kernel.org" <kernel-janitors@...r.kernel.org>,
ron.mercer@...gic.com
Subject: [patch v2] qlge: pull NULL check ahead of dereference
There was a dereference before NULL check issue introduced in 1e213303d
"qlge: Add tx multiqueue support." I've pulled the NULL check of
"net_rsp" forward a couple lines to avoid that.
Also Ron Mercer says that the early exit should be above the index
write. ql_write_cq_idx(rx_ring);
Signed-off-by: Dan Carpenter <error27@...il.com>
---
v2: Moved the early exit ahead of the ql_write_cq_idx()
diff --git a/drivers/net/qlge/qlge_main.c b/drivers/net/qlge/qlge_main.c
index 8d63f69..c9f9754 100644
--- a/drivers/net/qlge/qlge_main.c
+++ b/drivers/net/qlge/qlge_main.c
@@ -2222,10 +2222,11 @@ static int ql_clean_outbound_rx_ring(struct rx_ring *rx_ring)
ql_update_cq(rx_ring);
prod = ql_read_sh_reg(rx_ring->prod_idx_sh_reg);
}
+ if (!net_rsp)
+ return 0;
ql_write_cq_idx(rx_ring);
tx_ring = &qdev->tx_ring[net_rsp->txq_idx];
- if (__netif_subqueue_stopped(qdev->ndev, tx_ring->wq_id) &&
- net_rsp != NULL) {
+ if (__netif_subqueue_stopped(qdev->ndev, tx_ring->wq_id)) {
if (atomic_read(&tx_ring->queue_stopped) &&
(atomic_read(&tx_ring->tx_count) > (tx_ring->wq_len / 4)))
/*
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists