mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* Re: [PATCH] IB: check for memory allocation failure [v2]
@ 2009-01-08 14:20 Eugene Teo
  2009-01-08 15:33 ` Niels de Vos
  0 siblings, 1 reply; 2+ messages in thread
From: Eugene Teo @ 2009-01-08 14:20 UTC (permalink / raw)
  To: Niels de Vos; +Cc: linux-kernel, rolandd, sean.hefty, hal.rosenstock

[-- Attachment #1: Type: text/plain, Size: 396 bytes --]

On Thu, Jan 8, 2009 at 10:05 PM, Niels de Vos
<niels.devos@wincor-nixdorf.com> wrote:
> Hi Eugene,
>
> please see below.

Thanks for reviewing. Here's an updated patch:

Fix error-path NULL deref in c2_register_device().

Signed-off-by: Eugene Teo <eugeneteo@kernel.org>
---
 drivers/infiniband/hw/amso1100/c2_provider.c |   17 ++++++++++++-----
 1 file changed, 12 insertions(+), 5 deletions(-)

[-- Attachment #2: patch --]
[-- Type: application/octet-stream, Size: 1648 bytes --]

diff --git a/drivers/infiniband/hw/amso1100/c2_provider.c b/drivers/infiniband/hw/amso1100/c2_provider.c
index 5119d65..182e4b7 100644
--- a/drivers/infiniband/hw/amso1100/c2_provider.c
+++ b/drivers/infiniband/hw/amso1100/c2_provider.c
@@ -780,11 +780,11 @@ int c2_register_device(struct c2_dev *dev)
 	/* Register pseudo network device */
 	dev->pseudo_netdev = c2_pseudo_netdev_init(dev);
 	if (!dev->pseudo_netdev)
-		goto out3;
+		goto out4;
 
 	ret = register_netdev(dev->pseudo_netdev);
 	if (ret)
-		goto out2;
+		goto out3;
 
 	pr_debug("%s:%u\n", __func__, __LINE__);
 	strlcpy(dev->ibdev.name, "amso%d", IB_DEVICE_NAME_MAX);
@@ -851,6 +851,10 @@ int c2_register_device(struct c2_dev *dev)
 	dev->ibdev.post_recv = c2_post_receive;
 
 	dev->ibdev.iwcm = kmalloc(sizeof(*dev->ibdev.iwcm), GFP_KERNEL);
+	if (!dev->ibdev.iwcm) {
+		ret = -ENOMEM;
+		goto out2;
+	}
 	dev->ibdev.iwcm->add_ref = c2_add_ref;
 	dev->ibdev.iwcm->rem_ref = c2_rem_ref;
 	dev->ibdev.iwcm->get_qp = c2_get_qp;
@@ -870,15 +874,17 @@ int c2_register_device(struct c2_dev *dev)
 		if (ret)
 			goto out0;
 	}
-	goto out3;
+	goto out4;
 
 out0:
 	ib_unregister_device(&dev->ibdev);
 out1:
-	unregister_netdev(dev->pseudo_netdev);
+	kfree(dev->ibdev.iwcm);
 out2:
-	free_netdev(dev->pseudo_netdev);
+	unregister_netdev(dev->pseudo_netdev);
 out3:
+	free_netdev(dev->pseudo_netdev);
+out4:
 	pr_debug("%s:%u ret=%d\n", __func__, __LINE__, ret);
 	return ret;
 }
@@ -889,4 +895,5 @@ void c2_unregister_device(struct c2_dev *dev)
 	unregister_netdev(dev->pseudo_netdev);
 	free_netdev(dev->pseudo_netdev);
 	ib_unregister_device(&dev->ibdev);
+	kfree(dev->ibdev.iwcm);
 }

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH] IB: check for memory allocation failure [v2]
  2009-01-08 14:20 [PATCH] IB: check for memory allocation failure [v2] Eugene Teo
@ 2009-01-08 15:33 ` Niels de Vos
  0 siblings, 0 replies; 2+ messages in thread
From: Niels de Vos @ 2009-01-08 15:33 UTC (permalink / raw)
  To: Eugene Teo; +Cc: linux-kernel, rolandd, sean.hefty, hal.rosenstock

[-- Attachment #1: Type: text/plain, Size: 714 bytes --]

Eugene Teo wrote:
> On Thu, Jan 8, 2009 at 10:05 PM, Niels de Vos
> <niels.devos@wincor-nixdorf.com> wrote:
>> Hi Eugene,
>>
>> please see below.
> 
> Thanks for reviewing. Here's an updated patch:
> 
> Fix error-path NULL deref in c2_register_device().
> 
> Signed-off-by: Eugene Teo <eugeneteo@kernel.org>

(note: your patch was attached, not inlined...)

There is also an additional kfree() at the end of the patch. It wasn't
included in the first version you sent. Looks correct now imho.

Reviewed-by: Niels de Vos <niels.devos@wincor-nixdorf.com>


> ---
>  drivers/infiniband/hw/amso1100/c2_provider.c |   17 ++++++++++++-----
>  1 file changed, 12 insertions(+), 5 deletions(-)



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2009-01-08 15:36 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-01-08 14:20 [PATCH] IB: check for memory allocation failure [v2] Eugene Teo
2009-01-08 15:33 ` Niels de Vos

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®