path: root/mm/bootmem.c
diff options
authorBernhard Walle <>2008-06-21 19:01:02 +0200
committerLinus Torvalds <>2008-06-21 11:25:10 -0700
commit71c2742f5e6348d76ee62085cf0a13e5eff0f00e (patch)
tree44020f575319903e3ef18665baec360b6ea1c98d /mm/bootmem.c
parenta19214430d27a3af6f1672ec26f3c893ef899ede (diff)
Add return value to reserve_bootmem_node()
This patch changes the function reserve_bootmem_node() from void to int, returning -ENOMEM if the allocation fails. This fixes a build problem on x86 with CONFIG_KEXEC=y and CONFIG_NEED_MULTIPLE_NODES=y Signed-off-by: Bernhard Walle <> Reported-by: Adrian Bunk <> Signed-off-by: Linus Torvalds <>
Diffstat (limited to 'mm/bootmem.c')
1 files changed, 4 insertions, 2 deletions
diff --git a/mm/bootmem.c b/mm/bootmem.c
index e8fb927392b9..8d9f60e06f62 100644
--- a/mm/bootmem.c
+++ b/mm/bootmem.c
@@ -442,15 +442,17 @@ unsigned long __init init_bootmem_node(pg_data_t *pgdat, unsigned long freepfn,
return init_bootmem_core(pgdat, freepfn, startpfn, endpfn);
-void __init reserve_bootmem_node(pg_data_t *pgdat, unsigned long physaddr,
+int __init reserve_bootmem_node(pg_data_t *pgdat, unsigned long physaddr,
unsigned long size, int flags)
int ret;
ret = can_reserve_bootmem_core(pgdat->bdata, physaddr, size, flags);
if (ret < 0)
- return;
+ return -ENOMEM;
reserve_bootmem_core(pgdat->bdata, physaddr, size, flags);
+ return 0;
void __init free_bootmem_node(pg_data_t *pgdat, unsigned long physaddr,