Thread (13 messages) 13 messages, 5 authors, 2007-06-27

Re: [PATCH v2.6.22-rc5] cxgb2: handle possible NULL pointer dereferencing, take 2

From: pradeep singh <hidden>
Date: 2007-06-21 13:18:31
Subsystem: networking drivers, the rest · Maintainers: Andrew Lunn, "David S. Miller", Eric Dumazet, Jakub Kicinski, Paolo Abeni, Linus Torvalds

Hi,
My mistake.
Resending after reformatting the patch by hand.
Looks like gmail messes the plain text patches.

Thanks

Signed-off-by: Pradeep Singh <redacted>
---
 drivers/net/chelsio/cxgb2.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/drivers/net/chelsio/cxgb2.c b/drivers/net/chelsio/cxgb2.c
index 231ce43..006c634 100644
--- a/drivers/net/chelsio/cxgb2.c
+++ b/drivers/net/chelsio/cxgb2.c
@@ -1022,6 +1022,11 @@ static int __devinit init_one(struct pci_dev *pdev,
       mmio_start = pci_resource_start(pdev, 0);
       mmio_len = pci_resource_len(pdev, 0);
       bi = t1_get_board_info(ent->driver_data);
+
+       if (!bi) {
+                CH_ERR("%s: Board info array index out of
range\n",pci_name(pdev));
+                goto out_disable_pdev;
+        }

       for (i = 0; i < bi->port_number; ++i) {
               struct net_device *netdev;

Thanks

--
On 6/21/07, pradeep singh [off-list ref] wrote:
quoted hunk ↗ jump to hunk
Hi,
This is second submission for a possible NULL dereference handling in
the Chelsio's 10G driver.

Thanks to Jens Axboe for pointing out my mistake of ignoring
subsequent dereferences in init_one routine.

Thanks

Signed-off-by: Pradeep Singh <redacted>
---
 drivers/net/chelsio/cxgb2.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/drivers/net/chelsio/cxgb2.c b/drivers/net/chelsio/cxgb2.c
index 231ce43..006c634 100644
--- a/drivers/net/chelsio/cxgb2.c
+++ b/drivers/net/chelsio/cxgb2.c
@@ -1022,6 +1022,11 @@ static int __devinit init_one(struct pci_dev *pdev,
        mmio_start = pci_resource_start(pdev, 0);
        mmio_len = pci_resource_len(pdev, 0);
        bi = t1_get_board_info(ent->driver_data);
+
+       if (!bi) {
+                CH_ERR("%s: Board info array index out of
range\n",pci_name(pdev));
+                goto out_disable_pdev;
+        }

        for (i = 0; i < bi->port_number; ++i) {
                struct net_device *netdev;
--
1.4.4.2

--
Pradeep

-- 
Pradeep
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help