Re: [patch 2/3] Add flags parameter to reserve_bootmem_generic()

From: Bernhard Walle
Date: Mon Jun 09 2008 - 12:25:18 EST


* Johannes Weiner [2008-06-09 00:01]:
>
> > /*
> > @@ -811,11 +812,11 @@ void __init reserve_bootmem_generic(unsi
> > * firmware tables:
> > */
> > if (pfn < max_pfn_mapped)
> > - return;
> > + return -EFAULT;
>
> This seemed to be `just do nothing' behaviour. Wouldn't 0 be more
> correct here? Or something else so there is a difference between the
> path that does not print a warning (the one below) and the path that
> does?

Well, I don't think that we should return success when memory
allocation fails. For kdump, I think if the memory has not been
reserved, then the function should failed, for whatever reason it
failed. Because we cannot load the crashkernel.

So IMO the code should look like

[...]
int ret;

if (pfn >= end_pfn)
return -EFAULT;

/* Should check here against the e820 map to avoid double free */
#ifdef CONFIG_NUMA
nid = phys_to_nid(phys);
[...]


Bernhard
--
Bernhard Walle, SUSE LINUX Products GmbH, Architecture Maintenance
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/