(2013/04/12 15:54), Yinghai Lu wrote: <cut> > Index: linux-2.6/kernel/kexec.c > =================================================================== > --- linux-2.6.orig/kernel/kexec.c > +++ linux-2.6/kernel/kexec.c > @@ -1368,35 +1368,114 @@ static int __init parse_crashkernel_simp > return 0; > } > > +#define SUFFIX_HIGH 0 > +#define SUFFIX_LOW 1 > +#define SUFFIX_NULL 2 > +static __initdata char *suffix_tbl[] = { > + [SUFFIX_HIGH] = ",high", > + [SUFFIX_LOW] = ",low", > + [SUFFIX_NULL] = NULL, > +}; > + > /* > - * That function is the entry point for command line parsing and should be > - * called from the arch-specific code. > + * That function parses "suffix" crashkernel command lines like > + * > + * crashkernel=size,[high|low] > + * > + * It returns 0 on success and -EINVAL on failure. > */ > +static int __init parse_crashkernel_suffix(char *cmdline, > + unsigned long long *crash_size, > + unsigned long long *crash_base, > + const char *suffix) > +{ > + char *cur = cmdline; > + > + *crash_size = memparse(cmdline, &cur); > + if (cmdline == cur) { > + pr_warn("crashkernel: memory value expected\n"); > + return -EINVAL; > + } > + > + /* check with suffix */ > + if (strncmp(cur, suffix, strlen(suffix))) { > + pr_warn("crashkernel: unrecognized char\n"); > + return -EINVAL; > + } > + cur += strlen(suffix); > + if (*cur != ' ' && *cur != '\0') { > + pr_warn("crashkernel: unrecognized char\n"); > + return -EINVAL; > + } > + > + return 0; > +}
Thanks, looks good to me. -- Thanks. HATAYAMA, Daisuke -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/