summaryrefslogtreecommitdiffstats
path: root/net/mac80211/mesh_pathtbl.c
diff options
context:
space:
mode:
authorPavel Emelyanov <xemul@openvz.org>2008-05-07 17:48:14 +0200
committerJohn W. Linville <linville@tuxdriver.com>2008-05-22 03:47:43 +0200
commit00242c40a167113688dd7ed46ec94e8a4c47f603 (patch)
tree8ac4ce2660feb8e1c4c6df90d3bae4e797a1a87f /net/mac80211/mesh_pathtbl.c
parentmac80211: Prepare mesh_table_grow to failing copy_node callback. (diff)
downloadlinux-00242c40a167113688dd7ed46ec94e8a4c47f603.tar.xz
linux-00242c40a167113688dd7ed46ec94e8a4c47f603.zip
mac80211: Report allocation failure from mesh_path_node_copy.
Now - return the -ENOMEM in case kmalloc fails. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/mesh_pathtbl.c')
-rw-r--r--net/mac80211/mesh_pathtbl.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/net/mac80211/mesh_pathtbl.c b/net/mac80211/mesh_pathtbl.c
index 512bfa112c6a..fe1ceeea07f1 100644
--- a/net/mac80211/mesh_pathtbl.c
+++ b/net/mac80211/mesh_pathtbl.c
@@ -469,9 +469,12 @@ static int mesh_path_node_copy(struct hlist_node *p, struct mesh_table *newtbl)
struct mpath_node *node, *new_node;
u32 hash_idx;
+ new_node = kmalloc(sizeof(struct mpath_node), GFP_KERNEL);
+ if (new_node == NULL)
+ return -ENOMEM;
+
node = hlist_entry(p, struct mpath_node, list);
mpath = node->mpath;
- new_node = kmalloc(sizeof(struct mpath_node), GFP_KERNEL);
new_node->mpath = mpath;
hash_idx = mesh_table_hash(mpath->dst, mpath->dev, newtbl);
hlist_add_head(&new_node->list,