Hi, David Miller <davem@xxxxxxxxxxxxx> writes: > From: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> > Date: Wed, 23 Jul 2008 20:38:36 -0700 > >> So if we're going to change it in 2.6.26, we'll need a separate patch. > > Here is the 2.6.26 version: > > bootmem: Allow zero length reserve and free. > > It's either this or all the call sites explicitly check > when such a case is possible and sometimes expected. > > Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> > > diff --git a/mm/bootmem.c b/mm/bootmem.c > index 8d9f60e..e540f7a 100644 > --- a/mm/bootmem.c > +++ b/mm/bootmem.c > @@ -153,7 +153,8 @@ static void __init reserve_bootmem_core(bootmem_data_t *bdata, > unsigned long sidx, eidx; > unsigned long i; > > - BUG_ON(!size); > + if (!size) > + return; > > /* out of range */ > if (addr + size < bdata->node_boot_start || > @@ -187,7 +188,8 @@ static void __init free_bootmem_core(bootmem_data_t *bdata, unsigned long addr, > unsigned long sidx, eidx; > unsigned long i; > > - BUG_ON(!size); > + if (!size) > + return; > > /* out range */ > if (addr + size < bdata->node_boot_start || Sorry, Dave, I missed that before: there is still the BUG_ON() in can_reserve_bootmem_core(), which should just return 0 instead. Other than that, yes, Andrew, this introduces the same behaviour the bootmem rewrite. Hannes -- To unsubscribe from this list: send the line "unsubscribe sparclinux" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html