Re: [PATCH] net: decnet handle a failure in neigh_parms_alloc (take 2)

2007-01-25 Thread Steven Whitehouse
Hi,

On Wed, Jan 24, 2007 at 09:55:45PM -0700, Eric W. Biederman wrote:
 
 While enhancing the neighbour code to handle multiple network
 namespaces I noticed that decnet is assuming neigh_parms_alloc
 will allways succeed, which is clearly wrong.  So handle the
 failure.
 
 Signed-off-by: Eric W. Biederman [EMAIL PROTECTED]
Acked-by: Steven Whitehouse [EMAIL PROTECTED]

Also you should cc Patrick as he is now the maintainer,

Steve.


 ---
  net/decnet/dn_dev.c |   11 +--
  1 files changed, 9 insertions(+), 2 deletions(-)
 
 diff --git a/net/decnet/dn_dev.c b/net/decnet/dn_dev.c
 index 324eb47..913e25a 100644
 --- a/net/decnet/dn_dev.c
 +++ b/net/decnet/dn_dev.c
 @@ -1140,16 +1140,23 @@ struct dn_dev *dn_dev_create(struct net_device *dev, 
 int *err)
   init_timer(dn_db-timer);
  
   dn_db-uptime = jiffies;
 +
 + dn_db-neigh_parms = neigh_parms_alloc(dev, dn_neigh_table);
 + if (!dn_db-neigh_parms) {
 + dev-dn_ptr = NULL;
 + kfree(dn_db);
 + return NULL;
 + }
 +
   if (dn_db-parms.up) {
   if (dn_db-parms.up(dev)  0) {
 + neigh_parms_release(dn_neigh_table, 
 dn_db-neigh_parms);
   dev-dn_ptr = NULL;
   kfree(dn_db);
   return NULL;
   }
   }
  
 - dn_db-neigh_parms = neigh_parms_alloc(dev, dn_neigh_table);
 -
   dn_dev_sysctl_register(dev, dn_db-parms);
  
   dn_dev_set_timer(dev);
 -- 
 1.4.4.1.g278f
 
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] net: decnet handle a failure in neigh_parms_alloc (take 2)

2007-01-25 Thread David Miller
From: Steven Whitehouse [EMAIL PROTECTED]
Date: Thu, 25 Jan 2007 11:43:18 +

 Hi,
 
 On Wed, Jan 24, 2007 at 09:55:45PM -0700, Eric W. Biederman wrote:
  
  While enhancing the neighbour code to handle multiple network
  namespaces I noticed that decnet is assuming neigh_parms_alloc
  will allways succeed, which is clearly wrong.  So handle the
  failure.
  
  Signed-off-by: Eric W. Biederman [EMAIL PROTECTED]
 Acked-by: Steven Whitehouse [EMAIL PROTECTED]

Applied, thanks everyone.

 Also you should cc Patrick as he is now the maintainer,

Yep, would be a good idea in the future.
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH] net: decnet handle a failure in neigh_parms_alloc (take 2)

2007-01-24 Thread Eric W. Biederman

While enhancing the neighbour code to handle multiple network
namespaces I noticed that decnet is assuming neigh_parms_alloc
will allways succeed, which is clearly wrong.  So handle the
failure.

Signed-off-by: Eric W. Biederman [EMAIL PROTECTED]
---
 net/decnet/dn_dev.c |   11 +--
 1 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/net/decnet/dn_dev.c b/net/decnet/dn_dev.c
index 324eb47..913e25a 100644
--- a/net/decnet/dn_dev.c
+++ b/net/decnet/dn_dev.c
@@ -1140,16 +1140,23 @@ struct dn_dev *dn_dev_create(struct net_device *dev, 
int *err)
init_timer(dn_db-timer);
 
dn_db-uptime = jiffies;
+
+   dn_db-neigh_parms = neigh_parms_alloc(dev, dn_neigh_table);
+   if (!dn_db-neigh_parms) {
+   dev-dn_ptr = NULL;
+   kfree(dn_db);
+   return NULL;
+   }
+
if (dn_db-parms.up) {
if (dn_db-parms.up(dev)  0) {
+   neigh_parms_release(dn_neigh_table, 
dn_db-neigh_parms);
dev-dn_ptr = NULL;
kfree(dn_db);
return NULL;
}
}
 
-   dn_db-neigh_parms = neigh_parms_alloc(dev, dn_neigh_table);
-
dn_dev_sysctl_register(dev, dn_db-parms);
 
dn_dev_set_timer(dev);
-- 
1.4.4.1.g278f

-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html