diff --git a/drivers/base/node.c b/drivers/base/node.c index 4d588f4658c8..7b2ff66c119a 100644 --- a/drivers/base/node.c +++ b/drivers/base/node.c @@ -878,6 +878,11 @@ int __register_one_node(int nid) node_devices[nid] = node; error = register_node(node_devices[nid], nid); + if (error) { + node_devices[nid] = NULL; + kfree(node); + return error; + } /* link cpu under this node */ for_each_present_cpu(cpu) {