Messages in this thread | | | Date | Fri, 4 Feb 2011 12:19:05 -0800 | Subject | Re: [PATCH 1/2] x86: fix panic when handling "mem={invalid}" param | From | Yinghai Lu <> |
| |
On Fri, Feb 4, 2011 at 12:09 PM, H. Peter Anvin <hpa@zytor.com> wrote: > On 02/04/2011 11:44 AM, Yinghai Lu wrote: >> On Thu, Feb 3, 2011 at 5:38 PM, Kamal Mostafa <kamal@canonical.com> wrote: >>> Avoid removing all of memory and panicing when "mem={invalid}" is >>> specified, e.g. mem=blahblah, mem=0, or mem=nopentium (on platforms >>> other than x86_32). >>> >>> BugLink: http://bugs.launchpad.net/bugs/553464 >>> Signed-off-by: Kamal Mostafa <kamal@canonical.com> >>> Cc: <stable@kernel.org> >>> --- >>> arch/x86/kernel/e820.c | 3 +++ >>> 1 files changed, 3 insertions(+), 0 deletions(-) >>> >>> diff --git a/arch/x86/kernel/e820.c b/arch/x86/kernel/e820.c >>> index 294f26d..55a59d8 100644 >>> --- a/arch/x86/kernel/e820.c >>> +++ b/arch/x86/kernel/e820.c >>> @@ -856,6 +856,9 @@ static int __init parse_memopt(char *p) >>> >>> userdef = 1; >>> mem_size = memparse(p, &p); >>> + /* don't remove all of memory when handling "mem={invalid}" param */ >>> + if (mem_size == 0) >>> + return -EINVAL; >>> e820_remove_range(mem_size, ULLONG_MAX - mem_size, E820_RAM, 1); >>> >>> return 0; >>> -- >> >> then how about some one pass mem=32M etc? >> >> or total wrongly usermap? >> > > All he looks at is when the value returned is zero. It wouldn't be zero > for any actual value, including mem=32M. >
when user pass wrong parameter like less 128M, kernel will not boot either. Do we need to sanity check for that?
Yinghai -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |